All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - version
    - ','
    - funcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: POSTGIS_DEPRECATE
    functionSourceFile: /src/postgis/sfcgal/postgis_sfcgal_legacy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEPRECATE(version, funcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pg_install_lwgeom_handlers
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:96,1
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: _PG_init
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - pg_install_lwgeom_handlers
    - elog
    linkageType: ''
    returnType: void
    signature: void _PG_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: _PG_fini
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void _PG_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:114,1
    - Dst: sfcgal_set_error_handlers
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:115,1
    - Dst: sfcgal_set_alloc_handlers
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: sfcgal_postgis_init
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_set_alloc_handlers
    - sfcgal_set_error_handlers
    - sfcgal_init
    linkageType: ''
    returnType: void
    signature: void sfcgal_postgis_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:127,1
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:130,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:132,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pglwgeom
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: POSTGIS2SFCGALGeometry
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - lwgeom_from_gserialized
    - lwgeom_free
    - LWGEOM2SFCGAL
    linkageType: ''
    returnType: sfcgal_geometry_t
    signature: 'sfcgal_geometry_t *

      POSTGIS2SFCGALGeometry(GSERIALIZED *pglwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:143,1
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:146,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:150,1
    - Dst: sfcgal_prepared_geometry_create_from_geometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:152,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pglwgeom
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: POSTGIS2SFCGALPreparedGeometry
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_get_srid
    - LWGEOM2SFCGAL
    - lwpgerror
    - lwgeom_from_gserialized
    - sfcgal_prepared_geometry_create_from_geometry
    linkageType: ''
    returnType: sfcgal_prepared_geometry_t
    signature: 'sfcgal_prepared_geometry_t *

      POSTGIS2SFCGALPreparedGeometry(GSERIALIZED *pglwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:160,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:162,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:163,1
    - Dst: geometry_serialize
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:165,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - geom
    - force3D
    - SRID
    argTypes:
    - sfcgal_geometry_t*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: SFCGALGeometry2POSTGIS
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - SFCGAL2LWGEOM
    - lwgeom_add_bbox
    - lwgeom_needs_bbox
    linkageType: ''
    returnType: GSERIALIZED
    signature: 'GSERIALIZED *

      SFCGALGeometry2POSTGIS(const sfcgal_geometry_t *geom, int force3D, int32_t SRID)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:175,1
    - Dst: sfcgal_prepared_geometry_geometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:176,1
    - Dst: sfcgal_prepared_geometry_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - force3D
    argTypes:
    - sfcgal_prepared_geometry_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: SFCGALPreparedGeometry2POSTGIS
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - SFCGALGeometry2POSTGIS
    - sfcgal_prepared_geometry_geometry
    - sfcgal_prepared_geometry_srid
    linkageType: ''
    returnType: GSERIALIZED
    signature: 'GSERIALIZED *

      SFCGALPreparedGeometry2POSTGIS(const sfcgal_prepared_geometry_t *geom, int force3D)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:186,1
    - Dst: text_to_cstring
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:187,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:189,1
    - Dst: sfcgal_io_read_ewkt
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:191,1
    - Dst: strlen
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:191,1
    - Dst: SFCGALPreparedGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:193,1
    - Dst: sfcgal_prepared_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:194,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: sfcgal_from_ewkt
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - SFCGALPreparedGeometry2POSTGIS
    - sfcgal_prepared_geometry_delete
    - text_to_cstring
    - strlen
    - PG_GETARG_TEXT_P
    - sfcgal_io_read_ewkt
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_from_ewkt(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:206,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:208,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:209,1
    - Dst: sfcgal_geometry_area
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:211,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:212,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:214,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: sfcgal_area
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - PG_FREE_IF_COPY
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - sfcgal_geometry_area
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_area(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:227,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:229,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:230,1
    - Dst: sfcgal_geometry_area_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:232,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:233,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:235,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: sfcgal_area3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_area_3d
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_area3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:248,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:250,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:251,1
    - Dst: sfcgal_geometry_is_planar
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:253,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:254,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:256,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: sfcgal_is_planar
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - sfcgal_geometry_is_planar
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_is_planar(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:269,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:271,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:272,1
    - Dst: sfcgal_geometry_orientation
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:274,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:275,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:277,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 280
    functionName: sfcgal_orientation
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_orientation
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_orientation(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:290,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:292,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:293,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:294,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:295,1
    - Dst: sfcgal_geometry_triangulate_2dz
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:297,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:298,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:300,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:301,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 304
    functionName: sfcgal_triangulate
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_triangulate_2dz
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_triangulate(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:315,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:317,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:318,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:319,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:320,1
    - Dst: sfcgal_geometry_tesselate
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:322,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:323,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:325,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:326,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: sfcgal_tesselate
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_geometry_tesselate
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_tesselate(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:340,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:342,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:343,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:344,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:345,1
    - Dst: sfcgal_geometry_triangulate_2dz
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:347,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:348,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:350,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:351,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 354
    functionName: sfcgal_constrained_delaunay_triangles
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_triangulate_2dz
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_constrained_delaunay_triangles(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:365,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:367,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:368,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:369,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:370,1
    - Dst: sfcgal_geometry_force_lhr
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:372,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:373,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:375,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:376,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 379
    functionName: sfcgal_force_lhr
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_force_lhr
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_force_lhr(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:391,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:393,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:394,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:395,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:396,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:398,1
    - Dst: lwpgnotice
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:401,1
    - Dst: sfcgal_geometry_straight_skeleton_distance_in_m
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:413,1
    - Dst: sfcgal_geometry_straight_skeleton
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:417,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:420,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:422,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:423,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 426
    functionName: sfcgal_straight_skeleton
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_geometry_straight_skeleton_distance_in_m
    - sfcgal_geometry_straight_skeleton
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_BOOL
    - PG_GETARG_GSERIALIZED_P
    - lwpgnotice
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_straight_skeleton(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:437,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:439,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:440,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:441,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:442,1
    - Dst: sfcgal_geometry_approximate_medial_axis
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:444,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:445,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:447,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:448,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: sfcgal_approximate_medial_axis
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_geometry_approximate_medial_axis
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_approximate_medial_axis(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:461,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:463,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:464,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:465,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:466,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:467,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:468,1
    - Dst: sfcgal_geometry_intersects
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:470,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:471,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:472,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: sfcgal_intersects
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_BOOL
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_intersects
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_intersects(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:485,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:487,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:488,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:489,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:490,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:491,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:492,1
    - Dst: sfcgal_geometry_intersects_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:494,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:495,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:496,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 499
    functionName: sfcgal_intersects3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - sfcgal_geometry_intersects_3d
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_intersects3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:510,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:512,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:513,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:514,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:515,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:516,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:517,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:518,1
    - Dst: sfcgal_geometry_intersection
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:520,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:521,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:522,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:524,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:525,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 528
    functionName: sfcgal_intersection
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_intersection
    - gserialized_get_srid
    - sfcgal_geometry_delete
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_intersection(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:539,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:541,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:542,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:543,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:544,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:545,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:546,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:547,1
    - Dst: sfcgal_geometry_intersection_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:549,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:550,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:551,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:553,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:554,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 557
    functionName: sfcgal_intersection3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - sfcgal_geometry_intersection_3d
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_intersection3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:566,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:568,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:569,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:570,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:571,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:572,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:573,1
    - Dst: sfcgal_geometry_distance
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:575,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:576,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:577,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 580
    functionName: sfcgal_distance
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_distance
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_distance(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:590,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:592,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:593,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:594,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:595,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:596,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:597,1
    - Dst: sfcgal_geometry_distance_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:599,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:600,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:601,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 604
    functionName: sfcgal_distance3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_FLOAT8
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_distance_3d
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_distance3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:615,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:617,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:617,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:618,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:619,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:619,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:620,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:621,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:622,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:623,1
    - Dst: sfcgal_geometry_difference
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:625,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:626,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:627,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:629,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:630,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 633
    functionName: sfcgal_difference
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - PG_DETOAST_DATUM
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_DATUM
    - sfcgal_geometry_difference
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_difference(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:644,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:646,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:646,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:647,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:648,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:648,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:649,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:650,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:651,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:652,1
    - Dst: sfcgal_geometry_difference_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:654,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:655,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:656,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:658,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:659,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 662
    functionName: sfcgal_difference3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - PG_DETOAST_DATUM
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_difference_3d
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_difference3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:673,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:675,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:675,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:676,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:677,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:677,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:678,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:679,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:680,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:681,1
    - Dst: sfcgal_geometry_union
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:683,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:684,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:685,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:687,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:688,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 691
    functionName: sfcgal_union
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - PG_DETOAST_DATUM
    - sfcgal_geometry_union
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_union(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:702,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:704,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:704,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:705,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:706,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:706,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:707,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:708,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:709,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:710,1
    - Dst: sfcgal_geometry_union_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:712,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:713,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:714,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:716,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:717,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 720
    functionName: sfcgal_union3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - PG_DETOAST_DATUM
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_union_3d
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_union3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:730,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:732,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:732,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:733,1
    - Dst: sfcgal_geometry_volume
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:735,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:736,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:738,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 741
    functionName: sfcgal_volume
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - PG_DETOAST_DATUM
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_volume
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_volume(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:752,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:754,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:755,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:756,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:757,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:758,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:759,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:760,1
    - Dst: sfcgal_geometry_minkowski_sum
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:762,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:763,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:764,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:766,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:767,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 770
    functionName: sfcgal_minkowski_sum
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_minkowski_sum
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_minkowski_sum(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:782,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:784,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:785,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:787,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:788,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:790,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:791,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:792,1
    - Dst: sfcgal_geometry_extrude
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:794,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:795,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:797,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:798,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 801
    functionName: sfcgal_extrude
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - sfcgal_geometry_extrude
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_extrude(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_sfcgal_version
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:807,1
    - Dst: cstring_to_text
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:808,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: postgis_sfcgal_version
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - lwgeom_sfcgal_version
    - cstring_to_text
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_sfcgal_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_sfcgal_full_version
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:817,1
    - Dst: cstring_to_text
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:818,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: postgis_sfcgal_full_version
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_POINTER
    - cstring_to_text
    - lwgeom_sfcgal_full_version
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_sfcgal_full_version(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:828,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:829,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:830,1
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:832,1
    - Dst: lwgeom_is_solid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:834,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:836,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 839
    functionName: sfcgal_is_solid
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_solid
    - elog
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_is_solid(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:846,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:847,1
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:849,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:851,1
    - Dst: geometry_serialize
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:853,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:854,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:855,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 857
    functionName: sfcgal_make_solid
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - elog
    - PG_GETARG_GSERIALIZED_P
    - FLAGS_SET_SOLID
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_make_solid(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:866,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:868,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:869,1
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:871,1
    - Dst: lwgeom_sfcgal_noop
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:873,1
    - Dst: lwgeom_free
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:874,1
    - Dst: elog
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:876,1
    - Dst: geometry_serialize
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:878,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:879,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 881
    functionName: postgis_sfcgal_noop
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - geometry_serialize
    - lwgeom_free
    - lwgeom_sfcgal_noop
    - lwgeom_from_gserialized
    - elog
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_sfcgal_noop(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:892,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:894,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:895,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:896,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:897,1
    - Dst: sfcgal_geometry_convexhull_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:899,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:900,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:902,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:903,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 906
    functionName: sfcgal_convexhull3D
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_convexhull_3d
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_convexhull3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:913,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:918,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:927,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:929,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:930,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:931,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:932,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:934,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:935,1
    - Dst: sfcgal_geometry_alpha_shapes
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:936,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:937,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:939,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:940,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 944
    functionName: sfcgal_alphashape
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_alpha_shapes
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_alphashape(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:951,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:956,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:965,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:967,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:968,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:969,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:970,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:972,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:973,1
    - Dst: sfcgal_geometry_optimal_alpha_shapes
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:974,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:975,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:977,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:978,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 982
    functionName: sfcgal_optimalalphashape
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_BOOL
    - sfcgal_geometry_optimal_alpha_shapes
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_optimalalphashape(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:989,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:994,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1001,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1003,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1004,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1005,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1006,1
    - Dst: sfcgal_y_monotone_partition_2
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1008,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1009,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1011,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1012,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1016
    functionName: sfcgal_ymonotonepartition
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_y_monotone_partition_2
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_ymonotonepartition(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1023,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1028,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1035,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1037,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1038,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1039,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1040,1
    - Dst: sfcgal_approx_convex_partition_2
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1042,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1043,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1045,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1046,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1050
    functionName: sfcgal_approxconvexpartition
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_approx_convex_partition_2
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_approxconvexpartition(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1057,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1062,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1069,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1071,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1072,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1073,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1074,1
    - Dst: sfcgal_greene_approx_convex_partition_2
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1076,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1077,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1079,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1080,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1084
    functionName: sfcgal_greeneapproxconvexpartition
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - sfcgal_greene_approx_convex_partition_2
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_greeneapproxconvexpartition(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1091,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1096,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1103,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1105,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1106,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1107,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1108,1
    - Dst: sfcgal_optimal_convex_partition_2
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1110,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1111,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1113,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1114,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1087
    functionDepth: 2
    functionLinenumber: 1087
    functionLinenumberEnd: 1118
    functionName: sfcgal_optimalconvexpartition
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_optimal_convex_partition_2
    - gserialized_get_srid
    - sfcgal_geometry_delete
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_optimalconvexpartition(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1125,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1130,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1138,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1140,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1141,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1142,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1143,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1145,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1146,1
    - Dst: sfcgal_geometry_extrude_straight_skeleton
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1149,1
    - Dst: sfcgal_geometry_extrude_polygon_straight_skeleton
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1153,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1155,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1157,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1158,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1162
    functionName: sfcgal_extrudestraightskeleton
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - sfcgal_geometry_extrude_polygon_straight_skeleton
    - sfcgal_geometry_extrude_straight_skeleton
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_extrudestraightskeleton(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1169,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1174,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1181,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1183,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1184,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1185,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1186,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1187,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1188,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1189,1
    - Dst: sfcgal_geometry_visibility_point
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1191,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1192,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1193,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1195,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1196,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1200
    functionName: sfcgal_visibility_point
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - sfcgal_geometry_visibility_point
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_visibility_point(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1207,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1212,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1219,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1221,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1222,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1223,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1224,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1225,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1226,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1227,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1228,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1229,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1230,1
    - Dst: sfcgal_geometry_visibility_segment
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1232,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1233,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1234,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1235,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1237,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1238,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1242
    functionName: sfcgal_visibility_segment
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_geometry_visibility_segment
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_visibility_segment(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1249,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1253,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1260,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1262,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1263,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1264,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1266,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1267,1
    - Dst: sfcgal_geometry_rotate
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1269,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1270,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1272,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1273,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1277
    functionName: sfcgal_rotate
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_rotate
    - gserialized_get_srid
    - sfcgal_geometry_delete
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1284,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1288,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1295,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1297,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1298,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1299,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1300,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1301,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1303,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1304,1
    - Dst: sfcgal_geometry_rotate_2d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1306,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1307,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1309,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1310,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1314
    functionName: sfcgal_rotate_2d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - sfcgal_geometry_rotate_2d
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1321,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1325,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1332,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1334,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1335,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1336,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1337,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1338,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1339,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1341,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1342,1
    - Dst: sfcgal_geometry_rotate_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1344,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1345,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1347,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1348,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1352
    functionName: sfcgal_rotate_3d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - sfcgal_geometry_rotate_3d
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1359,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1363,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1370,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1372,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1373,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1374,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1376,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1377,1
    - Dst: sfcgal_geometry_rotate_x
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1379,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1380,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1382,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1383,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1387
    functionName: sfcgal_rotate_x
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - sfcgal_geometry_rotate_x
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate_x(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1394,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1398,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1405,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1407,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1408,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1409,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1411,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1412,1
    - Dst: sfcgal_geometry_rotate_y
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1414,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1415,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1417,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1418,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1422
    functionName: sfcgal_rotate_y
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - sfcgal_geometry_rotate_y
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate_y(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1429,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1433,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1440,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1442,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1443,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1444,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1446,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1447,1
    - Dst: sfcgal_geometry_rotate_z
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1449,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1450,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1452,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1453,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1457
    functionName: sfcgal_rotate_z
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_rotate_z
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_rotate_z(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1464,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1468,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1475,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1477,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1478,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1479,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1481,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1482,1
    - Dst: sfcgal_geometry_scale
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1484,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1485,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1487,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1488,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1460
    functionDepth: 2
    functionLinenumber: 1460
    functionLinenumberEnd: 1492
    functionName: sfcgal_scale
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - sfcgal_geometry_scale
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_scale(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1499,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1503,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1510,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1512,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1513,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1514,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1515,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1516,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1518,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1519,1
    - Dst: sfcgal_geometry_scale_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1521,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1522,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1524,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1525,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1529
    functionName: sfcgal_scale_3d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_scale_3d
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_scale_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1536,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1540,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1547,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1549,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1550,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1551,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1552,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1553,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1554,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1555,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1556,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1558,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1559,1
    - Dst: sfcgal_geometry_scale_3d_around_center
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1561,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1562,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1564,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1565,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1569
    functionName: sfcgal_scale_3d_around_center
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - sfcgal_geometry_scale_3d_around_center
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_scale_3d_around_center(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1576,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1580,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1587,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1589,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1590,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1591,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1592,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1594,1
    - Dst: sfcgal_geometry_translate_2d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1596,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1597,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1599,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1600,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1602,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1572
    functionDepth: 2
    functionLinenumber: 1572
    functionLinenumberEnd: 1606
    functionName: sfcgal_translate_2d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_translate_2d
    - PG_GETARG_GSERIALIZED_P_COPY
    - gserialized_get_srid
    - sfcgal_geometry_delete
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_RETURN_NULL
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_translate_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1613,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1617,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1624,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1626,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1627,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1628,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1629,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1630,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1632,1
    - Dst: sfcgal_geometry_translate_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1634,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1635,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1637,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1638,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1640,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1644
    functionName: sfcgal_translate_3d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - PG_GETARG_GSERIALIZED_P_COPY
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_translate_3d
    - PG_RETURN_NULL
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_translate_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1651,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1655,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1662,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1664,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1665,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1666,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1668,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1669,1
    - Dst: sfcgal_geometry_straight_skeleton_partition
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1671,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1672,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1674,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1675,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1679
    functionName: sfcgal_straight_skeleton_partition
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - sfcgal_geometry_straight_skeleton_partition
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_straight_skeleton_partition(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1686,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1690,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1700,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1702,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1703,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1704,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1705,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1706,1
    - Dst: ereport
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1709,1
    - Dst: errmsg
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1709,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1713,1
    - Dst: sfcgal_polyhedral_surface_create
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1715,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1720,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1721,1
    - Dst: sfcgal_geometry_buffer3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1722,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1723,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1726,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1727,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1682
    functionDepth: 2
    functionLinenumber: 1682
    functionLinenumberEnd: 1730
    functionName: sfcgal_buffer3d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_buffer3d
    - gserialized_get_srid
    - ereport
    - sfcgal_geometry_delete
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_polyhedral_surface_create
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - errmsg
    - PG_GETARG_INT32
    - gserialized_is_empty
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_buffer3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1737,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1741,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1749,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1751,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1752,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1753,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1754,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1756,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1757,1
    - Dst: sfcgal_geometry_simplify
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1759,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1760,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1762,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1763,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1767
    functionName: sfcgal_simplify
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_geometry_simplify
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_simplify(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1774,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1778,1
    - Dst: sfcgal_postgis_init
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1786,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1788,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1789,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1790,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1791,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1793,1
    - Dst: sfcgal_polyhedral_surface_create
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1795,1
    - Dst: POSTGIS2SFCGALGeometry
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1800,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1801,1
    - Dst: sfcgal_geometry_alpha_wrapping_3d
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1802,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1803,1
    - Dst: SFCGALGeometry2POSTGIS
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1806,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1807,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/sfcgal/lwgeom_sfcgal.c:1808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1770
    functionDepth: 2
    functionLinenumber: 1770
    functionLinenumberEnd: 1810
    functionName: sfcgal_alphawrapping_3d
    functionSourceFile: /src/postgis/sfcgal/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_postgis_init
    - sfcgal_geometry_delete
    - gserialized_get_srid
    - SFCGALGeometry2POSTGIS
    - sfcgal_geometry_alpha_wrapping_3d
    - lwpgerror
    - POSTGIS2SFCGALGeometry
    - sfcgal_polyhedral_surface_create
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_is_empty
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum sfcgal_alphawrapping_3d(PG_FUNCTION_ARGS)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/postgis/doc/html/images/styles.c:31,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/styles.c:33,1
    - Dst: fgets
      Src: /src/postgis/doc/html/images/styles.c:37,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:42,1
    - Dst: fgets
      Src: /src/postgis/doc/html/images/styles.c:56,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:57,1
    - Dst: strchr
      Src: /src/postgis/doc/html/images/styles.c:62,1
    - Dst: trim
      Src: /src/postgis/doc/html/images/styles.c:64,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:66,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:68,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:70,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:71,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:73,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:75,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:77,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:78,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:80,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:82,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:84,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:85,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:87,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:89,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:90,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:92,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:94,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:95,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:97,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:99,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:100,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:102,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:104,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/styles.c:106,1
    - Dst: atoi
      Src: /src/postgis/doc/html/images/styles.c:108,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:109,1
    - Dst: fgets
      Src: /src/postgis/doc/html/images/styles.c:112,1
    - Dst: addStyle
      Src: /src/postgis/doc/html/images/styles.c:114,1
    - Dst: fgets
      Src: /src/postgis/doc/html/images/styles.c:118,1
    - Dst: fclose
      Src: /src/postgis/doc/html/images/styles.c:120,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - filename
    - headRef
    argTypes:
    - char*
    - LAYERSTYLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 121
    functionName: getStyles
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 0
    functionsReached:
    - fgets
    - addStyle
    - perror
    - free
    - fclose
    - strncmp
    - atoi
    - fopen
    - strchr
    - trim
    linkageType: ''
    returnType: void
    signature: void getStyles( const char *filename, LAYERSTYLE **headRef )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:133,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:134,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:135,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:136,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:137,1
    - Dst: free
      Src: /src/postgis/doc/html/images/styles.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - headRef
    argTypes:
    - LAYERSTYLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: freeStyles
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeStyles( LAYERSTYLE **headRef )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/doc/html/images/styles.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 12
    argNames:
    - headRef
    - styleName
    - pointSize
    - pointColor
    - lineWidth
    - lineColor
    - lineStartSize
    - lineEndSize
    - lineArrowSize
    - polygonFillColor
    - polygonStrokeColor
    - polygonStrokeWidth
    argTypes:
    - LAYERSTYLE**
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - int
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: addStyle
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: "void addStyle(\n    LAYERSTYLE **headRef,\n    char* styleName,\n
      \   int pointSize, char* pointColor,\n    int lineWidth, char* lineColor,\n\tint
      lineStartSize, int lineEndSize, int lineArrowSize,\n    char* polygonFillColor,
      char* polygonStrokeColor, int polygonStrokeWidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - head
    argTypes:
    - LAYERSTYLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: length
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int length( LAYERSTYLE *head )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/doc/html/images/styles.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - headRef
    - styleName
    argTypes:
    - LAYERSTYLE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: getStyle
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: LAYERSTYLE
    signature: 'LAYERSTYLE *

      getStyle( LAYERSTYLE *headRef, char* styleName )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/doc/html/images/styles.c:207,1
    - Dst: isspace
      Src: /src/postgis/doc/html/images/styles.c:208,1
    - Dst: isspace
      Src: /src/postgis/doc/html/images/styles.c:209,1
    - Dst: malloc
      Src: /src/postgis/doc/html/images/styles.c:211,1
    - Dst: strncpy
      Src: /src/postgis/doc/html/images/styles.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: trim
    functionSourceFile: /src/postgis/doc/html/images/styles.c
    functionUses: 1
    functionsReached:
    - malloc
    - strchr
    - isspace
    - strncpy
    linkageType: ''
    returnType: char
    signature: 'char *

      trim(char* str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GEOMETRY_DRAW_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: initializeGeometryDrawContext
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initializeGeometryDrawContext(GEOMETRY_DRAW_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/postgis/doc/html/images/generator.c:86,1
    - Dst: WEXITSTATUS
      Src: /src/postgis/doc/html/images/generator.c:87,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:88,1
    - Dst: WEXITSTATUS
      Src: /src/postgis/doc/html/images/generator.c:88,1
    - Dst: exit
      Src: /src/postgis/doc/html/images/generator.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: checked_system
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    - WEXITSTATUS
    - system
    - exit
    linkageType: ''
    returnType: void
    signature: void checked_system(const char* cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/postgis/doc/html/images/generator.c:97,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/generator.c:102,1
    - Dst: exit
      Src: /src/postgis/doc/html/images/generator.c:103,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:106,1
    - Dst: malloc
      Src: /src/postgis/doc/html/images/generator.c:107,1
    - Dst: readdir
      Src: /src/postgis/doc/html/images/generator.c:109,1
    - Dst: strcmp
      Src: /src/postgis/doc/html/images/generator.c:110,1
    - Dst: strcmp
      Src: /src/postgis/doc/html/images/generator.c:111,1
    - Dst: snprintf
      Src: /src/postgis/doc/html/images/generator.c:112,1
    - Dst: remove
      Src: /src/postgis/doc/html/images/generator.c:113,1
    - Dst: closedir
      Src: /src/postgis/doc/html/images/generator.c:116,1
    - Dst: rmdir
      Src: /src/postgis/doc/html/images/generator.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: cleanupTempDir
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - malloc
    - strcmp
    - rmdir
    - remove
    - snprintf
    - readdir
    - perror
    - strlen
    - exit
    - opendir
    - closedir
    linkageType: ''
    returnType: void
    signature: void cleanupTempDir(const char *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/doc/html/images/generator.c:139,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:141,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:142,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:144,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - output
    - pa
    argTypes:
    - FILE*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: pointarrayToFile
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - fprintf
    - getPoint2d_p
    linkageType: ''
    returnType: size_t
    signature: size_t pointarrayToFile(FILE *output, POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/doc/html/images/generator.c:170,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:172,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:173,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:174,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:176,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:177,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - output
    - pa
    - index
    - size
    - color
    argTypes:
    - char*
    - POINTARRAY*
    - unsigned int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: drawPointSymbol
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - getPoint2d_p
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t drawPointSymbol(char *output, POINTARRAY *pa, unsigned int index,
      int size, char* color)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/doc/html/images/generator.c:205,1
    - Dst: getPoint2d_p
      Src: /src/postgis/doc/html/images/generator.c:207,1
    - Dst: sqrt
      Src: /src/postgis/doc/html/images/generator.c:211,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:224,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:225,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:226,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:227,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:228,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:229,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:232,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - output
    - pa
    - size
    - strokeWidth
    - color
    argTypes:
    - char*
    - POINTARRAY*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 236
    functionName: drawLineArrow
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - sqrt
    - getPoint2d_p
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t drawLineArrow(char *output, POINTARRAY *pa, int size, int strokeWidth,
      char* color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/doc/html/images/generator.c:257,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:259,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:260,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/doc/html/images/generator.c:260,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:262,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:263,1
    - Dst: lwprint_double
      Src: /src/postgis/doc/html/images/generator.c:264,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:266,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:267,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - output
    - lwp
    - ctx
    argTypes:
    - char*
    - LWPOINT*
    - GEOMETRY_DRAW_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: drawPoint
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - getPoint2d_p
    - lwgeom_to_ewkt
    - LWDEBUGF
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t drawPoint(char *output, LWPOINT *lwp, GEOMETRY_DRAW_CONTEXT
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:290,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:291,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/doc/html/images/generator.c:291,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:293,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:295,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:297,1
    - Dst: fopen
      Src: /src/postgis/doc/html/images/generator.c:298,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/generator.c:300,1
    - Dst: exit
      Src: /src/postgis/doc/html/images/generator.c:301,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:303,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:305,1
    - Dst: pointarrayToFile
      Src: /src/postgis/doc/html/images/generator.c:306,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:307,1
    - Dst: fclose
      Src: /src/postgis/doc/html/images/generator.c:309,1
    - Dst: drawPointSymbol
      Src: /src/postgis/doc/html/images/generator.c:311,1
    - Dst: drawPointSymbol
      Src: /src/postgis/doc/html/images/generator.c:312,1
    - Dst: drawLineArrow
      Src: /src/postgis/doc/html/images/generator.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - output
    - lwl
    - ctx
    argTypes:
    - char*
    - LWLINE*
    - GEOMETRY_DRAW_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 316
    functionName: drawLineString
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - drawLineArrow
    - drawPointSymbol
    - perror
    - fprintf
    - fclose
    - pointarrayToFile
    - lwgeom_to_ewkt
    - exit
    - fopen
    - LWDEBUGF
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t drawLineString(char *output, LWLINE *lwl, GEOMETRY_DRAW_CONTEXT
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:336,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:337,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/doc/html/images/generator.c:337,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:339,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:341,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:343,1
    - Dst: fopen
      Src: /src/postgis/doc/html/images/generator.c:344,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/generator.c:346,1
    - Dst: exit
      Src: /src/postgis/doc/html/images/generator.c:347,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:349,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:351,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:354,1
    - Dst: pointarrayToFile
      Src: /src/postgis/doc/html/images/generator.c:355,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:356,1
    - Dst: fprintf
      Src: /src/postgis/doc/html/images/generator.c:358,1
    - Dst: fclose
      Src: /src/postgis/doc/html/images/generator.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - output
    - lwp
    - ctx
    argTypes:
    - char*
    - LWPOLY*
    - GEOMETRY_DRAW_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 363
    functionName: drawPolygon
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - perror
    - fprintf
    - fclose
    - pointarrayToFile
    - lwgeom_to_ewkt
    - exit
    - fopen
    - LWDEBUGF
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t drawPolygon(char *output, LWPOLY *lwp, GEOMETRY_DRAW_CONTEXT
      *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: drawPoint
      Src: /src/postgis/doc/html/images/generator.c:385,1
    - Dst: drawLineString
      Src: /src/postgis/doc/html/images/generator.c:388,1
    - Dst: drawPolygon
      Src: /src/postgis/doc/html/images/generator.c:391,1
    - Dst: drawGeometry
      Src: /src/postgis/doc/html/images/generator.c:399,1
    - Dst: lwcollection_getsubgeom
      Src: /src/postgis/doc/html/images/generator.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - output
    - lwgeom
    - ctx
    argTypes:
    - char*
    - LWGEOM*
    - GEOMETRY_DRAW_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: drawGeometry
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 1
    functionsReached:
    - drawPoint
    - drawGeometry
    - lwcollection_getsubgeom
    - drawLineString
    - drawPolygon
    linkageType: ''
    returnType: size_t
    signature: size_t drawGeometry(char *output, const LWGEOM *lwgeom, GEOMETRY_DRAW_CONTEXT
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/doc/html/images/generator.c:417,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:417,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:418,1
    - Dst: puts
      Src: /src/postgis/doc/html/images/generator.c:420,1
    - Dst: checked_system
      Src: /src/postgis/doc/html/images/generator.c:422,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: optimizeImage
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - strlen
    - puts
    - checked_system
    - sprintf
    linkageType: ''
    returnType: void
    signature: void optimizeImage(char* filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/doc/html/images/generator.c:432,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:432,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:432,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:433,1
    - Dst: puts
      Src: /src/postgis/doc/html/images/generator.c:435,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:438,1
    - Dst: checked_system
      Src: /src/postgis/doc/html/images/generator.c:439,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 441
    functionName: flattenLayers
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - strlen
    - puts
    - LWDEBUGF
    - checked_system
    - sprintf
    linkageType: ''
    returnType: void
    signature: void flattenLayers(char* filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/postgis/doc/html/images/generator.c:448,1
    - Dst: strdup
      Src: /src/postgis/doc/html/images/generator.c:451,1
    - Dst: malloc
      Src: /src/postgis/doc/html/images/generator.c:456,1
    - Dst: strncpy
      Src: /src/postgis/doc/html/images/generator.c:457,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - styleName
    - line
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 462
    functionName: getStyleName
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - strncpy
    - strrchr
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int getStyleName(char **styleName, const char* line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/generator.c:469,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/generator.c:470,1
    - Dst: strncmp
      Src: /src/postgis/doc/html/images/generator.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: parseOptions
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int parseOptions(int argc, const char* argv[] )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parseOptions
      Src: /src/postgis/doc/html/images/generator.c:498,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:499,1
    - Dst: lwerror
      Src: /src/postgis/doc/html/images/generator.c:501,1
    - Dst: fopen
      Src: /src/postgis/doc/html/images/generator.c:507,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/generator.c:509,1
    - Dst: rindex
      Src: /src/postgis/doc/html/images/generator.c:514,1
    - Dst: malloc
      Src: /src/postgis/doc/html/images/generator.c:518,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:518,1
    - Dst: memcpy
      Src: /src/postgis/doc/html/images/generator.c:520,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:521,1
    - Dst: strdup
      Src: /src/postgis/doc/html/images/generator.c:525,1
    - Dst: printf
      Src: /src/postgis/doc/html/images/generator.c:527,1
    - Dst: getStyles
      Src: /src/postgis/doc/html/images/generator.c:528,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:529,1
    - Dst: strdup
      Src: /src/postgis/doc/html/images/generator.c:533,1
    - Dst: strdup
      Src: /src/postgis/doc/html/images/generator.c:537,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:538,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:538,1
    - Dst: mkdtemp
      Src: /src/postgis/doc/html/images/generator.c:541,1
    - Dst: perror
      Src: /src/postgis/doc/html/images/generator.c:543,1
    - Dst: exit
      Src: /src/postgis/doc/html/images/generator.c:544,1
    - Dst: printf
      Src: /src/postgis/doc/html/images/generator.c:547,1
    - Dst: fgets
      Src: /src/postgis/doc/html/images/generator.c:550,1
    - Dst: isspace
      Src: /src/postgis/doc/html/images/generator.c:550,1
    - Dst: initializeGeometryDrawContext
      Src: /src/postgis/doc/html/images/generator.c:558,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:561,1
    - Dst: getStyleName
      Src: /src/postgis/doc/html/images/generator.c:563,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:564,1
    - Dst: printf
      Src: /src/postgis/doc/html/images/generator.c:568,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/doc/html/images/generator.c:569,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/doc/html/images/generator.c:572,1
    - Dst: strlen
      Src: /src/postgis/doc/html/images/generator.c:572,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:574,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/doc/html/images/generator.c:574,1
    - Dst: getStyle
      Src: /src/postgis/doc/html/images/generator.c:576,1
    - Dst: lwerror
      Src: /src/postgis/doc/html/images/generator.c:578,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:579,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:582,1
    - Dst: drawGeometry
      Src: /src/postgis/doc/html/images/generator.c:584,1
    - Dst: sprintf
      Src: /src/postgis/doc/html/images/generator.c:586,1
    - Dst: lwgeom_free
      Src: /src/postgis/doc/html/images/generator.c:588,1
    - Dst: LWDEBUGF
      Src: /src/postgis/doc/html/images/generator.c:590,1
    - Dst: puts
      Src: /src/postgis/doc/html/images/generator.c:592,1
    - Dst: checked_system
      Src: /src/postgis/doc/html/images/generator.c:594,1
    - Dst: flattenLayers
      Src: /src/postgis/doc/html/images/generator.c:599,1
    - Dst: optimizeImage
      Src: /src/postgis/doc/html/images/generator.c:600,1
    - Dst: fclose
      Src: /src/postgis/doc/html/images/generator.c:602,1
    - Dst: free
      Src: /src/postgis/doc/html/images/generator.c:603,1
    - Dst: freeStyles
      Src: /src/postgis/doc/html/images/generator.c:604,1
    - Dst: cleanupTempDir
      Src: /src/postgis/doc/html/images/generator.c:606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 609
    functionName: main
    functionSourceFile: /src/postgis/doc/html/images/generator.c
    functionUses: 0
    functionsReached:
    - fgets
    - lwgeom_free
    - printf
    - flattenLayers
    - optimizeImage
    - lwgeom_to_ewkt
    - getStyleName
    - puts
    - sprintf
    - initializeGeometryDrawContext
    - rindex
    - strdup
    - cleanupTempDir
    - strlen
    - fopen
    - malloc
    - lwerror
    - isspace
    - lwgeom_from_wkt
    - free
    - getStyles
    - mkdtemp
    - LWDEBUGF
    - checked_system
    - getStyle
    - drawGeometry
    - freeStyles
    - perror
    - fclose
    - exit
    - parseOptions
    - memcpy
    linkageType: ''
    returnType: int
    signature: int main( int argc, const char* argv[] )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:60,1
    - Dst: lwgeom_has_arc
      Src: /src/postgis/liblwgeom/lwstroke.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 86
    functionName: lwgeom_has_arc
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 1
    functionsReached:
    - lwgeom_has_arc
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lwgeom_has_arc(const LWGEOM *geom)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: lwgeom_type_arc
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_type_arc(const LWGEOM *geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - angle
    - a1
    - a2
    - a3
    - zm1
    - zm2
    - zm3
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: interpolate_arc
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    linkageType: ''
    returnType: double
    signature: double interpolate_arc(double angle, double a1, double a2, double a3,
      double zm1, double zm2, double zm3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rint
      Src: /src/postgis/liblwgeom/lwstroke.c:134,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:138,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:143,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwstroke.c:146,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: angle_increment_using_segments_per_quad
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwerror
    - fabs
    - LWDEBUGF
    - rint
    linkageType: ''
    returnType: double
    signature: double angle_increment_using_segments_per_quad(double tol)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:160,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:192,1
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwstroke.c:199,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:203,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - max_deviation
    - radius
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 217
    functionName: angle_increment_using_max_deviation
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwerror
    - LWDEBUGF
    - acos
    linkageType: ''
    returnType: double
    signature: double angle_increment_using_max_deviation(double max_deviation, double
      radius)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tol
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: angle_increment_using_max_angle
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: double
    signature: double angle_increment_using_max_angle(double tol)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:273,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:275,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwstroke.c:278,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:280,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwstroke.c:294,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:295,1
    - Dst: angle_increment_using_segments_per_quad
      Src: /src/postgis/liblwgeom/lwstroke.c:317,1
    - Dst: angle_increment_using_max_deviation
      Src: /src/postgis/liblwgeom/lwstroke.c:320,1
    - Dst: angle_increment_using_max_angle
      Src: /src/postgis/liblwgeom/lwstroke.c:323,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:326,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwstroke.c:339,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwstroke.c:340,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwstroke.c:341,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:343,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwstroke.c:355,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:364,1
    - Dst: trunc
      Src: /src/postgis/liblwgeom/lwstroke.c:369,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:381,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwstroke.c:392,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:396,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:414,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:426,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwstroke.c:437,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwstroke.c:438,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:450,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwstroke.c:458,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwstroke.c:458,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwstroke.c:458,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:466,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:480,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:485,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwstroke.c:486,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwstroke.c:487,1
    - Dst: interpolate_arc
      Src: /src/postgis/liblwgeom/lwstroke.c:488,1
    - Dst: interpolate_arc
      Src: /src/postgis/liblwgeom/lwstroke.c:489,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:490,1
    - Dst: ptarray_remove_point
      Src: /src/postgis/liblwgeom/lwstroke.c:497,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:498,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:504,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:506,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:507,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwstroke.c:509,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 124
    argCount: 7
    argNames:
    - to
    - p1
    - p2
    - p3
    - tol
    - tolerance_type
    - flags
    argTypes:
    - POINTARRAY*
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 513
    functionName: lwarc_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - interpolate_arc
    - ptarray_free
    - sin
    - ptarray_append_point
    - ceil
    - ptarray_remove_point
    - angle_increment_using_max_deviation
    - lw_arc_center
    - trunc
    - angle_increment_using_max_angle
    - getPoint4d_p
    - lwerror
    - cos
    - atan2
    - LWDEBUGF
    - lw_segment_side
    - ptarray_construct_empty
    - LWDEBUG
    - ptarray_has_z
    - fabs
    - angle_increment_using_segments_per_quad
    - ptarray_has_m
    linkageType: ''
    returnType: int
    signature: "int lwarc_linearize(POINTARRAY *to,\n                 const POINT4D
      *p1, const POINT4D *p2, const POINT4D *p3,\n                 double tol, LW_LINEARIZE_TOLERANCE_TYPE
      tolerance_type,\n                 int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:534,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwstroke.c:536,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwstroke.c:536,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwstroke.c:536,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:540,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:542,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:543,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:544,1
    - Dst: lwarc_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:546,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:549,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:553,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:557,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:558,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwstroke.c:564,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:568,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:569,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - icurve
    - tol
    - tolerance_type
    - flags
    argTypes:
    - LWCIRCSTRING*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 573
    functionName: lwcircstring_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwarc_linearize
    - LWDEBUG
    - ptarray_free
    - ptarray_append_point
    - FLAGS_GET_M
    - lwline_construct
    - LWDEBUGF
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: "LWLINE *\nlwcircstring_linearize(const LWCIRCSTRING *icurve, double
      tol,\n                        LW_LINEARIZE_TOLERANCE_TYPE tolerance_type,\n
      \                       int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:594,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwstroke.c:596,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwstroke.c:596,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwstroke.c:596,1
    - Dst: lwcircstring_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:603,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:606,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:607,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwstroke.c:609,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:616,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwstroke.c:617,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:622,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwstroke.c:622,1
    - Dst: ptarray_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/lwstroke.c:627,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - icompound
    - tol
    - tolerance_type
    - flags
    argTypes:
    - LWCOMPOUND*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 629
    functionName: lwcompound_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_remove_repeated_points_in_place
    - LWDEBUG
    - lwerror
    - ptarray_append_point
    - FLAGS_GET_M
    - lwline_construct
    - lwtype_name
    - lwline_free
    - lwcircstring_linearize
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: "LWLINE *\nlwcompound_linearize(const LWCOMPOUND *icompound, double
      tol,\n                      LW_LINEARIZE_TOLERANCE_TYPE tolerance_type,\n                      int
      flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:651,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:653,1
    - Dst: lwcircstring_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:660,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:661,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwstroke.c:662,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:667,1
    - Dst: lwcompound_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:671,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:672,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwstroke.c:673,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:677,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - curvepoly
    - tol
    - tolerance_type
    - flags
    argTypes:
    - LWCURVEPOLY*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 684
    functionName: lwcurvepoly_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - lwcompound_linearize
    - LWDEBUG
    - lwerror
    - ptarray_clone_deep
    - lwalloc
    - lwline_free
    - lwcircstring_linearize
    linkageType: ''
    returnType: LWPOLY
    signature: "LWPOLY *\nlwcurvepoly_linearize(const LWCURVEPOLY *curvepoly, double
      tol,\n                       LW_LINEARIZE_TOLERANCE_TYPE tolerance_type,\n                       int
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcurvepoly_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curvepoly
    - perQuad
    argTypes:
    - LWCURVEPOLY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 6
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: lwcurvepoly_stroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwcurvepoly_linearize
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwcurvepoly_stroke(const LWCURVEPOLY *curvepoly, uint32_t perQuad)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:711,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwstroke.c:711,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:713,1
    - Dst: lwcircstring_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:720,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:724,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:724,1
    - Dst: lwcompound_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:728,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:732,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - mcurve
    - tol
    - type
    - flags
    argTypes:
    - LWMCURVE*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 702
    functionDepth: 5
    functionLinenumber: 702
    functionLinenumberEnd: 739
    functionName: lwmcurve_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwcompound_linearize
    - lwerror
    - LWDEBUGF
    - ptarray_clone_deep
    - lwcollection_construct
    - lwalloc
    - lwline_construct
    - lwcircstring_linearize
    - FLAGS_NDIMS
    linkageType: ''
    returnType: LWMLINE
    signature: "LWMLINE *\nlwmcurve_linearize(const LWMCURVE *mcurve, double tol,\n
      \                   LW_LINEARIZE_TOLERANCE_TYPE type,\n                    int
      flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:761,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:763,1
    - Dst: lwcurvepoly_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:770,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:775,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:778,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:780,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - msurface
    - tol
    - type
    - flags
    argTypes:
    - LWMSURFACE*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 749
    functionDepth: 6
    functionLinenumber: 749
    functionLinenumberEnd: 785
    functionName: lwmsurface_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - LWDEBUG
    - ptarray_clone_deep
    - lwcollection_construct
    - lwalloc
    - lwcurvepoly_linearize
    linkageType: ''
    returnType: LWMPOLY
    signature: "LWMPOLY *\nlwmsurface_linearize(const LWMSURFACE *msurface, double
      tol,\n                      LW_LINEARIZE_TOLERANCE_TYPE type,\n                      int
      flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:805,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:807,1
    - Dst: lwcircstring_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:815,1
    - Dst: lwcompound_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:818,1
    - Dst: lwcurvepoly_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:821,1
    - Dst: lwcollection_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:826,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:829,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - collection
    - tol
    - type
    - flags
    argTypes:
    - LWCOLLECTION*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 835
    functionName: lwcollection_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 1
    functionsReached:
    - lwcompound_linearize
    - LWDEBUG
    - lwcollection_linearize
    - lwgeom_clone_deep
    - lwcollection_construct
    - lwalloc
    - lwcircstring_linearize
    - lwcurvepoly_linearize
    linkageType: ''
    returnType: LWCOLLECTION
    signature: "LWCOLLECTION *\nlwcollection_linearize(const LWCOLLECTION *collection,
      double tol,\n                    LW_LINEARIZE_TOLERANCE_TYPE type,\n                    int
      flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwcircstring_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:846,1
    - Dst: lwcompound_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:849,1
    - Dst: lwcurvepoly_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:852,1
    - Dst: lwmcurve_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:855,1
    - Dst: lwmsurface_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:858,1
    - Dst: lwcollection_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:861,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - geom
    - tol
    - type
    - flags
    argTypes:
    - LWGEOM*
    - double
    - LW_LINEARIZE_TOLERANCE_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 837
    functionDepth: 7
    functionLinenumber: 837
    functionLinenumberEnd: 867
    functionName: lwcurve_linearize
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwmsurface_linearize
    - lwcompound_linearize
    - lwcollection_linearize
    - lwgeom_clone_deep
    - lwmcurve_linearize
    - lwcircstring_linearize
    - lwcurvepoly_linearize
    linkageType: ''
    returnType: LWGEOM
    signature: "LWGEOM *\nlwcurve_linearize(const LWGEOM *geom, double tol,\n                  LW_LINEARIZE_TOLERANCE_TYPE
      type,\n                  int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/lwstroke.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - perQuad
    argTypes:
    - LWGEOM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 870
    functionDepth: 8
    functionLinenumber: 870
    functionLinenumberEnd: 874
    functionName: lwgeom_stroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwcurve_linearize
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_stroke(const LWGEOM *geom, uint32_t perQuad)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwstroke.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 897
    functionName: lw_arc_angle
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double lw_arc_angle(const POINT2D *a, const POINT2D *b, const POINT2D
      *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwstroke.c:910,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwstroke.c:917,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwstroke.c:918,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:919,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwstroke.c:924,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwstroke.c:925,1
    - Dst: lw_arc_angle
      Src: /src/postgis/liblwgeom/lwstroke.c:926,1
    - Dst: lw_arc_angle
      Src: /src/postgis/liblwgeom/lwstroke.c:927,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwstroke.c:930,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - a1
    - a2
    - a3
    - b
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 943
    functionName: pt_continues_arc
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - fabs
    - lw_arc_center
    - lw_arc_angle
    - distance2d_pt_pt
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int pt_continues_arc(const POINT4D *a1, const POINT4D *a2, const POINT4D
      *a3, const POINT4D *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:950,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwstroke.c:950,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwstroke.c:950,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:951,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:954,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwstroke.c:955,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:957,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pa
    - srid
    - start
    - end
    argTypes:
    - POINTARRAY*
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 958
    functionName: linestring_from_pa
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - ptarray_has_z
    - ptarray_construct
    - lwline_as_lwgeom
    - ptarray_has_m
    - ptarray_set_point4d
    - lwline_construct
    - LWDEBUGF
    - getPoint4d_p
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      linestring_from_pa(const POINTARRAY *pa, int32_t srid, int start, int end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:965,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwstroke.c:965,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwstroke.c:965,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:966,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:967,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwstroke.c:968,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:969,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwstroke.c:970,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:971,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwstroke.c:972,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:973,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - pa
    - srid
    - start
    - end
    argTypes:
    - POINTARRAY*
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: circstring_from_pa
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwcircstring_as_lwgeom
    - lwcircstring_construct
    - ptarray_has_z
    - ptarray_construct
    - ptarray_has_m
    - ptarray_set_point4d
    - LWDEBUGF
    - getPoint4d_p
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      circstring_from_pa(const POINTARRAY *pa, int32_t srid, int start, int end)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:979,1
    - Dst: circstring_from_pa
      Src: /src/postgis/liblwgeom/lwstroke.c:981,1
    - Dst: linestring_from_pa
      Src: /src/postgis/liblwgeom/lwstroke.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pa
    - srid
    - is_arc
    - start
    - end
    argTypes:
    - POINTARRAY*
    - int32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 984
    functionName: geom_from_pa
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - circstring_from_pa
    - linestring_from_pa
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      geom_from_pa(const POINTARRAY *pa, int32_t srid, int is_arc, int start, int
      end)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:1004,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwstroke.c:1014,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1019,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwstroke.c:1020,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:1032,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:1033,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:1034,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwstroke.c:1035,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1039,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwstroke.c:1040,1
    - Dst: pt_continues_arc
      Src: /src/postgis/liblwgeom/lwstroke.c:1042,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1045,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1053,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwstroke.c:1058,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwstroke.c:1059,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwstroke.c:1060,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1070,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1072,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwstroke.c:1076,1
    - Dst: lw_arc_angle
      Src: /src/postgis/liblwgeom/lwstroke.c:1077,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwstroke.c:1078,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1083,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1087,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1104,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwstroke.c:1113,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwstroke.c:1114,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwstroke.c:1120,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwstroke.c:1120,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwstroke.c:1120,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:1126,1
    - Dst: geom_from_pa
      Src: /src/postgis/liblwgeom/lwstroke.c:1126,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwstroke.c:1131,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:1135,1
    - Dst: geom_from_pa
      Src: /src/postgis/liblwgeom/lwstroke.c:1135,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwstroke.c:1141,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:1144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    argCount: 2
    argNames:
    - points
    - srid
    argTypes:
    - POINTARRAY*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1145
    functionName: pta_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - memset
    - pt_continues_arc
    - lw_arc_center
    - geom_from_pa
    - lwcollection_free
    - getPoint4d_p
    - lwerror
    - lwcollection_construct_empty
    - lwfree
    - LWDEBUGF
    - lw_segment_side
    - LWDEBUG
    - ptarray_has_z
    - lwcollection_as_lwgeom
    - ptarray_has_m
    - lw_arc_angle
    - memcpy
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      pta_unstroke(const POINTARRAY *points, int32_t srid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1151,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwstroke.c:1153,1
    - Dst: lwline_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:1153,1
    - Dst: pta_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1155
    functionName: lwline_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwline_clone_deep
    - lwline_as_lwgeom
    - pta_unstroke
    - LWDEBUG
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_unstroke(const LWLINE *line)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1163,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1165,1
    - Dst: pta_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1168,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwstroke.c:1178,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:1180,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:1183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1157
    functionDepth: 4
    functionLinenumber: 1157
    functionLinenumberEnd: 1184
    functionName: lwpolygon_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwgeom_clone_deep
    - lwcollection_construct
    - pta_unstroke
    - lwfree
    - lwalloc
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwpolygon_unstroke(const LWPOLY *poly)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1192,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1194,1
    - Dst: lwline_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1197,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwstroke.c:1207,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:1209,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - mline
    argTypes:
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1186
    functionDepth: 5
    functionLinenumber: 1186
    functionLinenumberEnd: 1212
    functionName: lwmline_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwgeom_clone_deep
    - lwcollection_construct
    - lwfree
    - lwalloc
    - lwline_unstroke
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwmline_unstroke(const LWMLINE *mline)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1220,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1222,1
    - Dst: lwpolygon_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1225,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwstroke.c:1235,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:1237,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwstroke.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - mpoly
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1214
    functionDepth: 5
    functionLinenumber: 1214
    functionLinenumberEnd: 1240
    functionName: lwmpolygon_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwgeom_clone_deep
    - lwcollection_construct
    - lwfree
    - lwalloc
    - lwpolygon_unstroke
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwmpolygon_unstroke(const LWMPOLY *mpoly)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1245,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwstroke.c:1246,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwstroke.c:1251,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1254,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwstroke.c:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1242
    functionDepth: 1
    functionLinenumber: 1242
    functionLinenumberEnd: 1267
    functionName: lwcollection_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 0
    functionsReached:
    - lwgeom_unstroke
    - lwalloc
    - memcpy
    - gbox_copy
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_unstroke(const LWCOLLECTION *c)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwstroke.c:1273,1
    - Dst: lwline_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1278,1
    - Dst: lwpolygon_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1280,1
    - Dst: lwmline_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1282,1
    - Dst: lwmpolygon_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1284,1
    - Dst: lwcollection_unstroke
      Src: /src/postgis/liblwgeom/lwstroke.c:1286,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwstroke.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1270
    functionDepth: 6
    functionLinenumber: 1270
    functionLinenumberEnd: 1290
    functionName: lwgeom_unstroke
    functionSourceFile: /src/postgis/liblwgeom/lwstroke.c
    functionUses: 1
    functionsReached:
    - lwmline_unstroke
    - LWDEBUG
    - lwgeom_clone_deep
    - lwcollection_unstroke
    - lwpolygon_unstroke
    - lwmpolygon_unstroke
    - lwline_unstroke
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_unstroke(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwpsurface.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mobj
    - obj
    argTypes:
    - LWPSURFACE*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: lwpsurface_add_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwpsurface.c
    functionUses: 0
    functionsReached:
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWPSURFACE
    signature: LWPSURFACE * lwpsurface_add_lwpoly(LWPSURFACE *mobj, const LWPOLY *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:44,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwpsurface.c:48,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:51,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - psurf
    argTypes:
    - LWPSURFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: lwpsurface_free
    functionSourceFile: /src/postgis/liblwgeom/lwpsurface.c
    functionUses: 0
    functionsReached:
    - lwfree
    - lwpoly_free
    linkageType: ''
    returnType: void
    signature: void lwpsurface_free(LWPSURFACE *psurf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpsurface.c:63,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:65,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:66,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwpsurface.c:66,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:67,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:68,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:75,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwpsurface.c:76,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpsurface.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - psurf
    argTypes:
    - LWPSURFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: printLWPSURFACE
    functionSourceFile: /src/postgis/liblwgeom/lwpsurface.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWPSURFACE(LWPSURFACE *psurf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwpsurface.c:109,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpsurface.c:121,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpsurface.c:129,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpsurface.c:130,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpsurface.c:141,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:159,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:181,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:194,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpsurface.c:198,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 1
    argNames:
    - psurface
    argTypes:
    - LWPSURFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 204
    functionName: lwpsurface_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwpsurface.c
    functionUses: 0
    functionsReached:
    - lwfree
    - lwalloc
    - FLAGS_GET_Z
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int lwpsurface_is_closed(const LWPSURFACE *psurface)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:63,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:63,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:64,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:64,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:65,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:65,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:66,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:66,1
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:67,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:70,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/gserialized2.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: gserialized2_get_lwflags
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_GEODETIC
    - FLAGS_SET_BBOX
    - G2FLAGS_GET_EXTENDED
    - G2FLAGS_GET_M
    - FLAGS_SET_SOLID
    - G2FLAGS_GET_GEODETIC
    - G2FLAGS_GET_BBOX
    - G2FLAGS_GET_Z
    - FLAGS_SET_M
    - memcpy
    linkageType: ''
    returnType: lwflags_t
    signature: lwflags_t gserialized2_get_lwflags(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwflags
    argTypes:
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: lwflags_uses_extended_flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwflags_uses_extended_flags(lwflags_t lwflags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:85,1
    - Dst: G2FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: gserialized2_box_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_GET_GEODETIC
    - G2FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_box_size(const GSERIALIZED *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_has_extended
      Src: /src/postgis/liblwgeom/gserialized2.c:95,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:98,1
    - Dst: gserialized2_box_size
      Src: /src/postgis/liblwgeom/gserialized2.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: gserialized2_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_has_extended
    - gserialized2_has_bbox
    - gserialized2_box_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_header_size(const GSERIALIZED *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_has_extended
      Src: /src/postgis/liblwgeom/gserialized2.c:109,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:112,1
    - Dst: gserialized2_box_size
      Src: /src/postgis/liblwgeom/gserialized2.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: gserialized2_get_geometry_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_has_extended
    - gserialized2_has_bbox
    - gserialized2_box_size
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      gserialized2_get_geometry_p(const GSERIALIZED *g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:121,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:121,1
    - Dst: G2FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:122,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:122,1
    - Dst: G2FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:123,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:123,1
    - Dst: G2FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:124,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:124,1
    - Dst: G2FLAGS_SET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:125,1
    - Dst: lwflags_uses_extended_flags
      Src: /src/postgis/liblwgeom/gserialized2.c:125,1
    - Dst: G2FLAGS_SET_VERSION
      Src: /src/postgis/liblwgeom/gserialized2.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - lwflags
    argTypes:
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: lwflags_get_g2flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_SET_Z
    - G2FLAGS_SET_EXTENDED
    - FLAGS_GET_BBOX
    - lwflags_uses_extended_flags
    - FLAGS_GET_M
    - G2FLAGS_SET_VERSION
    - FLAGS_GET_GEODETIC
    - G2FLAGS_SET_M
    - G2FLAGS_SET_BBOX
    - FLAGS_GET_Z
    - G2FLAGS_SET_GEODETIC
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lwflags_get_g2flags(lwflags_t lwflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: gserialized2_get_uint32_t
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized2_get_uint32_t(const uint8_t *loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:140,1
    - Dst: G2FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:142,1
    - Dst: G2FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - has_z
    - has_m
    - is_geodetic
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: g2flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_SET_M
    - G2FLAGS_SET_Z
    - G2FLAGS_SET_GEODETIC
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t g2flags(int has_z, int has_m, int is_geodetic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: gserialized2_has_bbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 2
    functionsReached:
    - G2FLAGS_GET_BBOX
    linkageType: ''
    returnType: int
    signature: int gserialized2_has_bbox(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: gserialized2_has_extended
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 2
    functionsReached:
    - G2FLAGS_GET_EXTENDED
    linkageType: ''
    returnType: int
    signature: int gserialized2_has_extended(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: gserialized2_has_z
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int gserialized2_has_z(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: gserialized2_has_m
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int gserialized2_has_m(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: gserialized2_ndims
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_NDIMS
    linkageType: ''
    returnType: int
    signature: int gserialized2_ndims(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: gserialized2_is_geodetic
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gserialized2_is_geodetic(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: gserialized2_max_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized2_max_header_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_get_geometry_p
      Src: /src/postgis/liblwgeom/gserialized2.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: gserialized2_get_type
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_get_geometry_p
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized2_get_type(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: gserialized2_get_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized2_get_srid(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:210,1
    - Dst: clamp_srid
      Src: /src/postgis/liblwgeom/gserialized2.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - g
    - srid
    argTypes:
    - GSERIALIZED*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: gserialized2_set_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - clamp_srid
    linkageType: ''
    returnType: void
    signature: void gserialized2_set_srid(GSERIALIZED *g, int32_t srid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:230,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:231,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/gserialized2.c:233,1
    - Dst: gserialized2_is_empty_recurse
      Src: /src/postgis/liblwgeom/gserialized2.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - isempty
    argTypes:
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: gserialized2_is_empty_recurse
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 1
    functionsReached:
    - gserialized2_is_empty_recurse
    - lwtype_is_collection
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_is_empty_recurse(const uint8_t *p, int *isempty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_get_geometry_p
      Src: /src/postgis/liblwgeom/gserialized2.c:255,1
    - Dst: gserialized2_is_empty_recurse
      Src: /src/postgis/liblwgeom/gserialized2.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: gserialized2_is_empty
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_is_empty_recurse
    - gserialized2_get_geometry_p
    linkageType: ''
    returnType: int
    signature: int gserialized2_is_empty(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_header_size
      Src: /src/postgis/liblwgeom/gserialized2.c:274,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized2.c:277,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/gserialized2.c:280,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:282,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:284,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:286,1
    - Dst: hashlittle2
      Src: /src/postgis/liblwgeom/gserialized2.c:288,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/gserialized2.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - g1
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: gserialized2_hash
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_header_size
    - gserialized2_get_srid
    - hashlittle2
    - LWSIZE_GET
    - lwalloc
    - lwfree
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized2_hash(const GSERIALIZED *g1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_has_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:298,1
    - Dst: G2FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized2.c:302,1
    - Dst: gserialized2_has_extended
      Src: /src/postgis/liblwgeom/gserialized2.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - g
    - ndims
    argTypes:
    - GSERIALIZED*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: gserialized2_get_float_box_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_has_extended
    - G2FLAGS_NDIMS_BOX
    - gserialized_has_bbox
    linkageType: ''
    returnType: float
    signature: float * gserialized2_get_float_box_p(const GSERIALIZED *g, size_t *ndims)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:322,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:325,1
    - Dst: gserialized2_get_float_box_p
      Src: /src/postgis/liblwgeom/gserialized2.c:328,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:335,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:342,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 355
    functionName: gserialized2_read_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_get_float_box_p
    - G2FLAGS_GET_M
    - gserialized2_get_lwflags
    - G2FLAGS_GET_GEODETIC
    - G2FLAGS_GET_BBOX
    - G2FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int gserialized2_read_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_get_type
      Src: /src/postgis/liblwgeom/gserialized2.c:364,1
    - Dst: gserialized2_get_geometry_p
      Src: /src/postgis/liblwgeom/gserialized2.c:365,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:370,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:370,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:388,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:389,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:393,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:397,1
    - Dst: G2FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:403,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:414,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:415,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:419,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:420,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:422,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:423,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:427,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:428,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:430,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:434,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:435,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:437,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:467,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:468,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:472,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:476,1
    - Dst: G2FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:482,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:502,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:503,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:507,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:508,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:510,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:511,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:515,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:516,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:518,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized2.c:522,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized2.c:523,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:525,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 530
    functionName: gserialized2_peek_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - G2FLAGS_NDIMS
    - gserialized2_get_geometry_p
    - FP_MAX
    - gbox_float_round
    - G2FLAGS_GET_Z
    - G2FLAGS_GET_M
    - gserialized2_get_lwflags
    - G2FLAGS_GET_GEODETIC
    - gserialized2_get_type
    - G2FLAGS_GET_BBOX
    linkageType: ''
    returnType: int
    signature: int gserialized2_peek_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:539,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dptr
    - flags
    - out_point
    argTypes:
    - double*
    - lwflags_t
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: gserialized2_copy_point
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_GET_Z
    - G2FLAGS_GET_M
    linkageType: ''
    returnType: void
    signature: void gserialized2_copy_point(double *dptr, lwflags_t flags, POINT4D
      *out_point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_get_geometry_p
      Src: /src/postgis/liblwgeom/gserialized2.c:552,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:571,1
    - Dst: gserialized2_copy_point
      Src: /src/postgis/liblwgeom/gserialized2.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - g
    - out_point
    argTypes:
    - GSERIALIZED*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 577
    functionName: gserialized2_peek_first_point
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - lwerror
    - gserialized2_copy_point
    - gserialized2_get_geometry_p
    linkageType: ''
    returnType: int
    signature: int gserialized2_peek_first_point(const GSERIALIZED *g, POINT4D *out_point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized2.c:586,1
    - Dst: gserialized2_peek_gbox_p
      Src: /src/postgis/liblwgeom/gserialized2.c:592,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/gserialized2.c:600,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/gserialized2.c:601,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:602,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/gserialized2.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - g
    - box
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 606
    functionName: gserialized2_get_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - gbox_float_round
    - gserialized2_peek_gbox_p
    - gserialized2_read_gbox_p
    linkageType: ''
    returnType: int
    signature: int gserialized2_get_gbox_p(const GSERIALIZED *g, GBOX *box)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized2.c:615,1
    - Dst: gserialized2_peek_gbox_p
      Src: /src/postgis/liblwgeom/gserialized2.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - g
    - box
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 612
    functionDepth: 5
    functionLinenumber: 612
    functionLinenumberEnd: 629
    functionName: gserialized2_fast_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_peek_gbox_p
    - gserialized2_read_gbox_p
    linkageType: ''
    returnType: int
    signature: int gserialized2_fast_gbox_p(const GSERIALIZED *g, GBOX *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:646,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:649,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 654
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 654
    functionName: gserialized2_from_lwpoint_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwpoint_size(const LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:660,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:663,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 668
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 668
    functionName: gserialized2_from_lwline_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwline_size(const LWLINE *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:674,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:677,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 682
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 682
    functionName: gserialized2_from_lwtriangle_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwtriangle_size(const LWTRIANGLE *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:688,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:690,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 689
        line_start: 689
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 705
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 705
    functionName: gserialized2_from_lwpoly_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwpoly_size(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:711,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:714,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - LWCIRCSTRING*
    assertStmts:
    - condition: (curve)
      pos:
        line_end: 710
        line_start: 710
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: gserialized2_from_lwcircstring_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwcircstring_size(const LWCIRCSTRING *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:726,1
    - Dst: gserialized2_from_any_size
      Src: /src/postgis/liblwgeom/gserialized2.c:732,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:734,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 740
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 740
    functionName: gserialized2_from_lwcollection_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - gserialized2_from_any_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwcollection_size(const LWCOLLECTION *col)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:744,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:744,1
    - Dst: gserialized2_from_lwpoint_size
      Src: /src/postgis/liblwgeom/gserialized2.c:749,1
    - Dst: gserialized2_from_lwline_size
      Src: /src/postgis/liblwgeom/gserialized2.c:751,1
    - Dst: gserialized2_from_lwpoly_size
      Src: /src/postgis/liblwgeom/gserialized2.c:753,1
    - Dst: gserialized2_from_lwtriangle_size
      Src: /src/postgis/liblwgeom/gserialized2.c:755,1
    - Dst: gserialized2_from_lwcircstring_size
      Src: /src/postgis/liblwgeom/gserialized2.c:757,1
    - Dst: gserialized2_from_lwcollection_size
      Src: /src/postgis/liblwgeom/gserialized2.c:768,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:770,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 773
    functionName: gserialized2_from_any_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 1
    functionsReached:
    - lwerror
    - gserialized2_from_lwpoly_size
    - gserialized2_from_lwcircstring_size
    - gserialized2_from_lwtriangle_size
    - gserialized2_from_lwpoint_size
    - gserialized2_from_lwcollection_size
    - lwtype_name
    - LWDEBUGF
    - gserialized2_from_lwline_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_any_size(const LWGEOM *geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:780,1
    - Dst: lwflags_uses_extended_flags
      Src: /src/postgis/liblwgeom/gserialized2.c:783,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/gserialized2.c:788,1
    - Dst: gserialized2_from_any_size
      Src: /src/postgis/liblwgeom/gserialized2.c:790,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 794
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 794
    functionName: gserialized2_from_lwgeom_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - gbox_serialized_size
    - lwflags_uses_extended_flags
    - LWDEBUGF
    - gserialized2_from_any_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwgeom_size(const LWGEOM *geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized2.c:807,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:810,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:811,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:813,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:813,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:814,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:816,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:821,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:824,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:830,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized2.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - point
    - buf
    argTypes:
    - LWPOINT*
    - uint8_t*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 809
        line_start: 809
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 810
        line_start: 810
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 835
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 835
    functionName: gserialized2_from_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwpoint(const LWPOINT *point, uint8_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:844,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:845,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:847,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:849,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:849,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:850,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized2.c:852,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:857,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:861,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:864,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:870,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized2.c:870,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - line
    - buf
    argTypes:
    - LWLINE*
    - uint8_t*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 876
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 876
    functionName: gserialized2_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - ptarray_point_size
    - lwerror
    - memcpy
    - getPoint_internal
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwline(const LWLINE *line, uint8_t *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:885,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:886,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:888,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:890,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:894,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:898,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:904,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/gserialized2.c:911,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:921,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:921,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:922,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:926,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized2.c:926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - poly
    - buf
    argTypes:
    - LWPOLY*
    - uint8_t*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 930
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 930
    functionName: gserialized2_from_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - FLAGS_GET_ZM
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - FLAGS_NDIMS
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwpoly(const LWPOLY *poly, uint8_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:939,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:940,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:942,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:944,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:944,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:945,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized2.c:947,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:952,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:956,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:959,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:965,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized2.c:965,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - triangle
    - buf
    argTypes:
    - LWTRIANGLE*
    - uint8_t*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 939
        line_start: 939
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 971
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 971
    functionName: gserialized2_from_lwtriangle
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwtriangle(const LWTRIANGLE *triangle, uint8_t
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:980,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:981,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:983,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:983,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:984,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized2.c:987,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:991,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:995,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1002,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized2.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - curve
    - buf
    argTypes:
    - LWCIRCSTRING*
    - uint8_t*
    assertStmts:
    - condition: (curve)
      pos:
        line_end: 979
        line_start: 979
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1007
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 1007
    functionName: gserialized2_from_lwcircstring
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwcircstring(const LWCIRCSTRING *curve, uint8_t
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1016,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1017,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1023,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1027,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:1033,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized2.c:1033,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:1034,1
    - Dst: gserialized2_from_lwgeom_any
      Src: /src/postgis/liblwgeom/gserialized2.c:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - coll
    - buf
    argTypes:
    - LWCOLLECTION*
    - uint8_t*
    assertStmts:
    - condition: (coll)
      pos:
        line_end: 1015
        line_start: 1015
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1040
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1040
    functionName: gserialized2_from_lwcollection
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - lwerror
    - gserialized2_from_lwgeom_any
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwcollection(const LWCOLLECTION *coll, uint8_t
      *buf)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1044,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1045,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1047,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1048,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1049,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1049,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1050,1
    - Dst: gserialized2_from_lwpoint
      Src: /src/postgis/liblwgeom/gserialized2.c:1055,1
    - Dst: gserialized2_from_lwline
      Src: /src/postgis/liblwgeom/gserialized2.c:1057,1
    - Dst: gserialized2_from_lwpoly
      Src: /src/postgis/liblwgeom/gserialized2.c:1059,1
    - Dst: gserialized2_from_lwtriangle
      Src: /src/postgis/liblwgeom/gserialized2.c:1061,1
    - Dst: gserialized2_from_lwcircstring
      Src: /src/postgis/liblwgeom/gserialized2.c:1063,1
    - Dst: gserialized2_from_lwcollection
      Src: /src/postgis/liblwgeom/gserialized2.c:1074,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:1076,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - geom
    - buf
    argTypes:
    - LWGEOM*
    - uint8_t*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 1043
        line_start: 1043
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (buf)
      pos:
        line_end: 1044
        line_start: 1044
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1080
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1080
    functionName: gserialized2_from_lwgeom_any
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 1
    functionsReached:
    - gserialized2_from_lwline
    - assert
    - gserialized2_from_lwcircstring
    - gserialized2_from_lwpoly
    - lwerror
    - gserialized2_from_lwpoint
    - FLAGS_GET_M
    - gserialized2_from_lwtriangle
    - gserialized2_from_lwcollection
    - lwtype_name
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_lwgeom_any(const LWGEOM *geom, uint8_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwflags_uses_extended_flags
      Src: /src/postgis/liblwgeom/gserialized2.c:1084,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/gserialized2.c:1087,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lwflags
    - buf
    argTypes:
    - lwflags_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1098
    functionName: gserialized2_from_extended_flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - lwflags_uses_extended_flags
    - FLAGS_GET_SOLID
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_extended_flags(lwflags_t lwflags, uint8_t
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1107,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized2.c:1110,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized2.c:1111,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized2.c:1112,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized2.c:1113,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:1116,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized2.c:1118,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized2.c:1119,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1123,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1127,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized2.c:1129,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized2.c:1130,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1134,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized2.c:1136,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized2.c:1137,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - gbox
    - buf
    argTypes:
    - GBOX*
    - uint8_t*
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 1106
        line_start: 1106
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1143
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1143
    functionName: gserialized2_from_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - next_float_down
    - next_float_up
    - FLAGS_GET_M
    - LWDEBUGF
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized2_from_gbox(const GBOX *gbox, uint8_t *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1153,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:1158,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/gserialized2.c:1158,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:1160,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1166,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/gserialized2.c:1169,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1170,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/gserialized2.c:1174,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/gserialized2.c:1179,1
    - Dst: lwflags_get_g2flags
      Src: /src/postgis/liblwgeom/gserialized2.c:1180,1
    - Dst: gserialized2_from_extended_flags
      Src: /src/postgis/liblwgeom/gserialized2.c:1186,1
    - Dst: gserialized2_from_gbox
      Src: /src/postgis/liblwgeom/gserialized2.c:1190,1
    - Dst: gserialized2_from_lwgeom_any
      Src: /src/postgis/liblwgeom/gserialized2.c:1193,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - geom
    - size
    argTypes:
    - LWGEOM*
    - size_t*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/postgis/liblwgeom/gserialized2.c
    - condition: (expected_size == return_size)
      pos:
        line_end: 1197
        line_start: 1197
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1203
      start: 1147
    functionDepth: 4
    functionLinenumber: 1147
    functionLinenumberEnd: 1203
    functionName: gserialized2_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - gserialized2_from_gbox
    - gserialized2_from_lwgeom_size
    - FLAGS_SET_BBOX
    - LWSIZE_SET
    - lwgeom_is_empty
    - lwgeom_add_bbox
    - lwgeom_needs_bbox
    - gserialized2_from_extended_flags
    - gserialized2_from_lwgeom_any
    - lwalloc
    - gserialized2_set_srid
    - lwflags_get_g2flags
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized2_from_lwgeom(LWGEOM *geom, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1218,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1220,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1227,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized2.c:1231,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1231,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1231,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized2.c:1233,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1233,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1233,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1217
        line_start: 1217
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1241
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1241
    functionName: lwpoint_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - gserialized2_get_uint32_t
    - ptarray_construct
    - FLAGS_GET_M
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t
      *size, int32_t srid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1250,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1252,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1259,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized2.c:1263,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1263,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1263,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized2.c:1266,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1266,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1266,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1249
        line_start: 1249
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1274
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1274
    functionName: lwline_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - gserialized2_get_uint32_t
    - ptarray_construct
    - FLAGS_GET_M
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t
      *size, int32_t srid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1285,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1287,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1294,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1296,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1302,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1319,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized2.c:1323,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1323,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1323,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1284
        line_start: 1284
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1332
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1332
    functionName: lwpoly_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - gserialized2_get_uint32_t
    - FLAGS_GET_M
    - lwalloc
    - LWDEBUGF
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t
      *size, int32_t srid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1341,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1343,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1350,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized2.c:1354,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1354,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1354,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized2.c:1356,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1356,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1356,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:1358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1364
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1364
    functionName: lwtriangle_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - gserialized2_get_uint32_t
    - ptarray_construct
    - FLAGS_GET_M
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwtriangle_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t
      *size, int32_t srid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1373,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1375,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1382,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized2.c:1386,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1386,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1386,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized2.c:1388,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1388,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1388,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized2.c:1390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1372
        line_start: 1372
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1396
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1396
    functionName: lwcircstring_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - gserialized2_get_uint32_t
    - ptarray_construct
    - FLAGS_GET_M
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags,
      size_t *size, int32_t srid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1407,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1409,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1412,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1418,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1424,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1434,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1438,1
    - Dst: lwcollection_allows_subtype
      Src: /src/postgis/liblwgeom/gserialized2.c:1441,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:1443,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1443,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1443,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/gserialized2.c:1444,1
    - Dst: lwgeom_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1406
        line_start: 1406
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1455
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1455
    functionName: lwcollection_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - lwcollection_allows_subtype
    - assert
    - gserialized2_get_uint32_t
    - lwerror
    - FLAGS_SET_BBOX
    - lwalloc
    - lwfree
    - lwtype_name
    - lwgeom_from_gserialized2_buffer
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags,
      size_t *size, int32_t srid)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1462,1
    - Dst: gserialized2_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized2.c:1464,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1466,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1466,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized2.c:1467,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized2.c:1467,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized2.c:1467,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1467,1
    - Dst: lwpoint_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1472,1
    - Dst: lwline_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1474,1
    - Dst: lwcircstring_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1476,1
    - Dst: lwpoly_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1478,1
    - Dst: lwtriangle_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1480,1
    - Dst: lwcollection_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1491,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:1493,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 4
    argNames:
    - data_ptr
    - lwflags
    - g_size
    - srid
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    - int32_t
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1461
        line_start: 1461
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1496
      start: 1457
    functionDepth: 2
    functionLinenumber: 1457
    functionLinenumberEnd: 1496
    functionName: lwgeom_from_gserialized2_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 1
    functionsReached:
    - lwcollection_from_gserialized2_buffer
    - assert
    - lwline_from_gserialized2_buffer
    - lwpoint_from_gserialized2_buffer
    - gserialized2_get_uint32_t
    - lwtriangle_from_gserialized2_buffer
    - lwerror
    - lwpoly_from_gserialized2_buffer
    - FLAGS_GET_BBOX
    - FLAGS_GET_M
    - lwcircstring_from_gserialized2_buffer
    - lwtype_name
    - LWDEBUGF
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_from_gserialized2_buffer(uint8_t *data_ptr, lwflags_t lwflags, size_t
      *g_size, int32_t srid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized2.c:1508,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/gserialized2.c:1510,1
    - Dst: gserialized2_get_type
      Src: /src/postgis/liblwgeom/gserialized2.c:1511,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized2.c:1512,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized2.c:1514,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized2.c:1514,1
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:1519,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1525,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/gserialized2.c:1526,1
    - Dst: lwgeom_from_gserialized2_buffer
      Src: /src/postgis/liblwgeom/gserialized2.c:1528,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized2.c:1531,1
    - Dst: gserialized2_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized2.c:1536,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/gserialized2.c:1538,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/liblwgeom/gserialized2.c:1540,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/gserialized2.c:1540,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/gserialized2.c:1542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts:
    - condition: (g)
      pos:
        line_end: 1507
        line_start: 1507
        source_file: /src/postgis/liblwgeom/gserialized2.c
    constantsTouched: []
    func_position:
      end: 1550
      start: 1498
    functionDepth: 4
    functionLinenumber: 1498
    functionLinenumberEnd: 1550
    functionName: lwgeom_from_gserialized2
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - assert
    - gbox_serialized_size
    - gbox_copy
    - lwerror
    - G2FLAGS_GET_EXTENDED
    - FLAGS_GET_BBOX
    - lwgeom_calculate_gbox
    - lwgeom_needs_bbox
    - gserialized2_get_srid
    - gserialized2_get_lwflags
    - lwtype_name
    - LWDEBUGF
    - gserialized2_get_type
    - gserialized2_read_gbox_p
    - lwgeom_from_gserialized2_buffer
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_gserialized2(const GSERIALIZED *g)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1563,1
    - Dst: FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1564,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1577,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized2.c:1587,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1590,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1594,1
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:1596,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1598,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1602,1
    - Dst: G2FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1603,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/gserialized2.c:1604,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized2.c:1608,1
    - Dst: gserialized2_has_z
      Src: /src/postgis/liblwgeom/gserialized2.c:1617,1
    - Dst: gserialized2_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized2.c:1617,1
    - Dst: gserialized2_has_m
      Src: /src/postgis/liblwgeom/gserialized2.c:1622,1
    - Dst: gserialized2_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized2.c:1622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1629
    functionName: gserialized2_set_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - gserialized2_has_m
    - LWSIZE_SET
    - G2FLAGS_GET_EXTENDED
    - gserialized2_is_geodetic
    - gbox_float_round
    - LWSIZE_GET
    - lwalloc
    - gserialized2_has_z
    - G2FLAGS_NDIMS_BOX
    - FLAGS_NDIMS_BOX
    - G2FLAGS_SET_BBOX
    - G2FLAGS_GET_BBOX
    - memcpy
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized2_set_gbox(GSERIALIZED *g, GBOX *gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G2FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1638,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized2.c:1640,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized2.c:1641,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1644,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1649,1
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/gserialized2.c:1651,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1653,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1658,1
    - Dst: G2FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized2.c:1659,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/gserialized2.c:1660,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized2.c:1665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1669
    functionName: gserialized2_drop_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.c
    functionUses: 0
    functionsReached:
    - LWSIZE_SET
    - G2FLAGS_GET_EXTENDED
    - lwalloc
    - LWSIZE_GET
    - G2FLAGS_NDIMS_BOX
    - G2FLAGS_SET_BBOX
    - G2FLAGS_GET_BBOX
    - memcpy
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized2_drop_gbox(GSERIALIZED *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_kml.c:50,1
    - Dst: stringbuffer_create
      Src: /src/postgis/liblwgeom/lwout_kml.c:53,1
    - Dst: lwgeom_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:54,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_kml.c:58,1
    - Dst: stringbuffer_getvarlenacopy
      Src: /src/postgis/liblwgeom/lwout_kml.c:62,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_kml.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - geom
    - precision
    - prefix
    argTypes:
    - LWGEOM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: lwgeom_to_kml2
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_destroy
    - lwgeom_is_empty
    - stringbuffer_getvarlenacopy
    - lwgeom_to_kml2_sb
    - stringbuffer_create
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_kml2(const LWGEOM *geom, int precision, const char *prefix)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:74,1
    - Dst: lwline_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:77,1
    - Dst: lwtriangle_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:80,1
    - Dst: lwpoly_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:83,1
    - Dst: lwcollection_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:89,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_kml.c:92,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_kml.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - geom
    - precision
    - prefix
    - sb
    argTypes:
    - LWGEOM*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: lwgeom_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - lwcollection_to_kml2_sb
    - lwline_to_kml2_sb
    - lwerror
    - lwpoint_to_kml2_sb
    - lwtriangle_to_kml2_sb
    - lwpoly_to_kml2_sb
    - lwtype_name
    linkageType: ''
    returnType: int
    signature: int lwgeom_to_kml2_sb(const LWGEOM *geom, int precision, const char
      *prefix, stringbuffer_t *sb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_kml.c:101,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwout_kml.c:107,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_kml.c:109,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_kml.c:112,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_kml.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pa
    - precision
    - sb
    argTypes:
    - POINTARRAY*
    - int
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: ptarray_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append_double
    - stringbuffer_append_len
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int ptarray_to_kml2_sb(const POINTARRAY *pa, int precision, stringbuffer_t
      *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:124,1
    - Dst: ptarray_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:126,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - point
    - precision
    - prefix
    - sb
    argTypes:
    - LWPOINT*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: lwpoint_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - ptarray_to_kml2_sb
    linkageType: ''
    returnType: int
    signature: int lwpoint_to_kml2_sb(const LWPOINT *point, int precision, const char
      *prefix, stringbuffer_t *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:136,1
    - Dst: ptarray_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:138,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - line
    - precision
    - prefix
    - sb
    argTypes:
    - LWLINE*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: lwline_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - ptarray_to_kml2_sb
    linkageType: ''
    returnType: int
    signature: int lwline_to_kml2_sb(const LWLINE *line, int precision, const char
      *prefix, stringbuffer_t *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:149,1
    - Dst: ptarray_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:153,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - tri
    - precision
    - prefix
    - sb
    argTypes:
    - LWTRIANGLE*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: lwtriangle_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - ptarray_to_kml2_sb
    linkageType: ''
    returnType: int
    signature: int lwtriangle_to_kml2_sb(const LWTRIANGLE *tri, int precision, const
      char *prefix, stringbuffer_t *sb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:171,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:176,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:178,1
    - Dst: ptarray_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:182,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:186,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:188,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - poly
    - precision
    - prefix
    - sb
    argTypes:
    - LWPOLY*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 195
    functionName: lwpoly_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - ptarray_to_kml2_sb
    linkageType: ''
    returnType: int
    signature: int lwpoly_to_kml2_sb(const LWPOLY *poly, int precision, const char
      *prefix, stringbuffer_t *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:204,1
    - Dst: lwgeom_to_kml2_sb
      Src: /src/postgis/liblwgeom/lwout_kml.c:207,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_kml.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - col
    - precision
    - prefix
    - sb
    argTypes:
    - LWCOLLECTION*
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: lwcollection_to_kml2_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_kml.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - lwgeom_to_kml2_sb
    linkageType: ''
    returnType: int
    signature: int lwcollection_to_kml2_sb(const LWCOLLECTION *col, int precision,
      const char *prefix, stringbuffer_t *sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create_with_size
      Src: /src/postgis/liblwgeom/stringbuffer.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: stringbuffer_create
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 1
    functionsReached:
    - stringbuffer_create_with_size
    linkageType: ''
    returnType: stringbuffer_t
    signature: 'stringbuffer_t *

      stringbuffer_create(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringbuffer.c:41,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/stringbuffer.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - stringbuffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: stringbuffer_init_with_size
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - memset
    - lwalloc
    linkageType: ''
    returnType: void
    signature: void stringbuffer_init_with_size(stringbuffer_t *s, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/stringbuffer.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: stringbuffer_release
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void stringbuffer_release(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_init_with_size
      Src: /src/postgis/liblwgeom/stringbuffer.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: stringbuffer_init
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_init_with_size
    linkageType: ''
    returnType: void
    signature: void stringbuffer_init(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_init_with_size
      Src: /src/postgis/liblwgeom/stringbuffer.c:62,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/stringbuffer.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: stringbuffer_init_varlena
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_init_with_size
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void stringbuffer_init_varlena(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringbuffer.c:76,1
    - Dst: stringbuffer_init_with_size
      Src: /src/postgis/liblwgeom/stringbuffer.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: stringbuffer_create_with_size
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 1
    functionsReached:
    - stringbuffer_init_with_size
    - lwalloc
    linkageType: ''
    returnType: stringbuffer_t
    signature: 'stringbuffer_t *

      stringbuffer_create_with_size(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_release
      Src: /src/postgis/liblwgeom/stringbuffer.c:89,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/stringbuffer.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: stringbuffer_destroy
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 1
    functionsReached:
    - stringbuffer_release
    - lwfree
    linkageType: ''
    returnType: void
    signature: void stringbuffer_destroy(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: stringbuffer_clear
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stringbuffer_clear(stringbuffer_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: stringbuffer_lastchar
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char stringbuffer_lastchar(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: stringbuffer_getstring
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stringbuffer_getstring(stringbuffer_t *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringbuffer.c:139,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/stringbuffer.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: stringbuffer_getstringcopy
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      stringbuffer_getstringcopy(stringbuffer_t *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/stringbuffer.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: stringbuffer_getvarlena
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - LWSIZE_SET
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      stringbuffer_getvarlena(stringbuffer_t *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringbuffer.c:157,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/stringbuffer.c:158,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/stringbuffer.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: stringbuffer_getvarlenacopy
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 1
    functionsReached:
    - LWSIZE_SET
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      stringbuffer_getvarlenacopy(stringbuffer_t *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: stringbuffer_getlength
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stringbuffer_getlength(stringbuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_clear
      Src: /src/postgis/liblwgeom/stringbuffer.c:180,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/stringbuffer.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - stringbuffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: stringbuffer_set
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_clear
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void stringbuffer_set(stringbuffer_t *s, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_set
      Src: /src/postgis/liblwgeom/stringbuffer.c:190,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/liblwgeom/stringbuffer.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - stringbuffer_t*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: stringbuffer_copy
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_getstring
    - stringbuffer_set
    linkageType: ''
    returnType: void
    signature: void stringbuffer_copy(stringbuffer_t *dst, stringbuffer_t *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/postgis/liblwgeom/stringbuffer.c:209,1
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/stringbuffer.c:210,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/stringbuffer.c:211,1
    - Dst: va_copy
      Src: /src/postgis/liblwgeom/stringbuffer.c:217,1
    - Dst: _vscprintf
      Src: /src/postgis/liblwgeom/stringbuffer.c:218,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/stringbuffer.c:219,1
    - Dst: stringbuffer_makeroom
      Src: /src/postgis/liblwgeom/stringbuffer.c:230,1
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/stringbuffer.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - stringbuffer_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 245
    functionName: stringbuffer_avprintf
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached:
    - _vscprintf
    - va_copy
    - va_end
    - vsnprintf
    - stringbuffer_makeroom
    linkageType: ''
    returnType: int
    signature: int stringbuffer_avprintf(stringbuffer_t *s, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/stringbuffer.c:258,1
    - Dst: stringbuffer_avprintf
      Src: /src/postgis/liblwgeom/stringbuffer.c:259,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/stringbuffer.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - stringbuffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: stringbuffer_aprintf
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 5
    functionsReached:
    - va_end
    - va_start
    - stringbuffer_avprintf
    linkageType: ''
    returnType: int
    signature: int stringbuffer_aprintf(stringbuffer_t *s, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: stringbuffer_trim_trailing_white
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stringbuffer_trim_trailing_white(stringbuffer_t *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 360
    functionName: stringbuffer_trim_trailing_zeroes
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stringbuffer_trim_trailing_zeroes(stringbuffer_t *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkt.c:45,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkt.c:45,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkt.c:47,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkt.c:47,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:50,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkt.c:55,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:57,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkt.c:58,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:59,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkt.c:60,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:61,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - geom
    - sb
    - variant
    argTypes:
    - LWGEOM*
    - stringbuffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: dimension_qualifiers_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    - stringbuffer_append_len
    - FLAGS_GET_M
    linkageType: ''
    returnType: void
    signature: void dimension_qualifiers_to_wkt_sb(const LWGEOM *geom, stringbuffer_t
      *sb, uint8_t variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/liblwgeom/lwout_wkt.c:72,1
    - Dst: stringbuffer_lastchar
      Src: /src/postgis/liblwgeom/lwout_wkt.c:72,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:74,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sb
    argTypes:
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: empty_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - stringbuffer_lastchar
    - strchr
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void empty_to_wkt_sb(stringbuffer_t *sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_wkt.c:83,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:87,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_wkt.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - coords
    - sb
    - dimensions
    - precision
    argTypes:
    - double*
    - stringbuffer_t*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: coordinate_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append_double
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void coordinate_to_wkt_sb(double *coords, stringbuffer_t *sb, uint32_t
      dimensions, int precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkt.c:104,1
    - Dst: stringbuffer_makeroom
      Src: /src/postgis/liblwgeom/lwout_wkt.c:106,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:109,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwout_wkt.c:116,1
    - Dst: coordinate_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:117,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:121,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwout_wkt.c:122,1
    - Dst: coordinate_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:123,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ptarray
    - sb
    - precision
    - variant
    argTypes:
    - POINTARRAY*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: ptarray_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - stringbuffer_append_len
    - getPoint_internal
    - stringbuffer_makeroom
    - coordinate_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void ptarray_to_wkt_sb(const POINTARRAY *ptarray, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:146,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:147,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkt.c:150,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:152,1
    - Dst: ptarray_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pt
    - sb
    - precision
    - variant
    argTypes:
    - LWPOINT*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: lwpoint_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - dimension_qualifiers_to_wkt_sb
    - ptarray_to_wkt_sb
    - lwpoint_is_empty
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwpoint_to_wkt_sb(const LWPOINT *pt, stringbuffer_t *sb, int precision,
      uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:166,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:167,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkt.c:169,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:171,1
    - Dst: ptarray_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - line
    - sb
    - precision
    - variant
    argTypes:
    - LWLINE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: lwline_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - dimension_qualifiers_to_wkt_sb
    - ptarray_to_wkt_sb
    - empty_to_wkt_sb
    - lwline_is_empty
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwline_to_wkt_sb(const LWLINE *line, stringbuffer_t *sb, int precision,
      uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:186,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:187,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkt.c:189,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:191,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:195,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:199,1
    - Dst: ptarray_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:200,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - poly
    - sb
    - precision
    - variant
    argTypes:
    - LWPOLY*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: lwpoly_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwpoly_is_empty
    - dimension_qualifiers_to_wkt_sb
    - ptarray_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwpoly_to_wkt_sb(const LWPOLY *poly, stringbuffer_t *sb, int precision,
      uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:212,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:213,1
    - Dst: lwcircstring_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkt.c:215,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:217,1
    - Dst: ptarray_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - circ
    - sb
    - precision
    - variant
    argTypes:
    - LWCIRCSTRING*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: lwcircstring_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwcircstring_is_empty
    - ptarray_to_wkt_sb
    - dimension_qualifiers_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwcircstring_to_wkt_sb(const LWCIRCSTRING *circ, stringbuffer_t
      *sb, int precision, uint8_t variant)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:235,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:236,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:240,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:243,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:250,1
    - Dst: lwpoint_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:252,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - mpoint
    - sb
    - precision
    - variant
    argTypes:
    - LWMPOINT*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: lwmpoint_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - lwpoint_to_wkt_sb
    - stringbuffer_append_len
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwmpoint_to_wkt_sb(const LWMPOINT *mpoint, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:266,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:267,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:271,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:275,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:280,1
    - Dst: lwline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:282,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - mline
    - sb
    - precision
    - variant
    argTypes:
    - LWMLINE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 285
    functionName: lwmline_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - lwline_to_wkt_sb
    - stringbuffer_append_len
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwmline_to_wkt_sb(const LWMLINE *mline, stringbuffer_t *sb, int
      precision, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:296,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:297,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:301,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:305,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:310,1
    - Dst: lwpoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:312,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - mpoly
    - sb
    - precision
    - variant
    argTypes:
    - LWMPOLY*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 315
    functionName: lwmpoly_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - lwpoly_to_wkt_sb
    - stringbuffer_append_len
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwmpoly_to_wkt_sb(const LWMPOLY *mpoly, stringbuffer_t *sb, int
      precision, uint8_t variant)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:328,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:329,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:333,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:337,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:343,1
    - Dst: lwline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:347,1
    - Dst: lwcircstring_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:352,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:356,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:356,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - comp
    - sb
    - precision
    - variant
    argTypes:
    - LWCOMPOUND*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 360
    functionName: lwcompound_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwcircstring_to_wkt_sb
    - lwline_to_wkt_sb
    - lwerror
    - dimension_qualifiers_to_wkt_sb
    - lwtype_name
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwcompound_to_wkt_sb(const LWCOMPOUND *comp, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:373,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:374,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:378,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:381,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:387,1
    - Dst: lwline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:392,1
    - Dst: lwcircstring_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:396,1
    - Dst: lwcompound_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:400,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:403,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:403,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - cpoly
    - sb
    - precision
    - variant
    argTypes:
    - LWCURVEPOLY*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: lwcurvepoly_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwcircstring_to_wkt_sb
    - lwtype_name
    - lwline_to_wkt_sb
    - lwerror
    - dimension_qualifiers_to_wkt_sb
    - lwcompound_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwcurvepoly_to_wkt_sb(const LWCURVEPOLY *cpoly, stringbuffer_t
      *sb, int precision, uint8_t variant)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:421,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:422,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:426,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:429,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:435,1
    - Dst: lwline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:440,1
    - Dst: lwcircstring_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:444,1
    - Dst: lwcompound_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:448,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:451,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:451,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - mcurv
    - sb
    - precision
    - variant
    argTypes:
    - LWMCURVE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 455
    functionName: lwmcurve_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwcircstring_to_wkt_sb
    - lwtype_name
    - lwline_to_wkt_sb
    - lwerror
    - dimension_qualifiers_to_wkt_sb
    - lwcompound_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwmcurve_to_wkt_sb(const LWMCURVE *mcurv, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:469,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:470,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:474,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:477,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:483,1
    - Dst: lwpoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:488,1
    - Dst: lwcurvepoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:492,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:495,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:495,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - msurf
    - sb
    - precision
    - variant
    argTypes:
    - LWMSURFACE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 499
    functionName: lwmsurface_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwpoly_to_wkt_sb
    - lwtype_name
    - lwerror
    - dimension_qualifiers_to_wkt_sb
    - lwcurvepoly_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwmsurface_to_wkt_sb(const LWMSURFACE *msurf, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:512,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:513,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:517,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:520,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:525,1
    - Dst: lwgeom_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:526,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - collection
    - sb
    - precision
    - variant
    argTypes:
    - LWCOLLECTION*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: lwcollection_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - lwgeom_to_wkt_sb
    - stringbuffer_append_len
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwcollection_to_wkt_sb(const LWCOLLECTION *collection, stringbuffer_t
      *sb, int precision, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:538,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:539,1
    - Dst: lwtriangle_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkt.c:541,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:543,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:547,1
    - Dst: ptarray_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:548,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - tri
    - sb
    - precision
    - variant
    argTypes:
    - LWTRIANGLE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 550
    functionName: lwtriangle_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwtriangle_is_empty
    - dimension_qualifiers_to_wkt_sb
    - ptarray_to_wkt_sb
    - empty_to_wkt_sb
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void lwtriangle_to_wkt_sb(const LWTRIANGLE *tri, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:561,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:562,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:566,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:570,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:574,1
    - Dst: lwtriangle_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:576,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - tin
    - sb
    - precision
    - variant
    argTypes:
    - LWTIN*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 579
    functionName: lwtin_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - stringbuffer_append_len
    - lwtriangle_to_wkt_sb
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwtin_to_wkt_sb(const LWTIN *tin, stringbuffer_t *sb, int precision,
      uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:590,1
    - Dst: dimension_qualifiers_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:591,1
    - Dst: empty_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:595,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:601,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:605,1
    - Dst: lwpoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:607,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_wkt.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - psurf
    - sb
    - precision
    - variant
    argTypes:
    - LWPSURFACE*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 610
    functionName: lwpsurface_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - empty_to_wkt_sb
    - lwpoly_to_wkt_sb
    - stringbuffer_append_len
    - dimension_qualifiers_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwpsurface_to_wkt_sb(const LWPSURFACE *psurf, stringbuffer_t *sb,
      int precision, uint8_t variant)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkt.c:618,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:619,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkt.c:620,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkt.c:620,1
    - Dst: lwpoint_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:625,1
    - Dst: lwline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:628,1
    - Dst: lwpoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:631,1
    - Dst: lwmpoint_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:634,1
    - Dst: lwmline_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:637,1
    - Dst: lwmpoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:640,1
    - Dst: lwcollection_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:643,1
    - Dst: lwcircstring_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:646,1
    - Dst: lwcompound_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:649,1
    - Dst: lwcurvepoly_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:652,1
    - Dst: lwmcurve_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:655,1
    - Dst: lwmsurface_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:658,1
    - Dst: lwtriangle_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:661,1
    - Dst: lwtin_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:664,1
    - Dst: lwpsurface_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:667,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:670,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkt.c:671,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - geom
    - sb
    - precision
    - variant
    argTypes:
    - LWGEOM*
    - stringbuffer_t*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 616
    functionDepth: 7
    functionLinenumber: 616
    functionLinenumberEnd: 673
    functionName: lwgeom_to_wkt_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 1
    functionsReached:
    - lwmpoint_to_wkt_sb
    - lwpoint_to_wkt_sb
    - lwmline_to_wkt_sb
    - FLAGS_GET_Z
    - lwcircstring_to_wkt_sb
    - lwcollection_to_wkt_sb
    - lwcurvepoly_to_wkt_sb
    - lwcompound_to_wkt_sb
    - lwline_to_wkt_sb
    - lwerror
    - FLAGS_GET_M
    - lwtriangle_to_wkt_sb
    - lwtype_name
    - lwmcurve_to_wkt_sb
    - LWDEBUGF
    - lwpsurface_to_wkt_sb
    - lwpoly_to_wkt_sb
    - lwmsurface_to_wkt_sb
    - lwtin_to_wkt_sb
    - lwmpoly_to_wkt_sb
    linkageType: ''
    returnType: void
    signature: void lwgeom_to_wkt_sb(const LWGEOM *geom, stringbuffer_t *sb, int precision,
      uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/liblwgeom/lwout_wkt.c:681,1
    - Dst: lwgeom_has_srid
      Src: /src/postgis/liblwgeom/lwout_wkt.c:683,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_wkt.c:685,1
    - Dst: lwgeom_to_wkt_sb
      Src: /src/postgis/liblwgeom/lwout_wkt.c:687,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/liblwgeom/lwout_wkt.c:688,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkt.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - variant
    - precision
    argTypes:
    - LWGEOM*
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 675
    functionDepth: 8
    functionLinenumber: 675
    functionLinenumberEnd: 694
    functionName: lwgeom_to_wkt_internal
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_has_srid
    - lwerror
    - stringbuffer_aprintf
    - lwgeom_to_wkt_sb
    - stringbuffer_create
    - stringbuffer_getstring
    linkageType: ''
    returnType: stringbuffer_t
    signature: 'stringbuffer_t *

      lwgeom_to_wkt_internal(const LWGEOM *geom, uint8_t variant, int precision)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkt_internal
      Src: /src/postgis/liblwgeom/lwout_wkt.c:710,1
    - Dst: stringbuffer_getstringcopy
      Src: /src/postgis/liblwgeom/lwout_wkt.c:713,1
    - Dst: stringbuffer_getlength
      Src: /src/postgis/liblwgeom/lwout_wkt.c:715,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_wkt.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - geom
    - variant
    - precision
    - size_out
    argTypes:
    - LWGEOM*
    - uint8_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 707
    functionDepth: 9
    functionLinenumber: 707
    functionLinenumberEnd: 718
    functionName: lwgeom_to_wkt
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - stringbuffer_getstringcopy
    - lwgeom_to_wkt_internal
    - stringbuffer_getlength
    - stringbuffer_destroy
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_to_wkt(const LWGEOM *geom, uint8_t variant, int precision, size_t *size_out)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkt_internal
      Src: /src/postgis/liblwgeom/lwout_wkt.c:723,1
    - Dst: stringbuffer_getvarlenacopy
      Src: /src/postgis/liblwgeom/lwout_wkt.c:726,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_wkt.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - geom
    - variant
    - precision
    argTypes:
    - LWGEOM*
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 720
    functionDepth: 9
    functionLinenumber: 720
    functionLinenumberEnd: 729
    functionName: lwgeom_to_wkt_varlena
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt_internal
    - stringbuffer_getvarlenacopy
    - stringbuffer_destroy
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_wkt_varlena(const LWGEOM *geom, uint8_t variant, int precision)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - HomogenizeBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: init_homogenizebuffer
    functionSourceFile: /src/postgis/liblwgeom/lwhomogenize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_homogenizebuffer(HomogenizeBuffer *buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:80,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:98,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwhomogenize.c:99,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwhomogenize.c:99,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/liblwgeom/lwhomogenize.c:100,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:104,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwhomogenize.c:104,1
    - Dst: lwcollection_build_buffer
      Src: /src/postgis/liblwgeom/lwhomogenize.c:109,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwhomogenize.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - col
    - buffer
    argTypes:
    - LWCOLLECTION*
    - HomogenizeBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 113
    functionName: lwcollection_build_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwhomogenize.c
    functionUses: 1
    functionsReached:
    - lwcollection_is_empty
    - lwgeom_as_lwcollection
    - lwcollection_construct_empty
    - lwtype_get_collectiontype
    - FLAGS_GET_M
    - lwgeom_clone_deep
    - lwcollection_build_buffer
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwcollection_build_buffer(const LWCOLLECTION *col, HomogenizeBuffer
      *buffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: init_homogenizebuffer
      Src: /src/postgis/liblwgeom/lwhomogenize.c:126,1
    - Dst: lwcollection_build_buffer
      Src: /src/postgis/liblwgeom/lwhomogenize.c:127,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:143,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwhomogenize.c:143,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwhomogenize.c:143,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:144,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwhomogenize.c:154,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:158,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:167,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwhomogenize.c:167,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwhomogenize.c:167,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:175,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwhomogenize.c:176,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:180,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:180,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 188
    functionName: lwcollection_homogenize
    functionSourceFile: /src/postgis/liblwgeom/lwhomogenize.c
    functionUses: 0
    functionsReached:
    - lwcollection_as_lwgeom
    - lwcollection_construct_empty
    - FLAGS_GET_M
    - lwcollection_free
    - init_homogenizebuffer
    - lwcollection_build_buffer
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_homogenize(const LWCOLLECTION *col)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:213,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwhomogenize.c:215,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwhomogenize.c:217,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwhomogenize.c:217,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwhomogenize.c:217,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwhomogenize.c:217,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwhomogenize.c:220,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwhomogenize.c:234,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwhomogenize.c:250,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwhomogenize.c:253,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwhomogenize.c:258,1
    - Dst: lwcollection_homogenize
      Src: /src/postgis/liblwgeom/lwhomogenize.c:263,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwhomogenize.c:267,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwhomogenize.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 271
    functionName: lwgeom_homogenize
    functionSourceFile: /src/postgis/liblwgeom/lwhomogenize.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - gbox_copy
    - lwcollection_as_lwgeom
    - lwerror
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - lwgeom_has_z
    - lwgeom_clone_deep
    - lwcollection_homogenize
    - lwtype_name
    - lwgeom_has_m
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_homogenize(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT4D*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: distance3d_sqr_pt4d_pt4d
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double distance3d_sqr_pt4d_pt4d(const POINT4D *p1, const POINT4D *p2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:64,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:65,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:66,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:67,1
    - Dst: kmeans
      Src: /src/postgis/liblwgeom/lwkmeans.c:85,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:100,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:101,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:102,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 7
    argNames:
    - objs
    - clusters
    - n
    - centers
    - radii
    - k
    - max_radius
    argTypes:
    - POINT4D*
    - uint32_t*
    - uint32_t
    - POINT4D*
    - double*
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 105
    functionName: improve_structure
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached:
    - lwfree
    - kmeans
    - lwalloc
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t improve_structure(POINT4D *objs,\n\t\t  uint32_t *clusters,\n\t\t
      \ uint32_t n,\n\t\t  POINT4D *centers,\n\t\t  double *radii,\n\t\t  uint32_t
      k,\n\t\t  double max_radius)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:113,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:120,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - objs
    - clusters
    - n
    - centers
    - radii
    - k
    argTypes:
    - POINT4D*
    - uint32_t*
    - uint32_t
    - POINT4D*
    - double*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: update_r
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached:
    - distance3d_sqr_pt4d_pt4d
    - memset
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t update_r(POINT4D *objs, uint32_t *clusters, uint32_t n, POINT4D
      *centers, double *radii, uint32_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - objs
    - clusters
    - n
    - centers
    - k
    argTypes:
    - POINT4D*
    - uint32_t*
    - uint32_t
    - POINT4D*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: update_means
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void update_means(POINT4D *objs, uint32_t *clusters, uint32_t n, POINT4D
      *centers, uint32_t k)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:183,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:194,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:195,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwkmeans.c:213,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:219,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:228,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:232,1
    - Dst: distance3d_sqr_pt4d_pt4d
      Src: /src/postgis/liblwgeom/lwkmeans.c:250,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:263,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:271,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - objs
    - n
    - centers
    - k
    argTypes:
    - POINT4D*
    - uint32_t
    - POINT4D*
    - uint32_t
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    - condition: (p1 != p2 && max_dst >= 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    - condition: (max_distance >= 0)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    constantsTouched: []
    func_position:
      end: 273
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 273
    functionName: kmeans_init
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached:
    - assert
    - lwfree
    - lwalloc
    - lwnotice
    - distance3d_sqr_pt4d_pt4d
    linkageType: ''
    returnType: void
    signature: void kmeans_init(POINT4D *objs, uint32_t n, POINT4D *centers, uint32_t
      k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: kmeans_init
      Src: /src/postgis/liblwgeom/lwkmeans.c:287,1
    - Dst: update_r
      Src: /src/postgis/liblwgeom/lwkmeans.c:289,1
    - Dst: update_means
      Src: /src/postgis/liblwgeom/lwkmeans.c:290,1
    - Dst: LW_ON_INTERRUPT
      Src: /src/postgis/liblwgeom/lwkmeans.c:296,1
    - Dst: update_r
      Src: /src/postgis/liblwgeom/lwkmeans.c:297,1
    - Dst: update_means
      Src: /src/postgis/liblwgeom/lwkmeans.c:300,1
    - Dst: improve_structure
      Src: /src/postgis/liblwgeom/lwkmeans.c:306,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwkmeans.c:314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 7
    argNames:
    - objs
    - clusters
    - n
    - centers
    - radii
    - min_k
    - max_radius
    argTypes:
    - POINT4D*
    - uint32_t*
    - uint32_t
    - POINT4D*
    - double*
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 318
    functionName: kmeans
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 1
    functionsReached:
    - lwerror
    - update_r
    - update_means
    - kmeans_init
    - LW_ON_INTERRUPT
    - improve_structure
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t kmeans(POINT4D *objs,\n       uint32_t *clusters,\n       uint32_t
      n,\n       POINT4D *centers,\n       double *radii,\n       uint32_t min_k,\n
      \      double max_radius)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:325,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:326,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:327,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwkmeans.c:328,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwkmeans.c:332,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:339,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:342,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:343,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:346,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:351,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:352,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:355,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:356,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwkmeans.c:366,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwkmeans.c:370,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwkmeans.c:372,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:372,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwkmeans.c:373,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:373,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwkmeans.c:374,1
    - Dst: lwpoint_get_z
      Src: /src/postgis/liblwgeom/lwkmeans.c:375,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:375,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwkmeans.c:376,1
    - Dst: lwpoint_get_m
      Src: /src/postgis/liblwgeom/lwkmeans.c:378,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:378,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwkmeans.c:380,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwkmeans.c:384,1
    - Dst: lwgeom_centroid
      Src: /src/postgis/liblwgeom/lwkmeans.c:387,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwkmeans.c:390,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwkmeans.c:392,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwkmeans.c:395,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:395,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwkmeans.c:396,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwkmeans.c:396,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwkmeans.c:397,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwkmeans.c:402,1
    - Dst: gbox_is_valid
      Src: /src/postgis/liblwgeom/lwkmeans.c:403,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwkmeans.c:415,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwkmeans.c:427,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwkmeans.c:428,1
    - Dst: kmeans
      Src: /src/postgis/liblwgeom/lwkmeans.c:429,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:437,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:441,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:442,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:443,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:444,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwkmeans.c:451,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 4
    argNames:
    - geoms
    - n
    - k
    - max_radius
    argTypes:
    - LWGEOM**
    - uint32_t
    - uint32_t
    - double
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    - condition: (k > 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    - condition: (geoms)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    - condition: (max_radius >= 0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/postgis/liblwgeom/lwkmeans.c
    constantsTouched: []
    func_position:
      end: 453
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 453
    functionName: lwgeom_cluster_kmeans
    functionSourceFile: /src/postgis/liblwgeom/lwkmeans.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - assert
    - lwgeom_free
    - lwgeom_as_lwpoint
    - lwgeom_has_z
    - lwalloc
    - lwpoint_get_m
    - lwgeom_has_m
    - gbox_is_valid
    - memset
    - lwerror
    - lwgeom_get_type
    - lwfree
    - lwgeom_centroid
    - lwpoint_get_y
    - kmeans
    - lwgeom_is_empty
    - lwnotice
    - lwpoint_get_z
    - lwpoint_get_x
    linkageType: ''
    returnType: int
    signature: 'int *

      lwgeom_cluster_kmeans(const LWGEOM **geoms, uint32_t n, uint32_t k, double max_radius)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: wkt_yyerror
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    linkageType: ''
    returnType: void
    signature: void wkt_yyerror(__attribute__((__unused__)) const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:131,1
    - Dst: wkt_lexer_init
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:145,1
    - Dst: wkt_yyparse
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:146,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:147,1
    - Dst: wkt_lexer_close
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:161,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:165,1
    - Dst: wkt_yylex_destroy
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:172,1
    - Dst: wkt_yylex_destroy
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - parser_result
    - wktstr
    - parser_check_flags
    argTypes:
    - LWGEOM_PARSER_RESULT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 180
    functionName: lwgeom_parse_wkt
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - wkt_lexer_close
    - lwgeom_parser_result_init
    - wkt_lexer_init
    - wkt_yylex_destroy
    - LWDEBUGF
    - wkt_yyparse
    linkageType: ''
    returnType: int
    signature: int lwgeom_parse_wkt(LWGEOM_PARSER_RESULT *parser_result, char *wktstr,
      int parser_check_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: WKT_ERROR
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WKT_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: YY_CAST
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: YY_CAST
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: YY_REINTERPRET_CAST
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REINTERPRET_CAST(Type, Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: YYSIZEOF
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSIZEOF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: YY_
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: YY_
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_(Msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: YY_USE
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_USE(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: YY_INITIAL_VALUE
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INITIAL_VALUE(Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: YY_ASSERT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ASSERT(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: YYSTACK_BYTES
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_BYTES(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Stack_alloc
    - ','
    - Stack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 584
    functionName: YYSTACK_RELOCATE
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYSTACK_RELOCATE(Stack_alloc, Stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: YYCOPY
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Dst
    - ','
    - Src
    - ','
    - Count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: YYCOPY
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCOPY(Dst, Src, Count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - YYX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: YYTRANSLATE
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYTRANSLATE(YYX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - State
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: YY_ACCESSING_SYMBOL
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_ACCESSING_SYMBOL(State)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yysymbol
    argTypes:
    - yysymbol_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: yysymbol_name
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yysymbol_name (yysymbol_kind_t yysymbol)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: yypact_value_is_default
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yypact_value_is_default(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Yyn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: yytable_value_is_error
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yytable_value_is_error(Yyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 976
    functionName: YYRECOVERING
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRECOVERING()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Token
    - ','
    - Value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 993
    functionName: YYBACKUP
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYBACKUP(Token, Value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Current
    - ','
    - Rhs
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1020
    functionName: YYLLOC_DEFAULT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLLOC_DEFAULT(Current, Rhs, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Rhs
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1023
    functionName: YYRHSLOC
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYRHSLOC(Rhs, K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: YYDPRINTF
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1051
    functionName: YYLOCATION_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLOCATION_PRINT(File, Loc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1064,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1066,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1072,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1074,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - yyo
    - yylocp
    argTypes:
    - FILE*
    - YYLTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1080
    functionName: yy_location_print_
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: YY_ATTRIBUTE_UNUSED
    signature: YY_ATTRIBUTE_UNUSED yy_location_print_ (FILE *yyo, YYLTYPE const *
      const yylocp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1087
    functionName: YY_LOCATION_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_LOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - File
    - ','
    - Loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1091
    functionName: YYLOCATION_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYLOCATION_PRINT(File, Loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Title
    - ','
    - Kind
    - ','
    - Value
    - ','
    - Location
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1109
    functionName: YY_SYMBOL_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SYMBOL_PRINT(Title, Kind, Value, Location)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YY_USE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1120,1
    - Dst: YY_USE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - yyo
    - yykind
    - yyvaluep
    - yylocationp
    argTypes:
    - FILE*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1127
    functionName: yy_symbol_value_print
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - YY_USE
    linkageType: ''
    returnType: void
    signature: "void yy_symbol_value_print (FILE *yyo,\n                       yysymbol_kind_t
      yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1138,1
    - Dst: yysymbol_name
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1139,1
    - Dst: YYLOCATION_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1141,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1142,1
    - Dst: yy_symbol_value_print
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1143,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - yyo
    - yykind
    - yyvaluep
    - yylocationp
    argTypes:
    - FILE*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1145
    functionName: yy_symbol_print
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - yy_symbol_value_print
    - YYLOCATION_PRINT
    - yysymbol_name
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: "void yy_symbol_print (FILE *yyo,\n                 yysymbol_kind_t
      yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1155,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1159,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - yybottom
    - yytop
    argTypes:
    - yy_state_t*
    - yy_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1162
    functionName: yy_stack_print
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: void yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Bottom
    - ','
    - Top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1169
    functionName: YY_STACK_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STACK_PRINT(Bottom, Top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1182,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1187,1
    - Dst: yy_symbol_print
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1188,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1189,1
    - Dst: YYFPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - yyssp
    - yyvsp
    - yylsp
    - yyrule
    argTypes:
    - yy_state_t*
    - YYSTYPE*
    - YYLTYPE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1194
    functionName: yy_reduce_print
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - YY_ACCESSING_SYMBOL
    - yy_symbol_print
    - YYFPRINTF
    linkageType: ''
    returnType: void
    signature: "void yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,\n
      \                int yyrule)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1201
    functionName: YY_REDUCE_PRINT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_REDUCE_PRINT(Rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1207
    functionName: YYDPRINTF
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYDPRINTF(Args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: yypact_value_is_default
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1251,1
    - Dst: yytable_value_is_error
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1263,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - yyctx
    - yyarg
    - yyargn
    argTypes:
    - yypcontext_t*
    - yysymbol_kind_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1276
    functionName: yypcontext_expected_tokens
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - yytable_value_is_error
    - YY_CAST
    - yypact_value_is_default
    linkageType: ''
    returnType: int
    signature: "int yypcontext_expected_tokens (const yypcontext_t *yyctx,\n                            yysymbol_kind_t
      yyarg[], int yyargn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1284
    functionName: yystrlen
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yystrlen(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1293
    functionName: yystrlen
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yystrlen (const char *yystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - yydest
    - yysrc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1313
    functionName: yystpcpy
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      yystpcpy (char *yydest, const char *yysrc)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: yystpcpy
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1361,1
    - Dst: yystrlen
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1363,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - yyres
    - yystr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1364
    functionName: yytnamerr
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - yystrlen
    - yystpcpy
    linkageType: ''
    returnType: YYPTRDIFF_T
    signature: YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: yypcontext_expected_tokens
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - yyctx
    - yyarg
    - yyargn
    argTypes:
    - yypcontext_t*
    - yysymbol_kind_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1411
    functionName: yy_syntax_error_arguments
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - yypcontext_expected_tokens
    linkageType: ''
    returnType: int
    signature: "int yy_syntax_error_arguments (const yypcontext_t *yyctx,\n                           yysymbol_kind_t
      yyarg[], int yyargn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: yy_syntax_error_arguments
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1435,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1446,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1446,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1447,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1447,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1448,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1448,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1449,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1449,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1450,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1450,1
    - Dst: YYCASE_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1451,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1451,1
    - Dst: yystrlen
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1457,1
    - Dst: yytnamerr
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1463,1
    - Dst: yytnamerr
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1489,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - yymsg_alloc
    - yymsg
    - yyctx
    argTypes:
    - YYPTRDIFF_T*
    - char**
    - yypcontext_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1499
    functionName: yysyntax_error
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - yytnamerr
    - YYCASE_
    - yystrlen
    - yy_syntax_error_arguments
    - YY_
    linkageType: ''
    returnType: int
    signature: "int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,\n                const
      yypcontext_t *yyctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1445
    functionName: YYCASE_
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYCASE_(N, S)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: YY_USE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1510,1
    - Dst: YY_USE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1511,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1514,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1521,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1527,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1533,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1539,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1545,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1551,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1557,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1563,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1569,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1575,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1581,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1587,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1593,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1599,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1605,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1611,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1617,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1623,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1629,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1635,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1641,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1647,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1653,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1659,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1665,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1671,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1677,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1683,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1689,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1695,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1701,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1707,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1713,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1719,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1725,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1731,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1737,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 157
    argCount: 4
    argNames:
    - yymsg
    - yykind
    - yyvaluep
    - yylocationp
    argTypes:
    - char*
    - yysymbol_kind_t
    - YYSTYPE*
    - YYLTYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1745
    functionName: yydestruct
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - YY_USE
    - lwgeom_free
    - YY_SYMBOL_PRINT
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: "void yydestruct (const char *yymsg,\n            yysymbol_kind_t yykind,
      YYSTYPE *yyvaluep, YYLTYPE *yylocationp)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1521,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1527,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1533,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1539,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1545,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1551,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1557,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1563,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1569,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1575,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1581,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1587,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1593,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1599,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1605,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1611,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1617,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1623,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1629,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1635,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1641,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1647,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1653,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1659,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1665,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1671,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1677,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1683,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1689,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1695,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1701,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1707,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1713,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1719,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1725,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1731,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1737,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1743
    functionName: switch
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ptarray_free
    linkageType: ''
    returnType: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    signature: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN switch (yykind)
  - BBCount: 169
    BranchProfiles: []
    Callsites:
    - Dst: YYDPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1821,1
    - Dst: YYDPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1842,1
    - Dst: YY_ASSERT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1843,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1845,1
    - Dst: yyoverflow
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1870,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1870,1
    - Dst: YYSIZEOF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1871,1
    - Dst: YYSIZEOF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1872,1
    - Dst: YYSIZEOF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1873,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1890,1
    - Dst: YYSTACK_ALLOC
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1891,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1891,1
    - Dst: YYSTACK_BYTES
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1891,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1894,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1895,1
    - Dst: YYSTACK_RELOCATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1896,1
    - Dst: YYSTACK_FREE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1899,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1909,1
    - Dst: yypact_value_is_default
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1933,1
    - Dst: YYDPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1941,1
    - Dst: yylex
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1942,1
    - Dst: YYDPRINTF
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1949,1
    - Dst: YYTRANSLATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1964,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1965,1
    - Dst: yytable_value_is_error
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1976,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:1988,1
    - Dst: YYLLOC_DEFAULT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2028,1
    - Dst: YY_REDUCE_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2030,1
    - Dst: wkt_parser_geometry_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2035,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2035,1
    - Dst: wkt_parser_geometry_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2041,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2041,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2137,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2137,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2143,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2143,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2149,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2149,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2155,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2155,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2161,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2161,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2167,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2167,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2173,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2173,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2179,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2179,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2185,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2185,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2191,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2191,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2197,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2197,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2203,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2203,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2209,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2209,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2215,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2215,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2221,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2221,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2227,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2227,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2233,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2233,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2239,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2239,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2245,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2245,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2251,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2251,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2257,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2257,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2263,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2263,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2269,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2269,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2275,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2275,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2281,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2281,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2287,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2287,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2293,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2293,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2299,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2299,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2305,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2305,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2311,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2311,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2317,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2317,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2323,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2323,1
    - Dst: wkt_parser_polygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2329,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2329,1
    - Dst: wkt_parser_polygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2335,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2335,1
    - Dst: wkt_parser_polygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2341,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2341,1
    - Dst: wkt_parser_polygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2347,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2347,1
    - Dst: wkt_parser_polygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2359,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2359,1
    - Dst: wkt_parser_curvepolygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2371,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2371,1
    - Dst: wkt_parser_curvepolygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2377,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2377,1
    - Dst: wkt_parser_curvepolygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2383,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2383,1
    - Dst: wkt_parser_curvepolygon_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2389,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2389,1
    - Dst: wkt_parser_curvepolygon_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2395,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2395,1
    - Dst: wkt_parser_curvepolygon_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2401,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2401,1
    - Dst: wkt_parser_polygon_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2431,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2431,1
    - Dst: wkt_parser_polygon_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2437,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2437,1
    - Dst: wkt_parser_polygon_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2443,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2443,1
    - Dst: wkt_parser_polygon_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2449,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2449,1
    - Dst: wkt_parser_compound_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2467,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2467,1
    - Dst: wkt_parser_compound_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2473,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2473,1
    - Dst: wkt_parser_compound_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2479,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2479,1
    - Dst: wkt_parser_compound_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2485,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2485,1
    - Dst: wkt_parser_compound_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2491,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2491,1
    - Dst: wkt_parser_compound_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2497,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2497,1
    - Dst: wkt_parser_compound_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2503,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2503,1
    - Dst: wkt_parser_compound_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2509,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2509,1
    - Dst: wkt_parser_compound_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2515,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2515,1
    - Dst: wkt_parser_compound_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2521,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2521,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2527,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2527,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2533,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2533,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2539,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2539,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2545,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2545,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2551,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2551,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2557,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2557,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2563,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2563,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2569,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2569,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2575,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2575,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2581,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2581,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2587,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2587,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2593,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2593,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2599,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2599,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2605,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2605,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2611,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2611,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2617,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2617,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2623,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2623,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2629,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2629,1
    - Dst: wkt_parser_circularstring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2635,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2635,1
    - Dst: wkt_parser_circularstring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2641,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2641,1
    - Dst: wkt_parser_circularstring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2647,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2647,1
    - Dst: wkt_parser_circularstring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2653,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2653,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2659,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2659,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2665,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2665,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2671,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2671,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2677,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2677,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2683,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2683,1
    - Dst: wkt_parser_linestring_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2689,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2689,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2695,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2695,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2701,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2701,1
    - Dst: wkt_parser_triangle_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2707,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2707,1
    - Dst: wkt_parser_triangle_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2713,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2713,1
    - Dst: wkt_parser_triangle_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2719,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2719,1
    - Dst: wkt_parser_triangle_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2725,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2725,1
    - Dst: wkt_parser_triangle_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2731,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2731,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2737,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2737,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2743,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2743,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2749,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2749,1
    - Dst: wkt_parser_collection_finalize
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2755,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2755,1
    - Dst: wkt_parser_collection_add_geom
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2761,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2761,1
    - Dst: wkt_parser_collection_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2767,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2767,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2773,1
    - Dst: wkt_parser_ptarray_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2773,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2773,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2779,1
    - Dst: wkt_parser_ptarray_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2779,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2779,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2785,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2785,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2791,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2791,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2797,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2797,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2803,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2803,1
    - Dst: wkt_parser_point_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2809,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2809,1
    - Dst: wkt_parser_ptarray_add_coord
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2815,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2815,1
    - Dst: wkt_parser_ptarray_new
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2821,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2821,1
    - Dst: wkt_parser_coord_2
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2827,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2827,1
    - Dst: wkt_parser_coord_3
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2833,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2833,1
    - Dst: wkt_parser_coord_4
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2839,1
    - Dst: WKT_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2839,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2859,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2859,1
    - Dst: YYPOPSTACK
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2861,1
    - Dst: YYTRANSLATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2887,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2895,1
    - Dst: yysyntax_error
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2897,1
    - Dst: YYSTACK_FREE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2903,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2904,1
    - Dst: YYSTACK_ALLOC
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2905,1
    - Dst: YY_CAST
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2905,1
    - Dst: yysyntax_error
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2909,1
    - Dst: yyerror
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2919,1
    - Dst: yydestruct
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2939,1
    - Dst: YYPOPSTACK
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2962,1
    - Dst: YY_STACK_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2964,1
    - Dst: yypact_value_is_default
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2979,1
    - Dst: yydestruct
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2995,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2996,1
    - Dst: YYPOPSTACK
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2997,1
    - Dst: YY_STACK_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:2999,1
    - Dst: YYLLOC_DEFAULT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3008,1
    - Dst: YY_SYMBOL_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3011,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3011,1
    - Dst: yyerror
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3037,1
    - Dst: YY_
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3037,1
    - Dst: YYTRANSLATE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3050,1
    - Dst: yydestruct
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3051,1
    - Dst: YYPOPSTACK
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3056,1
    - Dst: YY_STACK_PRINT
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3057,1
    - Dst: yydestruct
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3060,1
    - Dst: YY_ACCESSING_SYMBOL
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3061,1
    - Dst: YYPOPSTACK
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3062,1
    - Dst: YYSTACK_FREE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3066,1
    - Dst: YYSTACK_FREE
      Src: /src/postgis/liblwgeom/lwin_wkt_parse.c:3069,1
    CyclomaticComplexity: 197
    EdgeCount: 197
    ICount: 878
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 1769
    functionDepth: 4
    functionLinenumber: 1769
    functionLinenumberEnd: 3071
    functionName: yyparse
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 1
    functionsReached:
    - YYSTACK_ALLOC
    - YY_ASSERT
    - WKT_ERROR
    - wkt_parser_curvepolygon_new
    - YYDPRINTF
    - wkt_parser_polygon_new
    - yyerror
    - wkt_parser_circularstring_new
    - YY_CAST
    - wkt_parser_linestring_new
    - wkt_parser_curvepolygon_add_ring
    - wkt_parser_polygon_finalize
    - wkt_parser_polygon_add_ring
    - YY_REDUCE_PRINT
    - wkt_parser_curvepolygon_finalize
    - wkt_parser_ptarray_new
    - YYSIZEOF
    - wkt_parser_triangle_new
    - yypact_value_is_default
    - YY_ACCESSING_SYMBOL
    - YY_
    - wkt_parser_point_new
    - YYSTACK_RELOCATE
    - wkt_parser_geometry_new
    - wkt_parser_collection_add_geom
    - wkt_parser_compound_add_geom
    - wkt_parser_coord_4
    - YY_SYMBOL_PRINT
    - YYSTACK_FREE
    - wkt_parser_ptarray_add_coord
    - YYPOPSTACK
    - wkt_parser_compound_new
    - wkt_parser_coord_3
    - yytable_value_is_error
    - YYLLOC_DEFAULT
    - wkt_parser_coord_2
    - yylex
    - yydestruct
    - wkt_parser_collection_finalize
    - wkt_parser_compound_finalize
    - yyoverflow
    - yysyntax_error
    - YYSTACK_BYTES
    - YY_STACK_PRINT
    - wkt_parser_collection_new
    - YYTRANSLATE
    linkageType: ''
    returnType: int
    signature: int yyparse (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: YYPOPSTACK
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_parse.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YYPOPSTACK(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:34,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:35,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:36,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT4D*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: p4d_same
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int p4d_same(const POINT4D *p1, const POINT4D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:43,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:44,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: p3d_same
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int p3d_same(const POINT3D *p1, const POINT3D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:51,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:52,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3DZ*
    - POINT3DZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: p3dz_same
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int p3dz_same(const POINT3DZ *p1, const POINT3DZ *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:59,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwalgorithm.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: p2d_same
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int p2d_same(const POINT2D *p1, const POINT2D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwalgorithm.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - q
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: lw_segment_side
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 3
    functionsReached:
    - SIGNUM
    linkageType: ''
    returnType: int
    signature: int lw_segment_side(const POINT2D *p1, const POINT2D *p2, const POINT2D
      *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - A1
    - A2
    argTypes:
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: lw_seg_length
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double lw_seg_length(const POINT2D *A1, const POINT2D *A2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:93,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - P
    - A1
    - A2
    - A3
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: lw_pt_in_arc
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    linkageType: ''
    returnType: int
    signature: int lw_pt_in_arc(const POINT2D *P, const POINT2D *A1, const POINT2D
      *A2, const POINT2D *A3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - P
    - A1
    - A2
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: lw_pt_in_seg
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lw_pt_in_seg(const POINT2D *P, const POINT2D *A1, const POINT2D
      *A2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - A1
    - A2
    - A3
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: lw_arc_is_pt
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lw_arc_is_pt(const POINT2D *A1, const POINT2D *A2, const POINT2D
      *A3)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:132,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwalgorithm.c:135,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:142,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwalgorithm.c:147,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:151,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwalgorithm.c:161,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwalgorithm.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - A1
    - A2
    - A3
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 182
    functionName: lw_arc_length
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - p2d_same
    - lw_arc_center
    - lw_arc_is_pt
    - atan2
    - sqrt
    linkageType: ''
    returnType: double
    signature: double lw_arc_length(const POINT2D *A1, const POINT2D *A2, const POINT2D
      *A3)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:191,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwalgorithm.c:192,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:193,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - A1
    - A2
    - A3
    - Q
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 223
    functionName: lw_arc_side
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - lw_arc_center
    - distance2d_pt_pt
    linkageType: ''
    returnType: int
    signature: int lw_arc_side(const POINT2D *A1, const POINT2D *A2, const POINT2D
      *A3, const POINT2D *Q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:242,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwalgorithm.c:245,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwalgorithm.c:246,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:253,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:253,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:253,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:263,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:263,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:264,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:264,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwalgorithm.c:270,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:279,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:279,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwalgorithm.c:279,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - p1
    - p2
    - p3
    - result
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 284
    functionName: lw_arc_center
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 5
    functionsReached:
    - fabs
    - LWDEBUGF
    - sqrt
    - pow
    linkageType: ''
    returnType: double
    signature: double lw_arc_center(const POINT2D *p1, const POINT2D *p2, const POINT2D
      *p3, POINT2D *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:294,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:295,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:296,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwalgorithm.c:298,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:304,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:308,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:312,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - p
    - ring
    argTypes:
    - POINT2D*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 339
    functionName: pt_in_ring_2d
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lwerror
    - getPoint2d_cp
    - LWDEBUGF
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pt_in_ring_2d(const POINT2D *p, const POINTARRAY *ring)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwalgorithm.c:345,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwalgorithm.c:346,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwalgorithm.c:347,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwalgorithm.c:348,1
    - Dst: FP_GT
      Src: /src/postgis/liblwgeom/lwalgorithm.c:350,1
    - Dst: FP_LT
      Src: /src/postgis/liblwgeom/lwalgorithm.c:350,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwalgorithm.c:353,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwalgorithm.c:354,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwalgorithm.c:355,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwalgorithm.c:356,1
    - Dst: FP_GT
      Src: /src/postgis/liblwgeom/lwalgorithm.c:358,1
    - Dst: FP_LT
      Src: /src/postgis/liblwgeom/lwalgorithm.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - p1
    - p2
    - q1
    - q2
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 362
    functionName: lw_seg_interact
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - FP_GT
    - FP_LT
    linkageType: ''
    returnType: int
    signature: int lw_seg_interact(const POINT2D *p1, const POINT2D *p2, const POINT2D
      *q1, const POINT2D *q2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lw_seg_interact
      Src: /src/postgis/liblwgeom/lwalgorithm.c:384,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:390,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:391,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:398,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwalgorithm.c:399,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:416,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:417,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - p1
    - p2
    - q1
    - q2
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 451
    functionName: lw_segment_intersects
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - LWDEBUGF
    - lw_seg_interact
    linkageType: ''
    returnType: int
    signature: int lw_segment_intersects(const POINT2D *p1, const POINT2D *p2, const
      POINT2D *q1, const POINT2D *q2)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwalgorithm.c:488,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwalgorithm.c:488,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:493,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:494,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwalgorithm.c:495,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/lwalgorithm.c:496,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:497,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwalgorithm.c:498,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:502,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:508,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:511,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwalgorithm.c:517,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/lwalgorithm.c:519,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:521,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwalgorithm.c:525,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwalgorithm.c:533,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwalgorithm.c:546,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwalgorithm.c:552,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwalgorithm.c:564,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - LWLINE*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 589
    functionName: lwline_crossing_direction
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - LWDEBUG
    - lw_segment_intersects
    - lwfree
    - lwgeom_to_ewkt
    - ptarray_length_2d
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwline_crossing_direction(const LWLINE *l1, const LWLINE *l2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwalgorithm.c:609,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/lwalgorithm.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - longitude
    - latitude
    - precision
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 661
    functionName: geohash_point
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - LWSIZE_SET
    - lwalloc
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      geohash_point(double longitude, double latitude, int precision)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - pt
    argTypes:
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 716
    functionName: geohash_point_as_int
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int geohash_point_as_int(POINT2D *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwalgorithm.c:735,1
    - Dst: tolower
      Src: /src/postgis/liblwgeom/lwalgorithm.c:743,1
    - Dst: strchr
      Src: /src/postgis/liblwgeom/lwalgorithm.c:746,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwalgorithm.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - geohash
    - lat
    - lon
    - precision
    argTypes:
    - char*
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 769
    functionName: decode_geohash_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lwerror
    - strchr
    - strlen
    - tolower
    linkageType: ''
    returnType: void
    signature: void decode_geohash_bbox(char *geohash, double *lat, double *lon, int
      precision)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - bbox
    - bounds
    argTypes:
    - GBOX
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 858
    functionName: lwgeom_geohash_precision
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_geohash_precision(GBOX bbox, GBOX *bounds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/lwalgorithm.c:875,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/lwalgorithm.c:876,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/lwalgorithm.c:878,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwalgorithm.c:884,1
    - Dst: lwgeom_geohash_precision
      Src: /src/postgis/liblwgeom/lwalgorithm.c:897,1
    - Dst: geohash_point
      Src: /src/postgis/liblwgeom/lwalgorithm.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - lwgeom
    - precision
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 906
    functionName: lwgeom_geohash
    functionSourceFile: /src/postgis/liblwgeom/lwalgorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_gbox_cartesian
    - gbox_init
    - lwerror
    - geohash_point
    - lwgeom_geohash_precision
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_geohash(const LWGEOM *lwgeom, int precision)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:46,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_wkb.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: hexbytes_from_bytes
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwalloc
    linkageType: ''
    returnType: char
    signature: char * hexbytes_from_bytes(const uint8_t *bytes, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: lwgeom_wkb_needs_srid
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_has_srid
    linkageType: ''
    returnType: int
    signature: int lwgeom_wkb_needs_srid(const LWGEOM *geom, uint8_t variant)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:135,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkb.c:135,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkb.c:140,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkb.c:142,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:145,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_wkb.c:151,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwout_wkb.c:154,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 159
    functionName: lwgeom_wkb_type
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwgeom_wkb_needs_srid
    - FLAGS_GET_M
    - lwtype_name
    - FLAGS_GET_Z
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwgeom_wkb_type(const LWGEOM *geom, uint8_t variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - variant
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: endian_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * endian_to_wkb_buf(uint8_t *buf, uint8_t variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - variant
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: wkb_swap_bytes
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wkb_swap_bytes(uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:204,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:206,1
    - Dst: wkb_swap_bytes
      Src: /src/postgis/liblwgeom/lwout_wkb.c:209,1
    - Dst: wkb_swap_bytes
      Src: /src/postgis/liblwgeom/lwout_wkb.c:225,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwout_wkb.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ival
    - buf
    - variant
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 239
    functionName: integer_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - LWDEBUGF
    - wkb_swap_bytes
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      integer_to_wkb_buf(const uint32_t ival, uint8_t *buf, uint8_t variant)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - variant
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: double_nan_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * double_nan_to_wkb_buf(uint8_t *buf, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:279,1
    - Dst: wkb_swap_bytes
      Src: /src/postgis/liblwgeom/lwout_wkb.c:284,1
    - Dst: wkb_swap_bytes
      Src: /src/postgis/liblwgeom/lwout_wkb.c:300,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwout_wkb.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - d
    - buf
    - variant
    argTypes:
    - double
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 314
    functionName: double_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - wkb_swap_bytes
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * double_to_wkb_buf(const double d, uint8_t *buf, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:326,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkb.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: empty_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t empty_to_wkb_size(const LWGEOM *geom, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:346,1
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:349,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:352,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:355,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:356,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkb.c:362,1
    - Dst: double_nan_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:364,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - buf
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 375
    functionName: empty_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - double_nan_to_wkb_buf
    - lwgeom_wkb_needs_srid
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - lwgeom_wkb_type
    - FLAGS_NDIMS
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * empty_to_wkb_buf(const LWGEOM *geom, uint8_t *buf, uint8_t
      variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkb.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pa
    - variant
    argTypes:
    - POINTARRAY*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: ptarray_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t ptarray_to_wkb_size(const POINTARRAY *pa, uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_wkb.c:401,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:411,1
    - Dst: wkb_swap_bytes
      Src: /src/postgis/liblwgeom/lwout_wkb.c:415,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwout_wkb.c:418,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwout_wkb.c:418,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:426,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwout_wkb.c:427,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:430,1
    - Dst: double_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:431,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pa
    - buf
    - variant
    argTypes:
    - POINTARRAY*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 437
    functionName: ptarray_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - double_to_wkb_buf
    - wkb_swap_bytes
    - getPoint_internal
    - integer_to_wkb_buf
    - LWDEBUGF
    - FLAGS_NDIMS
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * ptarray_to_wkb_buf(const POINTARRAY *pa, uint8_t *buf, uint8_t
      variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:448,1
    - Dst: empty_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:449,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:452,1
    - Dst: ptarray_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pt
    - variant
    argTypes:
    - LWPOINT*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: lwpoint_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - lwgeom_is_empty
    - empty_to_wkb_size
    - ptarray_to_wkb_size
    linkageType: ''
    returnType: size_t
    signature: size_t lwpoint_to_wkb_size(const LWPOINT *pt, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:463,1
    - Dst: empty_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:464,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:467,1
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:468,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:469,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:471,1
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:471,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:472,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:474,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:476,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:477,1
    - Dst: ptarray_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:480,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_wkb.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pt
    - buf
    - variant
    argTypes:
    - LWPOINT*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 483
    functionName: lwpoint_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_type
    - empty_to_wkb_buf
    - lwgeom_is_empty
    - lwgeom_wkb_needs_srid
    - ptarray_to_wkb_buf
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - LWDEBUGF
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwpoint_to_wkb_buf(const LWPOINT *pt, uint8_t *buf, uint8_t
      variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:494,1
    - Dst: empty_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:495,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:498,1
    - Dst: ptarray_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - line
    - variant
    argTypes:
    - LWLINE*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: lwline_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - lwgeom_is_empty
    - empty_to_wkb_size
    - ptarray_to_wkb_size
    linkageType: ''
    returnType: size_t
    signature: size_t lwline_to_wkb_size(const LWLINE *line, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:509,1
    - Dst: empty_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:510,1
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:513,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:515,1
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:515,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:517,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:518,1
    - Dst: ptarray_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - line
    - buf
    - variant
    argTypes:
    - LWLINE*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 522
    functionName: lwline_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - empty_to_wkb_buf
    - lwgeom_is_empty
    - lwgeom_wkb_needs_srid
    - ptarray_to_wkb_buf
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - lwgeom_wkb_type
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwline_to_wkb_buf(const LWLINE *line, uint8_t *buf, uint8_t
      variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:533,1
    - Dst: empty_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:534,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:537,1
    - Dst: ptarray_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tri
    - variant
    argTypes:
    - LWTRIANGLE*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: lwtriangle_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - lwgeom_is_empty
    - empty_to_wkb_size
    - ptarray_to_wkb_size
    linkageType: ''
    returnType: size_t
    signature: size_t lwtriangle_to_wkb_size(const LWTRIANGLE *tri, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:549,1
    - Dst: empty_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:550,1
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:553,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:556,1
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:556,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:559,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:560,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:563,1
    - Dst: ptarray_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tri
    - buf
    - variant
    argTypes:
    - LWTRIANGLE*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 569
    functionName: lwtriangle_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - empty_to_wkb_buf
    - lwgeom_is_empty
    - lwgeom_wkb_needs_srid
    - ptarray_to_wkb_buf
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - lwgeom_wkb_type
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwtriangle_to_wkb_buf(const LWTRIANGLE *tri, uint8_t *buf,
      uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:581,1
    - Dst: empty_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:582,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:585,1
    - Dst: ptarray_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - poly
    - variant
    argTypes:
    - LWPOLY*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 595
    functionName: lwpoly_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - lwgeom_is_empty
    - empty_to_wkb_size
    - ptarray_to_wkb_size
    linkageType: ''
    returnType: size_t
    signature: size_t lwpoly_to_wkb_size(const LWPOLY *poly, uint8_t variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:602,1
    - Dst: empty_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:603,1
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:606,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:608,1
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:608,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:610,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:611,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:613,1
    - Dst: ptarray_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - poly
    - buf
    - variant
    argTypes:
    - LWPOLY*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 621
    functionName: lwpoly_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - empty_to_wkb_buf
    - lwgeom_is_empty
    - lwgeom_wkb_needs_srid
    - ptarray_to_wkb_buf
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - lwgeom_wkb_type
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwpoly_to_wkb_buf(const LWPOLY *poly, uint8_t *buf, uint8_t
      variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:636,1
    - Dst: lwgeom_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - col
    - variant
    argTypes:
    - LWCOLLECTION*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 646
    functionName: lwcollection_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_size
    - lwgeom_wkb_needs_srid
    linkageType: ''
    returnType: size_t
    signature: size_t lwcollection_to_wkb_size(const LWCOLLECTION *col, uint8_t variant)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: endian_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:653,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:655,1
    - Dst: lwgeom_wkb_type
      Src: /src/postgis/liblwgeom/lwout_wkb.c:655,1
    - Dst: lwgeom_wkb_needs_srid
      Src: /src/postgis/liblwgeom/lwout_wkb.c:657,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:658,1
    - Dst: integer_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:660,1
    - Dst: lwgeom_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - col
    - buf
    - variant
    argTypes:
    - LWCOLLECTION*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 670
    functionName: lwcollection_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_wkb_needs_srid
    - endian_to_wkb_buf
    - integer_to_wkb_buf
    - lwgeom_wkb_type
    - lwgeom_to_wkb_buf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwcollection_to_wkb_buf(const LWCOLLECTION *col, uint8_t
      *buf, uint8_t variant)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_wkb.c:682,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:683,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:688,1
    - Dst: empty_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:690,1
    - Dst: lwpoint_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:696,1
    - Dst: lwline_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:702,1
    - Dst: lwpoly_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:707,1
    - Dst: lwtriangle_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:712,1
    - Dst: lwcollection_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:726,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:731,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkb.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 735
    functionName: lwgeom_to_wkb_size
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 1
    functionsReached:
    - lwpoly_to_wkb_size
    - LWDEBUG
    - lwerror
    - lwtriangle_to_wkb_size
    - lwgeom_is_empty
    - empty_to_wkb_size
    - lwline_to_wkb_size
    - lwtype_name
    - lwpoint_to_wkb_size
    - lwcollection_to_wkb_size
    linkageType: ''
    returnType: size_t
    signature: size_t lwgeom_to_wkb_size(const LWGEOM *geom, uint8_t variant)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_wkb.c:743,1
    - Dst: empty_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:744,1
    - Dst: lwpoint_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:749,1
    - Dst: lwline_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:754,1
    - Dst: lwpoly_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:758,1
    - Dst: lwtriangle_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:762,1
    - Dst: lwcollection_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:775,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:779,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_wkb.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - geom
    - buf
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 739
    functionDepth: 5
    functionLinenumber: 739
    functionLinenumberEnd: 783
    functionName: lwgeom_to_wkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 1
    functionsReached:
    - empty_to_wkb_buf
    - lwcollection_to_wkb_buf
    - lwerror
    - lwgeom_is_empty
    - lwpoint_to_wkb_buf
    - lwtriangle_to_wkb_buf
    - lwtype_name
    - lwpoly_to_wkb_buf
    - lwline_to_wkb_buf
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * lwgeom_to_wkb_buf(const LWGEOM *geom, uint8_t *buf, uint8_t
      variant)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkb_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - geom
    - variant
    - buffer
    argTypes:
    - LWGEOM*
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 796
    functionDepth: 6
    functionLinenumber: 796
    functionLinenumberEnd: 812
    functionName: lwgeom_to_wkb_write_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_buf
    linkageType: ''
    returnType: ptrdiff_t
    signature: ptrdiff_t lwgeom_to_wkb_write_buf(const LWGEOM *geom, uint8_t variant,
      uint8_t *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:817,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_wkb.c:824,1
    - Dst: lwgeom_to_wkb_write_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:825,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/lwout_wkb.c:834,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:835,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwout_wkb.c:836,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwout_wkb.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 814
    functionDepth: 10
    functionLinenumber: 814
    functionLinenumberEnd: 842
    functionName: lwgeom_to_wkb_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_size
    - lwgeom_to_wkt
    - lwerror
    - lwalloc
    - lwfree
    - lwgeom_to_wkb_write_buf
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      lwgeom_to_wkb_buffer(const LWGEOM *geom, uint8_t variant)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkb_buffer
      Src: /src/postgis/liblwgeom/lwout_wkb.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 11
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: lwgeom_to_hexwkb_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_to_hexwkb_buffer(const LWGEOM *geom, uint8_t variant)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkb_size
      Src: /src/postgis/liblwgeom/lwout_wkb.c:853,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_wkb.c:860,1
    - Dst: lwgeom_to_wkb_write_buf
      Src: /src/postgis/liblwgeom/lwout_wkb.c:861,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/lwout_wkb.c:864,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_wkb.c:865,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwout_wkb.c:866,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwout_wkb.c:867,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/lwout_wkb.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 850
    functionDepth: 10
    functionLinenumber: 850
    functionLinenumberEnd: 872
    functionName: lwgeom_to_wkb_varlena
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_size
    - lwgeom_to_wkt
    - lwerror
    - LWSIZE_SET
    - lwalloc
    - lwfree
    - lwgeom_to_wkb_write_buf
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_wkb_varlena(const LWGEOM *geom, uint8_t variant)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/liblwgeom/lwout_wkb.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - variant
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 874
    functionDepth: 11
    functionLinenumber: 874
    functionLinenumberEnd: 878
    functionName: lwgeom_to_hexwkb_varlena
    functionSourceFile: /src/postgis/liblwgeom/lwout_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_varlena
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_hexwkb_varlena(const LWGEOM *geom, uint8_t variant)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/liblwgeom/lwutil.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: default_allocator
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      default_allocator(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/lwutil.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: default_freeor
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void default_freeor(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/postgis/liblwgeom/lwutil.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: default_reallocator
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      default_reallocator(void *mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/lwutil.c:120,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/lwutil.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: default_noticereporter
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void default_noticereporter(const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/lwutil.c:135,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/lwutil.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: default_debuglogger
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void default_debuglogger(int level, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/lwutil.c:145,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/lwutil.c:147,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/lwutil.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: default_errorreporter
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void default_errorreporter(const char *fmt, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - allocator
    - reallocator
    - freeor
    - errorreporter
    - noticereporter
    argTypes:
    - lwallocator
    - lwreallocator
    - lwfreeor
    - lwreporter
    - lwreporter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: lwgeom_set_handlers
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void lwgeom_set_handlers(lwallocator allocator, lwreallocator reallocator,\n\t
      \       lwfreeor freeor, lwreporter errorreporter,\n\t        lwreporter noticereporter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - debuglogger
    argTypes:
    - lwdebuglogger
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: lwgeom_set_debuglogger
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwgeom_set_debuglogger(lwdebuglogger debuglogger)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwutil.c:181,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwutil.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: lwnotice
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void lwnotice(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwutil.c:194,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwutil.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: lwerror
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 43
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void lwerror(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwutil.c:207,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwutil.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: lwdebug
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void lwdebug(int level, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: lwtype_name
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      lwtype_name(uint8_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc_var
      Src: /src/postgis/liblwgeom/lwutil.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: lwalloc
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 31
    functionsReached:
    - lwalloc_var
    linkageType: ''
    returnType: void
    signature: 'void *

      lwalloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc_var
      Src: /src/postgis/liblwgeom/lwutil.c:236,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwutil.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: lwalloc0
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - memset
    - lwalloc_var
    linkageType: ''
    returnType: void
    signature: 'void *

      lwalloc0(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwrealloc_var
      Src: /src/postgis/liblwgeom/lwutil.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: lwrealloc
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - lwrealloc_var
    linkageType: ''
    returnType: void
    signature: 'void *

      lwrealloc(void *mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree_var
      Src: /src/postgis/liblwgeom/lwutil.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: lwfree
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 16
    functionsReached:
    - lwfree_var
    linkageType: ''
    returnType: void
    signature: void lwfree(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwutil.c:256,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwutil.c:257,1
    - Dst: strncpy
      Src: /src/postgis/liblwgeom/lwutil.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: lwstrdup
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - strlen
    - lwalloc
    - strncpy
    linkageType: ''
    returnType: char
    signature: 'char *

      lwstrdup(const char* a)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwutil.c:280,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:290,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:298,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:299,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:304,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:316,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:324,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:325,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwutil.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - str
    - startpos
    - endpos
    - maxlength
    - truncdirection
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 336
    functionName: lwmessage_truncate
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - strncat
    linkageType: ''
    returnType: char
    signature: char *lwmessage_truncate(char *str, int startpos, int endpos, int maxlength,
      int truncdirection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwutil.c:346,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwutil.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: clamp_srid
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 1
    functionsReached:
    - lwnotice
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp_srid(int32_t srid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: dumb_toupper
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char dumb_toupper(int in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwutil.c:481,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwutil.c:483,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwutil.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - hasz
    - hasm
    - geodetic
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: lwflags
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 3
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_GEODETIC
    - FLAGS_SET_M
    linkageType: ''
    returnType: lwflags_t
    signature: lwflags_t lwflags(int hasz, int hasm, int geodetic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwutil.c:501,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwutil.c:502,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwutil.c:503,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwutil.c:504,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwutil.c:513,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwutil.c:522,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwutil.c:523,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwutil.c:533,1
    - Dst: dumb_toupper
      Src: /src/postgis/liblwgeom/lwutil.c:535,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/lwutil.c:543,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwutil.c:549,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwutil.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - str
    - type
    - z
    - m
    argTypes:
    - char*
    - uint8_t*
    - int*
    - int*
    assertStmts:
    - condition: (str)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/postgis/liblwgeom/lwutil.c
    - condition: (z)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/postgis/liblwgeom/lwutil.c
    - condition: (m)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/postgis/liblwgeom/lwutil.c
    - condition: (type)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/postgis/liblwgeom/lwutil.c
    constantsTouched: []
    func_position:
      end: 559
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 559
    functionName: geometry_type_from_string
    functionSourceFile: /src/postgis/liblwgeom/lwutil.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - dumb_toupper
    - strlen
    - lwalloc
    - lwfree
    linkageType: ''
    returnType: int
    signature: int geometry_type_from_string(const char *str, uint8_t *type, int *z,
      int *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwcollection.c:38,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcollection.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwcollection
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: lwcollection_release
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwcollection_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwcollection_release(LWCOLLECTION *lwcollection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcollection.c:51,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwcollection.c:53,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:54,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcollection.c:60,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcollection.c:61,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwcollection.c:63,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcollection.c:65,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcollection.c:69,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwcollection.c:71,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:72,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwcollection.c:72,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:78,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwcollection.c:80,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwcollection.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - type
    - srid
    - bbox
    - ngeoms
    - geoms
    argTypes:
    - uint8_t
    - int32_t
    - GBOX*
    - uint32_t
    - LWGEOM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 89
    functionName: lwcollection_construct
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 6
    functionsReached:
    - FLAGS_GET_ZM
    - lwerror
    - FLAGS_SET_BBOX
    - FLAGS_GET_M
    - lwtype_is_collection
    - lwflags
    - lwalloc
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_construct(uint8_t type, int32_t srid, GBOX *bbox, uint32_t ngeoms,
      LWGEOM **geoms)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwcollection.c:96,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:98,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:102,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwcollection.c:104,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - type
    - srid
    - hasz
    - hasm
    argTypes:
    - uint8_t
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: lwcollection_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 4
    functionsReached:
    - lwerror
    - lwflags
    - lwalloc
    - lwtype_is_collection
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - col
    - gnum
    argTypes:
    - LWCOLLECTION*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: lwcollection_getsubgeom
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_getsubgeom(LWCOLLECTION *col, uint32_t gnum)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:128,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwcollection.c:129,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:132,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwcollection.c:135,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwcollection.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: lwcollection_clone
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_clone
    - lwalloc
    - memcpy
    - gbox_copy
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_clone(const LWCOLLECTION *g)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:154,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwcollection.c:155,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:158,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwcollection.c:161,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwcollection.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: lwcollection_clone_deep
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_clone_deep
    - lwalloc
    - memcpy
    - gbox_copy
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_clone_deep(const LWCOLLECTION *g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwcollection.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - col
    - ngeoms
    argTypes:
    - LWCOLLECTION*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: lwcollection_reserve
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwrealloc
    linkageType: ''
    returnType: void
    signature: void lwcollection_reserve(LWCOLLECTION *col, uint32_t ngeoms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:195,1
    - Dst: lwcollection_allows_subtype
      Src: /src/postgis/liblwgeom/lwcollection.c:200,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:201,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcollection.c:201,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcollection.c:201,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:210,1
    - Dst: lwcollection_reserve
      Src: /src/postgis/liblwgeom/lwcollection.c:214,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - col
    - geom
    argTypes:
    - LWCOLLECTION*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 234
    functionName: lwcollection_add_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 4
    functionsReached:
    - lwcollection_reserve
    - lwcollection_allows_subtype
    - lwerror
    - lwalloc
    - lwtype_name
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_add_lwgeom(LWCOLLECTION *col, const LWGEOM
      *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwcollection.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - col1
    - col2
    argTypes:
    - LWCOLLECTION*
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: lwcollection_concat_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_concat_in_place(LWCOLLECTION *col1, const LWCOLLECTION *col2)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_clone
      Src: /src/postgis/liblwgeom/lwcollection.c:256,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:258,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/lwcollection.c:261,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwcollection.c:265,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcollection.c:266,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwcollection.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - col
    - dist
    argTypes:
    - LWCOLLECTION*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: lwcollection_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_segmentize2d
    - lwgeom_free
    - lwcollection_clone
    - lwcollection_construct
    - lwfree
    - lwalloc
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_segmentize2d(const LWCOLLECTION* col, double dist)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwcollection.c:283,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/lwcollection.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - LWCOLLECTION*
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 317
    functionName: lwcollection_same
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_same
    - LWDEBUG
    linkageType: ''
    returnType: char
    signature: char lwcollection_same(const LWCOLLECTION *c1, const LWCOLLECTION *c2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:326,1
    - Dst: lwcollection_ngeoms
      Src: /src/postgis/liblwgeom/lwcollection.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: lwcollection_ngeoms
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwcollection_ngeoms
    linkageType: ''
    returnType: int
    signature: int lwcollection_ngeoms(const LWCOLLECTION *col)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcollection.c:364,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcollection.c:368,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwcollection.c:370,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcollection.c:374,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcollection.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: lwcollection_free
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 2
    functionsReached:
    - lwgeom_free
    - LWDEBUGF
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwcollection_free(LWCOLLECTION *col)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwcollection.c:391,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwcollection.c:392,1
    - Dst: lwcollection_largest_dimension
      Src: /src/postgis/liblwgeom/lwcollection.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 404
    functionName: lwcollection_largest_dimension
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 1
    functionsReached:
    - lwcollection_largest_dimension
    - lwgeom_is_collection
    - lwgeom_get_type
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwcollection_largest_dimension(const LWCOLLECTION *col)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwcollection.c:416,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwcollection.c:418,1
    - Dst: lwcollection_extract_recursive
      Src: /src/postgis/liblwgeom/lwcollection.c:419,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwcollection.c:422,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcollection.c:422,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwcollection.c:424,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwcollection.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - col
    - type
    - col_out
    argTypes:
    - LWCOLLECTION*
    - uint32_t
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 429
    functionName: lwcollection_extract_recursive
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - lwgeom_as_lwcollection
    - lwgeom_is_empty
    - lwgeom_clone
    - lwgeom_get_type
    - lwcollection_extract_recursive
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: int
    signature: int lwcollection_extract_recursive(const LWCOLLECTION* col, uint32_t
      type, LWCOLLECTION *col_out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_largest_dimension
      Src: /src/postgis/liblwgeom/lwcollection.c:440,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwcollection.c:449,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcollection.c:451,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcollection.c:452,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcollection.c:457,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcollection.c:460,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwcollection.c:464,1
    - Dst: lwtype_multitype
      Src: /src/postgis/liblwgeom/lwcollection.c:464,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcollection.c:466,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcollection.c:467,1
    - Dst: lwcollection_extract_recursive
      Src: /src/postgis/liblwgeom/lwcollection.c:469,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwcollection.c:470,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcollection.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - col
    - type
    argTypes:
    - LWCOLLECTION*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 472
    functionName: lwcollection_extract
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwcollection_as_lwgeom
    - lwerror
    - lwcollection_construct_empty
    - FLAGS_GET_M
    - lwgeom_add_bbox
    - lwcollection_largest_dimension
    - lwtype_multitype
    - lwtype_name
    - lwcollection_extract_recursive
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_extract(const LWCOLLECTION* col, uint32_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/lwcollection.c:481,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwcollection.c:483,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcollection.c:489,1
    - Dst: lwgeom_force_dims
      Src: /src/postgis/liblwgeom/lwcollection.c:492,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwcollection.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - col
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - LWCOLLECTION*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: lwcollection_force_dims
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwcollection_is_empty
    - lwcollection_construct_empty
    - lwgeom_force_dims
    - lwcollection_construct
    - lwalloc
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_force_dims(const LWCOLLECTION *col, int hasz, int hasm, double
      zval, double mval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwcollection.c:504,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwcollection.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/postgis/liblwgeom/lwcollection.c
    constantsTouched: []
    func_position:
      end: 510
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 510
    functionName: lwcollection_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_count_vertices
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwcollection_count_vertices(const LWCOLLECTION *col)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 22
    argCount: 2
    argNames:
    - collectiontype
    - subtype
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 547
    functionName: lwcollection_allows_subtype
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwcollection_allows_subtype(int collectiontype, int subtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/lwcollection.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - col
    - pt
    argTypes:
    - LWCOLLECTION*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: lwcollection_startpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcollection.c
    functionUses: 0
    functionsReached:
    - lwgeom_startpoint
    linkageType: ''
    returnType: int
    signature: int lwcollection_startpoint(const LWCOLLECTION* col, POINT4D* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:34,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/gbox.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flags
    argTypes:
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: gbox_new
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwalloc
    linkageType: ''
    returnType: GBOX
    signature: GBOX * gbox_new(lwflags_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/gbox.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: gbox_init
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void gbox_init(GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:47,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gbox.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: gbox_clone
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: GBOX
    signature: GBOX * gbox_clone(const GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:56,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:58,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts:
    - condition: (gbox)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/postgis/liblwgeom/gbox.c
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: box3d_from_gbox
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - assert
    - lwalloc
    - FLAGS_GET_Z
    linkageType: ''
    returnType: BOX3D
    signature: BOX3D * box3d_from_gbox(const GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:83,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - b3d
    argTypes:
    - BOX3D*
    assertStmts:
    - condition: (b3d)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/liblwgeom/gbox.c
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: box3d_to_gbox
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - assert
    - lwalloc
    linkageType: ''
    returnType: GBOX
    signature: GBOX * box3d_to_gbox(const BOX3D *b3d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:103,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:103,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - GBOX*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: gbox_expand
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: void
    signature: void gbox_expand(GBOX *g, double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:122,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - g
    - dx
    - dy
    - dz
    - dm
    argTypes:
    - GBOX*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: gbox_expand_xyzm
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_M
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void gbox_expand_xyzm(GBOX *g, double dx, double dy, double dz, double
      dm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gbox.c:141,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gbox.c:146,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:152,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:153,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:155,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:156,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:158,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - g1
    - g2
    - gout
    argTypes:
    - GBOX*
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: gbox_union
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gbox_union(const GBOX *g1, const GBOX *g2, GBOX *gout)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gbox.c:166,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gbox.c:166,1
    - Dst: gbox_same_2d
      Src: /src/postgis/liblwgeom/gbox.c:169,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:171,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: gbox_same
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_M
    - FLAGS_GET_ZM
    - FLAGS_GET_Z
    - gbox_same_2d
    linkageType: ''
    returnType: int
    signature: int gbox_same(const GBOX *g1, const GBOX *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: gbox_same_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_same_2d(const GBOX *g1, const GBOX *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:189,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:189,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:190,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:190,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:191,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:191,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:192,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: gbox_same_2d_float
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - next_float_down
    - next_float_up
    linkageType: ''
    returnType: int
    signature: int gbox_same_2d_float(const GBOX *g1, const GBOX *g2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:200,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:200,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:201,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:201,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:205,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:205,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:206,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:206,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:210,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:210,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:212,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:212,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:213,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:213,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:218,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:220,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:220,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/gbox.c:221,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/gbox.c:221,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 14
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 226
    functionName: gbox_is_valid
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 1
    functionsReached:
    - isnan
    - FLAGS_GET_M
    - isfinite
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gbox_is_valid(const GBOX *gbox)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - p
    - gbox
    argTypes:
    - POINT3D*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: gbox_merge_point3d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_merge_point3d(const POINT3D *p, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - gbox
    argTypes:
    - POINT3D*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: gbox_init_point3d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_init_point3d(const POINT3D *p, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - gbox
    - pt
    argTypes:
    - GBOX*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: gbox_contains_point3d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_contains_point3d(const GBOX *gbox, const POINT3D *pt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:259,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gbox.c:261,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gbox.c:261,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:269,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:269,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - new_box
    - merge_box
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts:
    - condition: (merge_box)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/postgis/liblwgeom/gbox.c
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: gbox_merge
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gbox_merge(const GBOX *new_box, GBOX *merge_box)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:287,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:287,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gbox.c:288,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:297,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:297,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:306,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:306,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:313,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 320
    functionName: gbox_overlaps
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - lwerror
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gbox_overlaps(const GBOX *g1, const GBOX *g2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:327,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:327,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gbox.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: gbox_overlaps_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - lwerror
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gbox_overlaps_2d(const GBOX *g1, const GBOX *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: gbox_contains_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_contains_2d(const GBOX *g1, const GBOX *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: gbox_within_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_within_2d(const GBOX *g1, const GBOX *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - g
    - p
    argTypes:
    - GBOX*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: gbox_contains_point2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_contains_point2d(const GBOX *g, const POINT2D *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/postgis/liblwgeom/gbox.c:380,1
    - Dst: gbox_new
      Src: /src/postgis/liblwgeom/gbox.c:381,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/gbox.c:381,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:384,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:387,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:390,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:393,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:396,1
    - Dst: strtod
      Src: /src/postgis/liblwgeom/gbox.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 402
    functionName: gbox_from_string
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - strtod
    - strstr
    - lwflags
    - gbox_new
    linkageType: ''
    returnType: GBOX
    signature: GBOX * gbox_from_string(const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwstrdup
      Src: /src/postgis/liblwgeom/gbox.c:410,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:412,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:414,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/gbox.c:416,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:419,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:419,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/gbox.c:421,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:424,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/gbox.c:426,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:429,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/gbox.c:431,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/gbox.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 436
    functionName: gbox_to_string
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - snprintf
    - FLAGS_GET_M
    - lwstrdup
    - lwalloc
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: char
    signature: char * gbox_to_string(const GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gbox.c:440,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gbox.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - box
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: gbox_copy
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 5
    functionsReached:
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: GBOX
    signature: GBOX * gbox_copy(const GBOX *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:447,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:448,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gbox.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - original
    - duplicate
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts:
    - condition: (duplicate)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/postgis/liblwgeom/gbox.c
    - condition: (original)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/postgis/liblwgeom/gbox.c
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: gbox_duplicate
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void gbox_duplicate(const GBOX *original, GBOX *duplicate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:454,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gbox.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flags
    argTypes:
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: gbox_serialized_size
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 2
    functionsReached:
    - FLAGS_NDIMS
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: size_t
    signature: size_t gbox_serialized_size(lwflags_t flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/gbox.c:472,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/gbox.c:474,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:479,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:480,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:481,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:482,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:497,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:498,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:499,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:500,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/gbox.c:516,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/gbox.c:518,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/gbox.c:521,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/gbox.c:524,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/gbox.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - A1
    - A2
    - A3
    - gbox
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 531
    functionName: lw_arc_calculate_gbox_cartesian_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - FP_MIN
    - LWDEBUG
    - lw_arc_center
    - FP_MAX
    linkageType: ''
    returnType: int
    signature: int lw_arc_calculate_gbox_cartesian_2d(const POINT2D *A1, const POINT2D
      *A2, const POINT2D *A3, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/gbox.c:538,1
    - Dst: lw_arc_calculate_gbox_cartesian_2d
      Src: /src/postgis/liblwgeom/gbox.c:540,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:541,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:542,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:543,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - p1
    - p2
    - p3
    - gbox
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: lw_arc_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - lw_arc_calculate_gbox_cartesian_2d
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_arc_calculate_gbox_cartesian(const POINT4D *p1, const POINT4D
      *p2, const POINT4D *p3, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/gbox.c:551,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/gbox.c:558,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:559,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:560,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:561,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 564
    functionName: ptarray_calculate_gbox_cartesian_2d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - getPoint2d_cp
    linkageType: ''
    returnType: void
    signature: void ptarray_calculate_gbox_cartesian_2d(const POINTARRAY *pa, GBOX
      *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/gbox.c:570,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/gbox.c:578,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:579,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:580,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:581,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:582,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:583,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: ptarray_calculate_gbox_cartesian_3d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - getPoint3d_cp
    linkageType: ''
    returnType: void
    signature: void ptarray_calculate_gbox_cartesian_3d(const POINTARRAY *pa, GBOX
      *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_cp
      Src: /src/postgis/liblwgeom/gbox.c:591,1
    - Dst: getPoint4d_cp
      Src: /src/postgis/liblwgeom/gbox.c:600,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:601,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:602,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:603,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:604,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:605,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:606,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gbox.c:607,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gbox.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 610
    functionName: ptarray_calculate_gbox_cartesian_4d
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - getPoint4d_cp
    - FP_MIN
    - FP_MAX
    linkageType: ''
    returnType: void
    signature: void ptarray_calculate_gbox_cartesian_4d(const POINTARRAY *pa, GBOX
      *gbox)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:620,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:621,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/gbox.c:622,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gbox.c:623,1
    - Dst: ptarray_calculate_gbox_cartesian_2d
      Src: /src/postgis/liblwgeom/gbox.c:630,1
    - Dst: ptarray_calculate_gbox_cartesian_3d
      Src: /src/postgis/liblwgeom/gbox.c:637,1
    - Dst: ptarray_calculate_gbox_cartesian_3d
      Src: /src/postgis/liblwgeom/gbox.c:643,1
    - Dst: ptarray_calculate_gbox_cartesian_4d
      Src: /src/postgis/liblwgeom/gbox.c:653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 658
    functionName: ptarray_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_cartesian_3d
    - LWDEBUGF
    - FLAGS_GET_M
    - lwflags
    - ptarray_calculate_gbox_cartesian_4d
    - ptarray_calculate_gbox_cartesian_2d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int ptarray_calculate_gbox_cartesian(const POINTARRAY *pa, GBOX *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/gbox.c:670,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:670,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:670,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/gbox.c:678,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/gbox.c:679,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/gbox.c:680,1
    - Dst: lw_arc_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:682,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/gbox.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - curve
    - gbox
    argTypes:
    - LWCIRCSTRING*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 660
    functionDepth: 4
    functionLinenumber: 660
    functionLinenumberEnd: 689
    functionName: lwcircstring_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - gbox_merge
    - FLAGS_GET_M
    - lwflags
    - getPoint4d_p
    - FLAGS_GET_Z
    - lw_arc_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwcircstring_calculate_gbox_cartesian(LWCIRCSTRING *curve, GBOX
      *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - point
    - gbox
    argTypes:
    - LWPOINT*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: lwpoint_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwpoint_calculate_gbox_cartesian(LWPOINT *point, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - line
    - gbox
    argTypes:
    - LWLINE*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: lwline_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwline_calculate_gbox_cartesian(LWLINE *line, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - triangle
    - gbox
    argTypes:
    - LWTRIANGLE*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 3
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: lwtriangle_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwtriangle_calculate_gbox_cartesian(LWTRIANGLE *triangle, GBOX
      *gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - poly
    - gbox
    argTypes:
    - LWPOLY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 715
    functionName: lwpoly_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwpoly_calculate_gbox_cartesian(LWPOLY *poly, GBOX *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gbox.c:723,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:731,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/gbox.c:739,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/gbox.c:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - coll
    - gbox
    argTypes:
    - LWCOLLECTION*
    - GBOX*
    assertStmts:
    - condition: (coll)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/postgis/liblwgeom/gbox.c
    constantsTouched: []
    func_position:
      end: 750
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 750
    functionName: lwcollection_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - gbox_merge
    - lwgeom_calculate_gbox_cartesian
    - assert
    - gbox_duplicate
    linkageType: ''
    returnType: int
    signature: int lwcollection_calculate_gbox_cartesian(LWCOLLECTION *coll, GBOX
      *gbox)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gbox.c:755,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gbox.c:755,1
    - Dst: lwpoint_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:760,1
    - Dst: lwline_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:762,1
    - Dst: lwcircstring_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:764,1
    - Dst: lwpoly_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:766,1
    - Dst: lwtriangle_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:768,1
    - Dst: lwcollection_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/gbox.c:779,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gbox.c:782,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gbox.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - lwgeom
    - gbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 784
    functionName: lwgeom_calculate_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 2
    functionsReached:
    - lwpoint_calculate_gbox_cartesian
    - lwerror
    - lwtriangle_calculate_gbox_cartesian
    - lwcollection_calculate_gbox_cartesian
    - lwline_calculate_gbox_cartesian
    - lwtype_name
    - LWDEBUGF
    - lwcircstring_calculate_gbox_cartesian
    - lwpoly_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int lwgeom_calculate_gbox_cartesian(const LWGEOM *lwgeom, GBOX *gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:788,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:789,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:791,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:792,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gbox.c:794,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:796,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:797,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gbox.c:800,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gbox.c:802,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gbox.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 805
    functionName: gbox_float_round
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 3
    functionsReached:
    - next_float_down
    - FLAGS_GET_Z
    - next_float_up
    - FLAGS_GET_M
    linkageType: ''
    returnType: void
    signature: void gbox_float_round(GBOX *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gbox.c:823,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/gbox.c:830,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/gbox.c:831,1
    - Dst: uint32_hilbert
      Src: /src/postgis/liblwgeom/gbox.c:859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - g
    - srid
    argTypes:
    - GBOX*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 860
    functionName: gbox_get_sortable_hash
    functionSourceFile: /src/postgis/liblwgeom/gbox.c
    functionUses: 0
    functionsReached:
    - uint32_hilbert
    - cart2geog
    - normalize
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gbox_get_sortable_hash(const GBOX *g, const int32_t srid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwcircstring.c:61,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcircstring.c:64,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwcircstring.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - srid
    - bbox
    - points
    argTypes:
    - int32_t
    - GBOX*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: lwcircstring_construct
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 1
    functionsReached:
    - lwnotice
    - lwalloc
    - FLAGS_SET_BBOX
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcircstring.c:81,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwcircstring.c:83,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwcircstring.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: lwcircstring_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwcircstring.c:93,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcircstring.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwcirc
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: lwcircstring_release
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwcircstring_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwcircstring_release(LWCIRCSTRING *lwcirc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcircstring.c:102,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwcircstring.c:104,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwcircstring.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - curve
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: lwcircstring_free
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void lwcircstring_free(LWCIRCSTRING *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwcircstring.c:112,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwcircstring.c:113,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwcircstring.c:113,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwcircstring.c:114,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwcircstring.c:115,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwcircstring.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: printLWCIRCSTRING
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWCIRCSTRING(LWCIRCSTRING *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwline_clone
      Src: /src/postgis/liblwgeom/lwcircstring.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: lwcircstring_clone
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwline_clone
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_clone(const LWCIRCSTRING *g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwcircstring.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - me
    - you
    argTypes:
    - LWCIRCSTRING*
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: lwcircstring_same
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - ptarray_same
    linkageType: ''
    returnType: char
    signature: char lwcircstring_same(const LWCIRCSTRING *me, const LWCIRCSTRING *you)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcircstring.c:156,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcircstring.c:157,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcircstring.c:160,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcircstring.c:161,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcircstring.c:173,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwcircstring.c:174,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/lwcircstring.c:179,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwcircstring.c:180,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwcircstring.c:180,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/lwcircstring.c:183,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwcircstring.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - srid
    - npoints
    - points
    argTypes:
    - int32_t
    - uint32_t
    - LWPOINT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 186
    functionName: lwcircstring_from_lwpointarray
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - memset
    - lwcircstring_construct
    - ptarray_point_size
    - lwerror
    - FLAGS_GET_M
    - memcpy
    - getPoint_internal
    - lwalloc
    - lwtype_name
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_from_lwpointarray(int32_t srid, uint32_t npoints, LWPOINT **points)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwcircstring.c:196,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcircstring.c:206,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwcircstring.c:207,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwcircstring.c:212,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwcircstring.c:213,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/lwcircstring.c:218,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcircstring.c:220,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwcircstring.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - srid
    - mpoint
    argTypes:
    - int32_t
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: lwcircstring_from_lwmpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - memset
    - FLAGS_GET_ZM
    - lwcircstring_construct
    - getPoint_internal
    - lwalloc
    - LWDEBUGF
    - ptarray_construct_reference_data
    - memcpy
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_from_lwmpoint(int32_t srid, LWMPOINT *mpoint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_addPoint
      Src: /src/postgis/liblwgeom/lwcircstring.c:231,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwcircstring.c:232,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwcircstring.c:233,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwcircstring.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curve
    - point
    - where
    argTypes:
    - LWCIRCSTRING*
    - LWPOINT*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: lwcircstring_addpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - getPoint_internal
    - ptarray_addPoint
    - FLAGS_NDIMS
    - lwcircstring_construct
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_addpoint(LWCIRCSTRING *curve, LWPOINT *point, uint32_t where)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_removePoint
      Src: /src/postgis/liblwgeom/lwcircstring.c:245,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwcircstring.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - curve
    - index
    argTypes:
    - LWCIRCSTRING*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: lwcircstring_removepoint
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - ptarray_removePoint
    - lwcircstring_construct
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwcircstring_removepoint(LWCIRCSTRING *curve, uint32_t index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwcircstring.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - index
    - newpoint
    argTypes:
    - LWCIRCSTRING*
    - uint32_t
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: lwcircstring_setPoint4d
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - ptarray_set_point4d
    linkageType: ''
    returnType: void
    signature: void lwcircstring_setPoint4d(LWCIRCSTRING *curve, uint32_t index, POINT4D
      *newpoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwcircstring.c:263,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/liblwgeom/lwcircstring.c:264,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwcircstring.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - curve
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: lwcircstring_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwgeom_has_z
    - ptarray_is_closed_2d
    - ptarray_is_closed_3d
    linkageType: ''
    returnType: int
    signature: int lwcircstring_is_closed(const LWCIRCSTRING *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcircstring_length_2d
      Src: /src/postgis/liblwgeom/lwcircstring.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - circ
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: lwcircstring_length
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - lwcircstring_length_2d
    linkageType: ''
    returnType: double
    signature: double lwcircstring_length(const LWCIRCSTRING *circ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwcircstring_is_empty
      Src: /src/postgis/liblwgeom/lwcircstring.c:276,1
    - Dst: ptarray_arc_length_2d
      Src: /src/postgis/liblwgeom/lwcircstring.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - circ
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: lwcircstring_length_2d
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 1
    functionsReached:
    - ptarray_arc_length_2d
    - lwcircstring_is_empty
    linkageType: ''
    returnType: double
    signature: double lwcircstring_length_2d(const LWCIRCSTRING *circ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwcircstring_is_empty
      Src: /src/postgis/liblwgeom/lwcircstring.c:291,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwcircstring.c:294,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcircstring.c:294,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcircstring.c:294,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwcircstring.c:295,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwcircstring.c:296,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwcircstring.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - circ
    - where
    argTypes:
    - LWCIRCSTRING*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: lwcircstring_get_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcircstring.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    - FLAGS_GET_M
    - getPoint4d
    - lwcircstring_is_empty
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwcircstring_get_lwpoint(const LWCIRCSTRING *circ, uint32_t
      where)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance3d_pt_pt
      Src: /src/postgis/liblwgeom/lwgeom_median.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - curr
    - points
    - npoints
    - distances
    argTypes:
    - POINT3D*
    - POINT4D*
    - uint32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: calc_weighted_distances_3d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - distance3d_pt_pt
    linkageType: ''
    returnType: double
    signature: double calc_weighted_distances_3d(const POINT3D* curr, const POINT4D*
      points, uint32_t npoints, double* distances)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_median.c:54,1
    - Dst: calc_weighted_distances_3d
      Src: /src/postgis/liblwgeom/lwgeom_median.c:56,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeom_median.c:121,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwgeom_median.c:124,1
    - Dst: calc_weighted_distances_3d
      Src: /src/postgis/liblwgeom/lwgeom_median.c:132,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_median.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - curr
    - points
    - npoints
    - max_iter
    - tol
    argTypes:
    - POINT3D*
    - POINT4D*
    - uint32_t
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 149
    functionName: iterate_4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - calc_weighted_distances_3d
    - lwfree
    - lwalloc
    - sqrt
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t iterate_4d(POINT3D* curr, const POINT4D* points, const uint32_t
      npoints, const uint32_t max_iter, const double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_median.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - points
    - npoints
    argTypes:
    - POINT4D*
    - uint32_t
    assertStmts:
    - condition: (npoints > 0)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/postgis/liblwgeom/lwgeom_median.c
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: init_guess
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: POINT3D
    signature: POINT3D init_guess(const POINT4D* points, uint32_t npoints)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_median.c:175,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom_median.c:176,1
    - Dst: lwcollection_getsubgeom
      Src: /src/postgis/liblwgeom/lwgeom_median.c:180,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_median.c:181,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_median.c:184,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_median.c:186,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_median.c:187,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_median.c:203,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_median.c:204,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom_median.c:221,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_median.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - g
    - npoints
    - input_empty
    argTypes:
    - LWMPOINT*
    - uint32_t*
    - int*
    assertStmts:
    - condition: (points[i].z == 0)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/postgis/liblwgeom/lwgeom_median.c
    constantsTouched: []
    func_position:
      end: 228
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 228
    functionName: lwmpoint_extract_points_4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - assert
    - lwcollection_getsubgeom
    - lwerror
    - lwgeom_is_empty
    - lwgeom_has_z
    - lwalloc
    - lwfree
    - getPoint4d_p
    - lwgeom_has_m
    linkageType: ''
    returnType: POINT4D
    signature: 'POINT4D *

      lwmpoint_extract_points_4d(const LWMPOINT* g, uint32_t* npoints, int* input_empty)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwmpoint_extract_points_4d
      Src: /src/postgis/liblwgeom/lwgeom_median.c:239,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_median.c:246,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_median.c:249,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_median.c:253,1
    - Dst: init_guess
      Src: /src/postgis/liblwgeom/lwgeom_median.c:258,1
    - Dst: iterate_4d
      Src: /src/postgis/liblwgeom/lwgeom_median.c:260,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_median.c:262,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_median.c:266,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom_median.c:270,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/lwgeom_median.c:272,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/lwgeom_median.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - g
    - tol
    - max_iter
    - fail_if_not_converged
    argTypes:
    - LWMPOINT*
    - double
    - uint32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 278
    functionName: lwmpoint_median
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - lwpoint_make3dz
    - init_guess
    - iterate_4d
    - lwerror
    - lwgeom_has_z
    - lwfree
    - lwmpoint_extract_points_4d
    - lwpoint_make2d
    - lwpoint_construct_empty
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwmpoint_median(const LWMPOINT* g, double tol, uint32_t max_iter, char fail_if_not_converged)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwgeom_median.c:286,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_median.c:286,1
    - Dst: lwmpoint_median
      Src: /src/postgis/liblwgeom/lwgeom_median.c:288,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/liblwgeom/lwgeom_median.c:288,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_median.c:290,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_median.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - g
    - tol
    - max_iter
    - fail_if_not_converged
    argTypes:
    - LWGEOM*
    - double
    - uint32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: lwgeom_median
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_median.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwpoint
    - lwerror
    - lwmpoint_median
    - lwtype_name
    - lwpoint_clone
    - lwgeom_as_lwmpoint
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwgeom_median(const LWGEOM* g, double tol, uint32_t max_iter, char fail_if_not_converged)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:38,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:38,1
    - Dst: p4d_same
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:47,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:69,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:70,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - p1
    - p2
    - m
    - offset
    - pn
    argTypes:
    - POINT4D*
    - POINT4D*
    - double
    - double
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: segment_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - sin
    - FP_MAX
    - p4d_same
    - cos
    - atan2
    linkageType: ''
    returnType: int
    signature: int segment_locate_along(const POINT4D *p1, const POINT4D *p2, double
      m, double offset, POINT4D *pn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:91,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:92,1
    - Dst: segment_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:95,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:100,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:100,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:100,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pa
    - m
    - offset
    argTypes:
    - POINTARRAY*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: ptarray_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_has_z
    - ptarray_append_point
    - segment_locate_along
    - ptarray_has_m
    - getPoint4d_p
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_locate_along(const POINTARRAY *pa, double m, double offset)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:114,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:122,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:123,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:124,1
    - Dst: ptarray_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:129,1
    - Dst: lwline_measured_from_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:133,1
    - Dst: ptarray_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:134,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:135,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:140,1
    - Dst: lwmpoint_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:143,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - lwline
    - m
    - offset
    argTypes:
    - LWLINE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: lwline_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_locate_along
    - lwline_measured_from_lwline
    - lwmpoint_construct
    - lwmpoint_construct_empty
    - lwgeom_get_srid
    - lwline_as_lwgeom
    - ptarray_free
    - lwgeom_has_z
    - lwline_free
    - lwgeom_has_m
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwline_locate_along(const LWLINE *lwline, double m, double offset)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwmline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:152,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:160,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:160,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:160,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:160,1
    - Dst: lwline_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:165,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:168,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:172,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - lwmline
    - m
    - offset
    argTypes:
    - LWMLINE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 181
    functionName: lwmline_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwmpoint_free
    - lwmpoint_construct_empty
    - lwgeom_get_srid
    - lwgeom_is_empty
    - lwgeom_has_z
    - lwmpoint_add_lwpoint
    - lwline_locate_along
    - lwmline_as_lwgeom
    - lwgeom_has_m
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmline_locate_along(const LWMLINE *lwmline, double m, double offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_get_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:186,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:187,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:188,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:188,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:188,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:188,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:189,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:191,1
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - lwpoint
    - m
    - offset
    argTypes:
    - LWPOINT*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: lwpoint_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwmpoint_construct_empty
    - lwgeom_get_srid
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - lwmpoint_add_lwpoint
    - lwpoint_clone
    - FP_EQUALS
    - lwpoint_get_m
    - lwgeom_has_m
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwpoint_locate_along(const LWPOINT *lwpoint, double m, __attribute__((__unused__))
      double offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:199,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:204,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:204,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:204,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:204,1
    - Dst: lwpoint_get_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:208,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:209,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:211,1
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - lwin
    - m
    - offset
    argTypes:
    - LWMPOINT*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: lwmpoint_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwmpoint_construct_empty
    - lwgeom_get_srid
    - lwgeom_has_z
    - lwmpoint_add_lwpoint
    - lwmpoint_as_lwgeom
    - lwpoint_clone
    - FP_EQUALS
    - lwpoint_get_m
    - lwgeom_has_m
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmpoint_locate_along(const LWMPOINT *lwin, double m, __attribute__((__unused__))
      double offset)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:224,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:225,1
    - Dst: lwpoint_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:230,1
    - Dst: lwmpoint_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:232,1
    - Dst: lwline_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:234,1
    - Dst: lwmline_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:236,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:241,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - lwin
    - m
    - offset
    argTypes:
    - LWGEOM*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 218
    functionDepth: 6
    functionLinenumber: 218
    functionLinenumberEnd: 245
    functionName: lwgeom_locate_along
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwpoint_locate_along
    - lwmpoint_locate_along
    - lwline_locate_along
    - lwtype_name
    - lwmline_locate_along
    - lwgeom_has_m
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_locate_along(const LWGEOM *lwin, double m, double offset)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:259,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - ordinate
    argTypes:
    - POINT4D*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: lwpoint_get_ordinate
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: double
    signature: double lwpoint_get_ordinate(const POINT4D *p, char ordinate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:287,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - p
    - ordinate
    - value
    argTypes:
    - POINT4D*
    - char
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 308
    functionName: lwpoint_set_ordinate
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: void
    signature: void lwpoint_set_ordinate(POINT4D *p, char ordinate, double value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:325,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:326,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:330,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:332,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:332,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:333,1
    - Dst: lwpoint_set_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:344,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:348,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:349,1
    - Dst: lwpoint_set_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:351,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 7
    argNames:
    - p1
    - p2
    - p
    - hasz
    - hasm
    - ordinate
    - interpolation_value
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - int
    - int
    - char
    - double
    assertStmts:
    - condition: "(FP_MIN(p1_value, p2_value) <= interpolation_value &&\n\t       FP_MAX(p1_value,
        p2_value) >= interpolation_value)"
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    - condition: "(ordinate == 'X' || ordinate == 'Y' ||\n\t       ordinate == 'Z'
        || ordinate == 'M')"
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: point_interpolate
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - assert
    - lwpoint_get_ordinate
    - FP_MAX
    - lwpoint_set_ordinate
    linkageType: ''
    returnType: int
    signature: "int point_interpolate(const POINT4D *p1,\n\t\t  const POINT4D *p2,\n\t\t
      \ POINT4D *p,\n\t\t  int hasz,\n\t\t  int hasm,\n\t\t  char ordinate,\n\t\t
      \ double interpolation_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:370,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:370,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:371,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:371,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:374,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:377,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:378,1
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:381,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:382,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - point
    - ordinate
    - from
    - to
    argTypes:
    - LWPOINT*
    - char
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: lwpoint_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - lwcollection_construct_empty
    - lwpoint_get_ordinate
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - lwcollection_add_lwgeom
    - lwpoint_clone
    - lwgeom_has_m
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwpoint_clip_to_ordinate_range(const LWPOINT *point, char ordinate, double from,
      double to)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:399,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:399,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:400,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:400,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:403,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:411,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:412,1
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:416,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:417,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:417,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - mpoint
    - ordinate
    - from
    - to
    argTypes:
    - LWMPOINT*
    - char
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 426
    functionName: lwmpoint_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - lwcollection_add_lwgeom
    - lwcollection_construct_empty
    - lwpoint_get_ordinate
    - lwgeom_refresh_bbox
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - lwmpoint_as_lwgeom
    - lwpoint_clone
    - lwgeom_has_m
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwmpoint_clip_to_ordinate_range(const LWMPOINT *mpoint, char ordinate, double
      from, double to)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:437,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:438,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:440,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:442,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:445,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:448,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:449,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:454,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:459,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:460,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:465,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:473,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:474,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:475,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:479,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:480,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:481,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:482,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:486,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:487,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:491,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:492,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:496,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:497,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:498,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:499,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:503,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:504,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:505,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:515,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:516,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:518,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 5
    argNames:
    - ipa
    - ordinate
    - from
    - to
    - is_closed
    argTypes:
    - POINTARRAY*
    - char
    - double
    - double
    - uint8_t
    assertStmts:
    - condition: (from <= to)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 521
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 521
    functionName: ptarray_clamp_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - point_interpolate
    - assert
    - lwpoint_get_ordinate
    - ptarray_append_point
    - FLAGS_GET_M
    - lwalloc
    - lwfree
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_clamp_to_ordinate_range(const POINTARRAY *ipa, char ordinate, double
      from, double to, uint8_t is_closed)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:541,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:542,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:542,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:543,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:543,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:544,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:549,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:554,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:555,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:556,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:559,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:571,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:572,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:582,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:597,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:598,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:602,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:617,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:618,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:631,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:632,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:639,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:641,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:642,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:644,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:645,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:651,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:653,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:654,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:656,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:657,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:666,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:668,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:668,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:672,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:673,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:673,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:688,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:690,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:690,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:694,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:695,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:695,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:698,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:701,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:702,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:703,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:706,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    argCount: 4
    argNames:
    - line
    - ordinate
    - from
    - to
    argTypes:
    - LWLINE*
    - char
    - double
    - double
    assertStmts:
    - condition: (line)
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 709
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 709
    functionName: lwline_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - point_interpolate
    - assert
    - ptarray_free
    - lwline_as_lwgeom
    - ptarray_append_point
    - lwgeom_has_z
    - lwalloc
    - lwline_construct
    - lwgeom_has_m
    - lwpoint_get_ordinate
    - ptarray_set_point4d
    - getPoint4d_p
    - lwerror
    - ptarray_construct
    - lwcollection_construct_empty
    - lwfree
    - FLAGS_NDIMS
    - ptarray_construct_empty
    - lwgeom_refresh_bbox
    - lwpoint_construct
    - lwpoint_as_lwgeom
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwline_clip_to_ordinate_range(const LWLINE *line, char ordinate, double from,
      double to)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:717,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:718,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:718,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:719,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:720,1
    - Dst: ptarray_clamp_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:725,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:731,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:734,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:740,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - poly
    - ordinate
    - from
    - to
    argTypes:
    - LWPOLY*
    - char
    - double
    - double
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 716
        line_start: 716
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 745
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 745
    functionName: lwpoly_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwpoly_add_ring
    - assert
    - lwpoly_free
    - ptarray_free
    - lwcollection_construct_empty
    - FLAGS_GET_M
    - lwpoly_construct_empty
    - ptarray_clamp_to_ordinate_range
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwpoly_clip_to_ordinate_range(const LWPOLY *poly, char ordinate, double from,
      double to)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:753,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:754,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:754,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:755,1
    - Dst: ptarray_clamp_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:756,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:763,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:767,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:768,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:769,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:770,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:771,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:772,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:773,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:774,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:775,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - tri
    - ordinate
    - from
    - to
    argTypes:
    - LWTRIANGLE*
    - char
    - double
    - double
    assertStmts:
    - condition: (tri)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 780
      start: 750
    functionDepth: 4
    functionLinenumber: 750
    functionLinenumberEnd: 780
    functionName: lwtriangle_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - assert
    - ptarray_free
    - lwtriangle_construct
    - lwcollection_construct_empty
    - ptarray_append_point
    - FLAGS_GET_M
    - getPoint4d
    - ptarray_clamp_to_ordinate_range
    - getPoint4d_p
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwtriangle_clip_to_ordinate_range(const LWTRIANGLE *tri, char ordinate, double
      from, double to)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:790,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:792,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:796,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:796,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:797,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:797,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:799,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:800,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:801,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:804,1
    - Dst: lwcollection_concat_in_place
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:809,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:810,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:811,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - icol
    - ordinate
    - from
    - to
    argTypes:
    - LWCOLLECTION*
    - char
    - double
    - double
    assertStmts:
    - condition: (icol)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
    constantsTouched: []
    func_position:
      end: 820
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 820
    functionName: lwcollection_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_M
    - assert
    - FLAGS_SET_Z
    - lwcollection_as_lwgeom
    - lwcollection_construct_empty
    - lwcollection_concat_in_place
    - lwgeom_refresh_bbox
    - lwgeom_has_z
    - lwcollection_release
    - lwfree
    - lwgeom_clip_to_ordinate_range
    - lwgeom_has_m
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_clip_to_ordinate_range(const LWCOLLECTION *icol, char ordinate,
      double from, double to)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:838,1
    - Dst: lwline_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:843,1
    - Dst: lwmpoint_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:846,1
    - Dst: lwpoint_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:849,1
    - Dst: lwpoly_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:852,1
    - Dst: lwtriangle_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:855,1
    - Dst: lwcollection_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:862,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:865,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:865,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:871,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:874,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:874,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:874,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:879,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:887,1
    - Dst: lwgeom_offsetcurve
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:893,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:896,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:898,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:902,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:903,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - lwin
    - ordinate
    - from
    - to
    - offset
    argTypes:
    - LWGEOM*
    - char
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 908
    functionName: lwgeom_clip_to_ordinate_range
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 1
    functionsReached:
    - lwpoly_clip_to_ordinate_range
    - lwline_clip_to_ordinate_range
    - lwcollection_as_lwgeom
    - lwerror
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - lwgeom_offsetcurve
    - lwpoint_clip_to_ordinate_range
    - lwtriangle_clip_to_ordinate_range
    - FP_IS_ZERO
    - lwtype_name
    - lwnotice
    - lwmpoint_clip_to_ordinate_range
    - lwcollection_clip_to_ordinate_range
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwgeom_clip_to_ordinate_range(const LWGEOM *lwin, char ordinate, double from,
      double to, double offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:913,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:914,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - lwin
    - from
    - to
    - offset
    argTypes:
    - LWGEOM*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 910
    functionDepth: 6
    functionLinenumber: 910
    functionLinenumberEnd: 917
    functionName: lwgeom_locate_between
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwgeom_clip_to_ordinate_range
    - lwgeom_has_m
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwgeom_locate_between(const LWGEOM *lwin, double from, double to, double offset)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:926,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:928,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:929,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:931,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:931,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:932,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:938,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:939,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:940,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:945,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - lwin
    - lwpt
    argTypes:
    - LWGEOM*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 948
    functionName: lwgeom_interpolate_point
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - ptarray_locate_point
    - lwerror
    - lwgeom_is_empty
    - lwgeom_has_m
    - lwpoint_is_empty
    - lwtype_name
    - lwgeom_as_lwline
    linkageType: ''
    returnType: double
    signature: double lwgeom_interpolate_point(const LWGEOM *lwin, const LWPOINT *lwpt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DOT
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1008,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 6
    argNames:
    - p0
    - p1
    - q0
    - q1
    - t0
    - t1
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1056
    functionName: segments_tcpa
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - DOT
    linkageType: ''
    returnType: double
    signature: double segments_tcpa(POINT4D *p0, const POINT4D *p1, POINT4D *q0, const
      POINT4D *q1, double t0, double t1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pa
    - tmin
    - tmax
    - mvals
    argTypes:
    - POINTARRAY*
    - double
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1070
    functionName: ptarray_collect_mvals
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_collect_mvals(const POINTARRAY *pa, double tmin, double
      tmax, double *mvals)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1083
    functionName: compare_double
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_double(const void *pa, const void *pb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1100
    functionName: uniq
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uniq(double *vals, int nvals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1123,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1126,1
    - Dst: segment_locate_along
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pa
    - m
    - p
    - from
    argTypes:
    - POINTARRAY*
    - double
    - POINT4D*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1135
    functionName: ptarray_locate_along_linear
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - segment_locate_along
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_locate_along_linear(const POINTARRAY *pa, double m, POINT4D
      *p, uint32_t from)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1149,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1149,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1151,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1155,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1156,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1160,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1166,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1173,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1174,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1181,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1182,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1186,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1196,1
    - Dst: ptarray_collect_mvals
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1199,1
    - Dst: ptarray_collect_mvals
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1200,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1203,1
    - Dst: uniq
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1206,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1214,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1217,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1219,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1220,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1223,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1225,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1226,1
    - Dst: distance3d_pt_pt
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1229,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1231,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1252,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1257,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1262,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1267,1
    - Dst: segments_tcpa
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1272,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1293,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - g1
    - g2
    - mindist
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1302
    functionName: lwgeom_tcpa
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_collect_mvals
    - FP_MIN
    - LWDEBUG
    - lwerror
    - segments_tcpa
    - lwgeom_calculate_gbox
    - qsort
    - LWDEBUGF
    - FP_MAX
    - lwgeom_has_m
    - distance3d_pt_pt
    - ptarray_locate_along_linear
    - lwalloc
    - lwfree
    - uniq
    - sqrt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: double
    signature: double lwgeom_tcpa(const LWGEOM *g1, const LWGEOM *g2, double *mindist)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1316,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1316,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1318,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1322,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1323,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1327,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1334,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1341,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1342,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1349,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1350,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1354,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1362,1
    - Dst: ptarray_collect_mvals
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1365,1
    - Dst: ptarray_collect_mvals
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1366,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1369,1
    - Dst: uniq
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1372,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1379,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1380,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1382,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1385,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1387,1
    - Dst: distance3d_pt_pt
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1390,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1392,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1413,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1418,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1423,1
    - Dst: ptarray_locate_along_linear
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1428,1
    - Dst: segments_tcpa
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1436,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1447,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1447,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwlinearreferencing.c:1457,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - g1
    - g2
    - maxdist
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1304
    functionDepth: 4
    functionLinenumber: 1304
    functionLinenumberEnd: 1460
    functionName: lwgeom_cpa_within
    functionSourceFile: /src/postgis/liblwgeom/lwlinearreferencing.c
    functionUses: 0
    functionsReached:
    - ptarray_collect_mvals
    - FP_MIN
    - LWDEBUG
    - lwerror
    - segments_tcpa
    - lwgeom_calculate_gbox
    - qsort
    - LWDEBUGF
    - FP_MAX
    - lwgeom_has_m
    - distance3d_pt_pt
    - ptarray_locate_along_linear
    - lwalloc
    - lwfree
    - lwnotice
    - uniq
    - sqrt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: int
    signature: int lwgeom_cpa_within(const LWGEOM *g1, const LWGEOM *g2, double maxdist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwline_to_encoded_polyline
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:41,1
    - Dst: lwmmpoint_to_encoded_polyline
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:43,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:45,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - geom
    - precision
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: lwgeom_to_encoded_polyline
    functionSourceFile: /src/postgis/liblwgeom/lwout_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - lwmmpoint_to_encoded_polyline
    - lwline_to_encoded_polyline
    - lwtype_name
    - lwerror
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_encoded_polyline(const LWGEOM *geom, int precision)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointarray_to_encoded_polyline
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - line
    - precision
    argTypes:
    - LWLINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: lwline_to_encoded_polyline
    functionSourceFile: /src/postgis/liblwgeom/lwout_encoded_polyline.c
    functionUses: 1
    functionsReached:
    - pointarray_to_encoded_polyline
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwline_to_encoded_polyline(const LWLINE *line, int precision)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwline_from_lwmpoint
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:60,1
    - Dst: lwline_to_encoded_polyline
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:61,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mpoint
    - precision
    argTypes:
    - LWMPOINT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: lwmmpoint_to_encoded_polyline
    functionSourceFile: /src/postgis/liblwgeom/lwout_encoded_polyline.c
    functionUses: 1
    functionsReached:
    - lwline_to_encoded_polyline
    - lwline_free
    - lwline_from_lwmpoint
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwmmpoint_to_encoded_polyline(const LWMPOINT *mpoint, int precision)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:74,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:79,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:80,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:84,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:88,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:89,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:90,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:95,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:96,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:96,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:98,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:98,1
    - Dst: stringbuffer_create
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:114,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:124,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:131,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:134,1
    - Dst: stringbuffer_getvarlenacopy
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:135,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_encoded_polyline.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pa
    - precision
    argTypes:
    - POINTARRAY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 139
    functionName: pointarray_to_encoded_polyline
    functionSourceFile: /src/postgis/liblwgeom/lwout_encoded_polyline.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    - stringbuffer_destroy
    - LWSIZE_SET
    - stringbuffer_aprintf
    - stringbuffer_getvarlenacopy
    - lwalloc
    - pow
    - stringbuffer_create
    - lwfree
    - round
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      pointarray_to_encoded_polyline(const POINTARRAY *pa, int precision)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:62,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:63,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:65,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:66,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:66,1
    - Dst: make_geos_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:67,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:69,1
    - Dst: make_geos_segment
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: geos_envelope_surrogate
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_createEmptyPolygon
    - lwgeom_get_bbox
    - getPoint2d_cp
    - lwgeom_as_lwpoint
    - lwgeom_is_empty
    - make_geos_point
    - lwgeom_get_type
    - make_geos_segment
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      geos_envelope_surrogate(const LWGEOM* g)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_create
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:87,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:92,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:98,1
    - Dst: geos_envelope_surrogate
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:102,1
    - Dst: GEOSSTRtree_insert
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:103,1
    - Dst: GEOSSTRtree_insert
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - geoms
    - num_geoms
    - is_lwgeom
    argTypes:
    - void**
    - uint32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 118
    functionName: make_strtree
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - GEOSSTRtree_create
    - geos_envelope_surrogate
    - lwalloc
    - GEOSSTRtree_insert
    linkageType: ''
    returnType: struct STRTree
    signature: struct STRTree make_strtree(void** geoms, uint32_t num_geoms, char
      is_lwgeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GEOSSTRtree_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:125,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:131,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:133,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct STRTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: destroy_strtree
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - lwfree
    - GEOSSTRtree_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_strtree(struct STRTree * tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:145,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - item
    - userdata
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: query_accumulate
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwrealloc
    - lwalloc
    linkageType: ''
    returnType: void
    signature: void query_accumulate(void* item, void* userdata)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: make_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:173,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:176,1
    - Dst: GEOSisEmpty
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:184,1
    - Dst: GEOSSTRtree_query
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:188,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:194,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:194,1
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:196,1
    - Dst: GEOSPrepare
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:208,1
    - Dst: GEOSPreparedIntersects
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:210,1
    - Dst: GEOSIntersects
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:214,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:223,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:229,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:236,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:238,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - geoms
    - num_geoms
    - uf
    argTypes:
    - GEOSGeometry**
    - uint32_t
    - UNIONFIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 240
    functionName: union_intersecting_pairs
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - GEOSisEmpty
    - GEOSSTRtree_query
    - GEOSIntersects
    - GEOSPrepare
    - GEOSPreparedGeom_destroy
    - GEOSGeomTypeId
    - lwfree
    - destroy_strtree
    - UF_union
    - GEOSPreparedIntersects
    - make_strtree
    - UF_find
    linkageType: ''
    returnType: int
    signature: int union_intersecting_pairs(GEOSGeometry** geoms, uint32_t num_geoms,
      UNIONFIND* uf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:249,1
    - Dst: union_intersecting_pairs
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:251,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:253,1
    - Dst: combine_geometries
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:257,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - geoms
    - num_geoms
    - clusterGeoms
    - num_clusters
    argTypes:
    - GEOSGeometry**
    - uint32_t
    - GEOSGeometry***
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: cluster_intersecting
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - union_intersecting_pairs
    - UF_create
    - combine_geometries
    - UF_destroy
    linkageType: ''
    returnType: int
    signature: int cluster_intersecting(GEOSGeometry** geoms, uint32_t num_geoms,
      GEOSGeometry*** clusterGeoms, uint32_t* num_clusters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:273,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:273,1
    - Dst: make_geos_segment
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:274,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:276,1
    - Dst: make_geos_segment
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:277,1
    - Dst: GEOSSTRtree_query
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:283,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - tree
    - cxt
    - geoms
    - p
    - eps
    argTypes:
    - GEOSSTRtree*
    - struct QueryContext*
    - LWGEOM**
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: dbscan_update_context
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - GEOSSTRtree_query
    - getPoint2d_cp
    - lwgeom_as_lwpoint
    - GEOSGeom_destroy
    - make_geos_segment
    linkageType: ''
    returnType: int
    signature: int dbscan_update_context(GEOSSTRtree* tree, struct QueryContext* cxt,
      LWGEOM** geoms, uint32_t p, double eps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:304,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - uf
    - p
    - q
    - is_in_core
    - in_a_cluster
    argTypes:
    - UNIONFIND*
    - uint32_t
    - uint32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: union_if_available
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - UF_union
    linkageType: ''
    returnType: void
    signature: void union_if_available(UNIONFIND* uf, uint32_t p, uint32_t q, char*
      is_in_core, char* in_a_cluster)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:334,1
    - Dst: make_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:343,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:346,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:353,1
    - Dst: dbscan_update_context
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:356,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:359,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:366,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:366,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:368,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:376,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:382,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:384,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - geoms
    - num_geoms
    - uf
    - eps
    - in_a_cluster_ret
    argTypes:
    - LWGEOM**
    - uint32_t
    - UNIONFIND*
    - double
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 387
    functionName: union_dbscan_minpoints_1
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - dbscan_update_context
    - lwgeom_is_empty
    - lwalloc
    - lwfree
    - destroy_strtree
    - UF_union
    - lwgeom_mindistance2d_tolerance
    - make_strtree
    - UF_find
    linkageType: ''
    returnType: int
    signature: int union_dbscan_minpoints_1(LWGEOM** geoms, uint32_t num_geoms, UNIONFIND*
      uf, double eps, char** in_a_cluster_ret)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:405,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:406,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:415,1
    - Dst: make_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:419,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:422,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:426,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:427,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:428,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:435,1
    - Dst: dbscan_update_context
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:438,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:441,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:459,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:459,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:469,1
    - Dst: union_if_available
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:495,1
    - Dst: union_if_available
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:505,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:514,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:515,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:519,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:522,1
    - Dst: destroy_strtree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:524,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 6
    argNames:
    - geoms
    - num_geoms
    - uf
    - eps
    - min_points
    - in_a_cluster_ret
    argTypes:
    - LWGEOM**
    - uint32_t
    - UNIONFIND*
    - double
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 526
    functionName: union_dbscan_general
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - dbscan_update_context
    - memset
    - union_if_available
    - lwgeom_is_empty
    - lwfree
    - lwalloc
    - destroy_strtree
    - lwgeom_mindistance2d_tolerance
    - make_strtree
    - UF_find
    linkageType: ''
    returnType: int
    signature: int union_dbscan_general(LWGEOM** geoms, uint32_t num_geoms, UNIONFIND*
      uf, double eps, uint32_t min_points, char** in_a_cluster_ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: union_dbscan_minpoints_1
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:531,1
    - Dst: union_dbscan_general
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - geoms
    - num_geoms
    - uf
    - eps
    - min_points
    - in_a_cluster_ret
    argTypes:
    - LWGEOM**
    - uint32_t
    - UNIONFIND*
    - double
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: union_dbscan
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - union_dbscan_general
    - union_dbscan_minpoints_1
    linkageType: ''
    returnType: int
    signature: int union_dbscan(LWGEOM** geoms, uint32_t num_geoms, UNIONFIND* uf,
      double eps, uint32_t min_points, char** in_a_cluster_ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:543,1
    - Dst: union_dbscan
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:545,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:547,1
    - Dst: combine_geometries
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:551,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - geoms
    - num_geoms
    - tolerance
    - clusterGeoms
    - num_clusters
    argTypes:
    - LWGEOM**
    - uint32_t
    - double
    - LWGEOM***
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 539
    functionDepth: 5
    functionLinenumber: 539
    functionLinenumberEnd: 554
    functionName: cluster_within_distance
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 0
    functionsReached:
    - UF_destroy
    - UF_create
    - combine_geometries
    - union_dbscan
    linkageType: ''
    returnType: int
    signature: int cluster_within_distance(LWGEOM** geoms, uint32_t num_geoms, double
      tolerance, LWGEOM*** clusterGeoms, uint32_t* num_clusters)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:566,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:568,1
    - Dst: UF_ordered_by_cluster
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:569,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:576,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:576,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:585,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:586,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:587,1
    - Dst: GEOSGetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:591,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:592,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:593,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:600,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_cluster.c:601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - uf
    - geoms
    - num_geoms
    - clusterGeoms
    - num_clusters
    - is_lwgeom
    argTypes:
    - UNIONFIND*
    - void**
    - uint32_t
    - void***
    - uint32_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 604
    functionName: combine_geometries
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    functionUses: 2
    functionsReached:
    - UF_ordered_by_cluster
    - GEOSSetSRID
    - GEOSGeom_createCollection
    - lwcollection_construct
    - GEOSGetSRID
    - lwalloc
    - lwfree
    - memcpy
    - UF_find
    linkageType: ''
    returnType: int
    signature: int combine_geometries(UNIONFIND* uf, void** geoms, uint32_t num_geoms,
      void*** clusterGeoms, uint32_t* num_clusters, char is_lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: POW2
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POW2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: deg2rad
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deg2rad(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: rad2deg
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rad2deg(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwmpoint.c:35,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmpoint.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwmpoint
    argTypes:
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: lwmpoint_release
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwmpoint_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwmpoint_release(LWMPOINT *lwmpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmpoint.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: lwmpoint_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 4
    functionsReached:
    - lwcollection_construct_empty
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmpoint_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwmpoint.c:47,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwmpoint.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mobj
    - obj
    argTypes:
    - LWMPOINT*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: lwmpoint_add_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 3
    functionsReached:
    - lwcollection_add_lwgeom
    - LWDEBUG
    linkageType: ''
    returnType: LWMPOINT
    signature: LWMPOINT * lwmpoint_add_lwpoint(LWMPOINT *mobj, const LWPOINT *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwmpoint.c:55,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwmpoint.c:56,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmpoint.c:57,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwmpoint.c:63,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwmpoint.c:64,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwmpoint.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srid
    - pa
    argTypes:
    - int32_t
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: lwmpoint_construct
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 1
    functionsReached:
    - ptarray_has_z
    - lwcollection_construct_empty
    - ptarray_has_m
    - lwmpoint_add_lwpoint
    - lwpoint_make
    - getPoint4d_p
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmpoint_construct(int32_t srid, const POINTARRAY *pa)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoint.c:79,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/lwmpoint.c:83,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoint.c:86,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoint.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - mpt
    argTypes:
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: lwmpoint_free
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 1
    functionsReached:
    - lwpoint_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwmpoint_free(LWMPOINT *mpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/lwmpoint.c:95,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwmpoint.c:96,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwmpoint.c:97,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwmpoint.c:98,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/lwmpoint.c:101,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwmpoint.c:102,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwmpoint.c:103,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwmpoint.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: lwmpoint_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwmpoint.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_create
    - lwpointiterator_next
    - lwmpoint_construct_empty
    - lwpointiterator_destroy
    - lwgeom_has_z
    - lwmpoint_add_lwpoint
    - lwpoint_make
    - lwgeom_has_m
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmpoint_from_lwgeom(const LWGEOM *g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwiterator.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - front
    argTypes:
    - void*
    - LISTNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: prepend_node
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: LISTNODE
    signature: 'LISTNODE *

      prepend_node(const void* g, LISTNODE* front)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwiterator.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - LISTNODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: pop_node
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: LISTNODE
    signature: 'LISTNODE *

      pop_node(LISTNODE* i)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwiterator.c:73,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - g
    argTypes:
    - LWPOINTITERATOR*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: add_lwgeom_to_stack
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_empty
    - prepend_node
    linkageType: ''
    returnType: int
    signature: int add_lwgeom_to_stack(LWPOINTITERATOR* s, const LWGEOM* g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwiterator.c:86,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:89,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwiterator.c:89,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:91,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwiterator.c:91,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:93,1
    - Dst: lwgeom_as_lwtriangle
      Src: /src/postgis/liblwgeom/lwiterator.c:93,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:95,1
    - Dst: lwgeom_as_lwcircstring
      Src: /src/postgis/liblwgeom/lwiterator.c:95,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/lwiterator.c:100,1
    - Dst: prepend_node
      Src: /src/postgis/liblwgeom/lwiterator.c:103,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwiterator.c:108,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwiterator.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 112
    functionName: extract_pointarrays_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwpoint
    - lwerror
    - lwgeom_as_lwpoly
    - lwgeom_as_lwtriangle
    - prepend_node
    - lwgeom_get_type
    - lwgeom_as_lwcircstring
    - lwtype_name
    - lwgeom_as_lwline
    linkageType: ''
    returnType: LISTNODE
    signature: 'LISTNODE *

      extract_pointarrays_from_lwgeom(const LWGEOM* g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_node
      Src: /src/postgis/liblwgeom/lwiterator.c:129,1
    - Dst: lwcollection_getsubgeom
      Src: /src/postgis/liblwgeom/lwiterator.c:133,1
    - Dst: add_lwgeom_to_stack
      Src: /src/postgis/liblwgeom/lwiterator.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - LWPOINTITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: unroll_collection
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - add_lwgeom_to_stack
    - pop_node
    - lwcollection_getsubgeom
    linkageType: ''
    returnType: void
    signature: void unroll_collection(LWPOINTITERATOR* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwiterator.c:145,1
    - Dst: unroll_collection
      Src: /src/postgis/liblwgeom/lwiterator.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - LWPOINTITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: unroll_collections
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - unroll_collection
    linkageType: ''
    returnType: void
    signature: void unroll_collections(LWPOINTITERATOR* s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pop_node
      Src: /src/postgis/liblwgeom/lwiterator.c:160,1
    - Dst: unroll_collections
      Src: /src/postgis/liblwgeom/lwiterator.c:169,1
    - Dst: extract_pointarrays_from_lwgeom
      Src: /src/postgis/liblwgeom/lwiterator.c:178,1
    - Dst: pop_node
      Src: /src/postgis/liblwgeom/lwiterator.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - LWPOINTITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 188
    functionName: lwpointiterator_advance
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - unroll_collections
    - extract_pointarrays_from_lwgeom
    - pop_node
    linkageType: ''
    returnType: int
    signature: int lwpointiterator_advance(LWPOINTITERATOR* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/lwiterator.c:195,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwiterator.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - LWPOINTITERATOR*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: lwpointiterator_peek
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - getPoint4d_p
    - lwpointiterator_has_next
    linkageType: ''
    returnType: int
    signature: int lwpointiterator_peek(LWPOINTITERATOR* s, POINT4D* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - LWPOINTITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: lwpointiterator_has_next
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwpointiterator_has_next(LWPOINTITERATOR* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/lwiterator.c:212,1
    - Dst: lwpointiterator_peek
      Src: /src/postgis/liblwgeom/lwiterator.c:216,1
    - Dst: lwpointiterator_advance
      Src: /src/postgis/liblwgeom/lwiterator.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - LWPOINTITERATOR*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: lwpointiterator_next
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 1
    functionsReached:
    - lwpointiterator_advance
    - lwpointiterator_peek
    - lwpointiterator_has_next
    linkageType: ''
    returnType: int
    signature: int lwpointiterator_next(LWPOINTITERATOR* s, POINT4D* p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/lwiterator.c:226,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwiterator.c:231,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwiterator.c:236,1
    - Dst: lwpointiterator_advance
      Src: /src/postgis/liblwgeom/lwiterator.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - LWPOINTITERATOR*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: lwpointiterator_modify_next
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwpointiterator_advance
    - ptarray_set_point4d
    - lwpointiterator_has_next
    linkageType: ''
    returnType: int
    signature: int lwpointiterator_modify_next(LWPOINTITERATOR* s, const POINT4D*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_create_rw
      Src: /src/postgis/liblwgeom/lwiterator.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: lwpointiterator_create
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 1
    functionsReached:
    - lwpointiterator_create_rw
    linkageType: ''
    returnType: LWPOINTITERATOR
    signature: 'LWPOINTITERATOR *

      lwpointiterator_create(const LWGEOM* g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwiterator.c:254,1
    - Dst: add_lwgeom_to_stack
      Src: /src/postgis/liblwgeom/lwiterator.c:261,1
    - Dst: lwpointiterator_advance
      Src: /src/postgis/liblwgeom/lwiterator.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: lwpointiterator_create_rw
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 1
    functionsReached:
    - add_lwgeom_to_stack
    - lwpointiterator_advance
    - lwalloc
    linkageType: ''
    returnType: LWPOINTITERATOR
    signature: 'LWPOINTITERATOR *

      lwpointiterator_create_rw(LWGEOM* g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_node
      Src: /src/postgis/liblwgeom/lwiterator.c:272,1
    - Dst: pop_node
      Src: /src/postgis/liblwgeom/lwiterator.c:277,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwiterator.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - LWPOINTITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: lwpointiterator_destroy
    functionSourceFile: /src/postgis/liblwgeom/lwiterator.c
    functionUses: 1
    functionsReached:
    - lwfree
    - pop_node
    linkageType: ''
    returnType: void
    signature: void lwpointiterator_destroy(LWPOINTITERATOR* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:42,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - out
    argTypes:
    - LWPOINT*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: lwpoint_getPoint2d_p
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - getPoint2d_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoint_getPoint2d_p(const LWPOINT *point, POINT2D *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:49,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/lwpoint.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - out
    argTypes:
    - LWPOINT*
    - POINT3DZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: lwpoint_getPoint3dz_p
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - getPoint3dz_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoint_getPoint3dz_p(const LWPOINT *point, POINT3DZ *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:54,1
    - Dst: getPoint3dm_p
      Src: /src/postgis/liblwgeom/lwpoint.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - out
    argTypes:
    - LWPOINT*
    - POINT3DM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: lwpoint_getPoint3dm_p
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - getPoint3dm_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoint_getPoint3dm_p(const LWPOINT *point, POINT3DM *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:59,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - point
    - out
    argTypes:
    - LWPOINT*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: lwpoint_getPoint4d_p
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 3
    functionsReached:
    - getPoint4d_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoint_getPoint4d_p(const LWPOINT *point, POINT4D *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:66,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:68,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: lwpoint_get_x
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint4d_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: double
    signature: double lwpoint_get_x(const LWPOINT *point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:79,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:81,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: lwpoint_get_y
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint4d_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: double
    signature: double lwpoint_get_y(const LWPOINT *point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:92,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:94,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwpoint.c:97,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:99,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: lwpoint_get_z
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - lwerror
    - FLAGS_GET_Z
    - getPoint4d_p
    - lwpoint_is_empty
    linkageType: ''
    returnType: double
    signature: double lwpoint_get_z(const LWPOINT *point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:110,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:112,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwpoint.c:115,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoint.c:117,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: lwpoint_get_m
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 3
    functionsReached:
    - lwerror
    - FLAGS_GET_M
    - lwpoint_is_empty
    - getPoint4d_p
    linkageType: ''
    returnType: double
    signature: double lwpoint_get_m(const LWPOINT *point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoint.c:137,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwpoint.c:139,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwpoint.c:139,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwpoint.c:140,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwpoint.c:140,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwpoint.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - srid
    - bbox
    - point
    argTypes:
    - int32_t
    - GBOX*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: lwpoint_construct
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 2
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_BBOX
    - FLAGS_GET_M
    - lwalloc
    - FLAGS_SET_M
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_construct(int32_t srid, GBOX *bbox, POINTARRAY *point)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoint.c:153,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwpoint.c:155,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: lwpoint_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - ptarray_construct
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:166,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoint.c:168,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - srid
    - x
    - y
    argTypes:
    - int32_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: lwpoint_make2d
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_make2d(int32_t srid, double x, double y)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:176,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoint.c:178,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - srid
    - x
    - y
    - z
    argTypes:
    - int32_t
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: lwpoint_make3dz
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_make3dz(int32_t srid, double x, double y, double z)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:187,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoint.c:189,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - srid
    - x
    - y
    - m
    argTypes:
    - int32_t
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: lwpoint_make3dm
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_make3dm(int32_t srid, double x, double y, double m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:198,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoint.c:200,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - srid
    - x
    - y
    - z
    - m
    argTypes:
    - int32_t
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: lwpoint_make4d
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_make4d(int32_t srid, double x, double y, double z, double m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:208,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoint.c:209,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - srid
    - hasz
    - hasm
    - p
    argTypes:
    - int32_t
    - int
    - int
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: lwpoint_make
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 2
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_make(int32_t srid, int hasz, int hasm, const POINT4D *p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoint.c:218,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwpoint.c:220,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoint.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pt
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: lwpoint_free
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 1
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void lwpoint_free(LWPOINT *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoint.c:226,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoint.c:227,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwpoint.c:227,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoint.c:228,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/lwpoint.c:228,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoint.c:229,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwpoint.c:230,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoint.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: printLWPOINT
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - FLAGS_GET_BBOX
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWPOINT(LWPOINT *point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoint.c:241,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwpoint.c:243,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwpoint.c:245,1
    - Dst: ptarray_clone
      Src: /src/postgis/liblwgeom/lwpoint.c:247,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwpoint.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: lwpoint_clone
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 5
    functionsReached:
    - gbox_copy
    - LWDEBUG
    - ptarray_clone
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_clone(const LWPOINT *g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwpoint.c:258,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwpoint.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwpoint
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: lwpoint_release
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwpoint_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwpoint_release(LWPOINT *lwpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwpoint.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - LWPOINT*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: lwpoint_same
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - ptarray_same
    linkageType: ''
    returnType: char
    signature: char lwpoint_same(const LWPOINT *p1, const LWPOINT *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same2d
      Src: /src/postgis/liblwgeom/lwpoint.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - LWPOINT*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: lwpoint_same2d
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - ptarray_same2d
    linkageType: ''
    returnType: char
    signature: char lwpoint_same2d(const LWPOINT *p1, const LWPOINT *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwpoint.c:280,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwpoint.c:281,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwpoint.c:282,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:283,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:284,1
    - Dst: project_pt_pt
      Src: /src/postgis/liblwgeom/lwpoint.c:285,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwpoint.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - lwpoint1
    - lwpoint2
    - distance
    argTypes:
    - LWPOINT*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: lwpoint_project_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - lwgeom_get_srid
    - project_pt_pt
    - lwgeom_has_z
    - lwpoint_make
    - lwgeom_has_m
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_project_lwpoint(const LWPOINT* lwpoint1, const LWPOINT* lwpoint2, double
      distance)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwpoint.c:293,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwpoint.c:294,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwpoint.c:295,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:296,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwpoint.c:297,1
    - Dst: project_pt
      Src: /src/postgis/liblwgeom/lwpoint.c:298,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwpoint.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - lwpoint1
    - distance
    - azimuth
    argTypes:
    - LWPOINT*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: lwpoint_project
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - lwgeom_get_srid
    - lwgeom_has_z
    - project_pt
    - lwpoint_make
    - lwgeom_has_m
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_project(const LWPOINT* lwpoint1, double distance, double azimuth)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:310,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwpoint.c:312,1
    - Dst: ptarray_force_dims
      Src: /src/postgis/liblwgeom/lwpoint.c:317,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwpoint.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - point
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - LWPOINT*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: lwpoint_force_dims
    functionSourceFile: /src/postgis/liblwgeom/lwpoint.c
    functionUses: 0
    functionsReached:
    - ptarray_force_dims
    - lwpoint_construct
    - lwpoint_is_empty
    - lwpoint_construct_empty
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwpoint_force_dims(const LWPOINT *point, int hasz, int hasm, double zval, double
      mval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: SET_PARSER_ERROR
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_PARSER_ERROR(errno)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postgis/liblwgeom/lwin_wkt.c:69,1
    - Dst: clamp_srid
      Src: /src/postgis/liblwgeom/lwin_wkt.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: wkt_lexer_read_srid
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 0
    functionsReached:
    - clamp_srid
    - strtol
    linkageType: ''
    returnType: int
    signature: int wkt_lexer_read_srid(char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwin_wkt.c:84,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:87,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:89,1
    - Dst: isspace
      Src: /src/postgis/liblwgeom/lwin_wkt.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - dimensionality
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: wkt_dimensionality
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 0
    functionsReached:
    - isspace
    - FLAGS_SET_Z
    - strlen
    - FLAGS_SET_M
    linkageType: ''
    returnType: lwflags_t
    signature: lwflags_t wkt_dimensionality(char *dimensionality)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:103,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:104,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:111,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:112,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:121,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:122,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:133,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:134,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:145,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:146,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:155,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwin_wkt.c:160,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:164,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - geom
    - flags
    argTypes:
    - LWGEOM*
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 176
    functionName: wkt_parser_set_dims
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_GET_M
    - lwtype_is_collection
    - wkt_parser_set_dims
    - LWDEBUGF
    - FLAGS_SET_M
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int wkt_parser_set_dims(LWGEOM *geom, lwflags_t flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:185,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:186,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt.c:193,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt.c:194,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:194,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:203,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:208,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - flags
    argTypes:
    - POINTARRAY*
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: wkt_pointarray_dimensionality
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_M
    - FLAGS_SET_Z
    - FLAGS_GET_M
    - LWDEBUGF
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int wkt_pointarray_dimensionality(POINTARRAY *pa, lwflags_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:228,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: wkt_parser_coord_2
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_M
    linkageType: ''
    returnType: POINT
    signature: POINT wkt_parser_coord_2(double c1, double c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:245,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - c1
    - c2
    - c3
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: wkt_parser_coord_3
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_M
    linkageType: ''
    returnType: POINT
    signature: POINT wkt_parser_coord_3(double c1, double c2, double c3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:260,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - c1
    - c2
    - c3
    - c4
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: wkt_parser_coord_4
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_M
    linkageType: ''
    returnType: POINT
    signature: POINT wkt_parser_coord_4(double c1, double c2, double c3, double c4)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:268,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:273,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:278,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:278,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:280,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:281,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:288,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:290,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:293,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:293,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwin_wkt.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pa
    - p
    argTypes:
    - POINTARRAY*
    - POINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 298
    functionName: wkt_parser_ptarray_add_coord
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - ptarray_free
    - LWDEBUG
    - ptarray_append_point
    - FLAGS_GET_M
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * wkt_parser_ptarray_add_coord(POINTARRAY *pa, POINT p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:305,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:306,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:307,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:310,1
    - Dst: wkt_parser_ptarray_add_coord
      Src: /src/postgis/liblwgeom/lwin_wkt.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: wkt_parser_ptarray_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - ptarray_construct_empty
    - LWDEBUG
    - wkt_parser_ptarray_add_coord
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * wkt_parser_ptarray_new(POINT p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:322,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:323,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:327,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:327,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:327,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:327,1
    - Dst: wkt_pointarray_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:330,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:332,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:333,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:340,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:341,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:345,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pa
    - dimensionality
    argTypes:
    - POINTARRAY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: wkt_parser_point_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - ptarray_free
    - wkt_dimensionality
    - lwpoint_construct
    - FLAGS_GET_M
    - lwpoint_as_lwgeom
    - lwpoint_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_GET_Z
    - wkt_pointarray_dimensionality
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_point_new(POINTARRAY *pa, char *dimensionality)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:356,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:357,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:361,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:361,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:361,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:361,1
    - Dst: wkt_pointarray_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:364,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:366,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:367,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:374,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:375,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:379,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pa
    - dimensionality
    argTypes:
    - POINTARRAY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 380
    functionName: wkt_parser_linestring_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - lwline_construct_empty
    - wkt_dimensionality
    - lwline_as_lwgeom
    - ptarray_free
    - FLAGS_GET_M
    - SET_PARSER_ERROR
    - lwline_construct
    - FLAGS_GET_Z
    - wkt_pointarray_dimensionality
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_linestring_new(POINTARRAY *pa, char *dimensionality)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:390,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:391,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:395,1
    - Dst: lwcircstring_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:395,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:395,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:395,1
    - Dst: wkt_pointarray_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:398,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:400,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:401,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:408,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:409,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:416,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:417,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:421,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pa
    - dimensionality
    argTypes:
    - POINTARRAY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 422
    functionName: wkt_parser_circularstring_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwcircstring_as_lwgeom
    - lwcircstring_construct
    - LWDEBUG
    - ptarray_free
    - wkt_dimensionality
    - FLAGS_GET_M
    - lwcircstring_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_GET_Z
    - wkt_pointarray_dimensionality
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_circularstring_new(POINTARRAY *pa, char *dimensionality)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:426,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:427,1
    - Dst: lwtriangle_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:431,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:431,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:431,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:431,1
    - Dst: wkt_pointarray_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:434,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:436,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:437,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:444,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:445,1
    - Dst: ptarray_is_closed_z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:450,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:452,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:453,1
    - Dst: lwtriangle_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:457,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pa
    - dimensionality
    argTypes:
    - POINTARRAY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 458
    functionName: wkt_parser_triangle_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - lwtriangle_as_lwgeom
    - wkt_dimensionality
    - ptarray_free
    - lwtriangle_construct
    - FLAGS_GET_M
    - ptarray_is_closed_z
    - lwtriangle_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_GET_Z
    - wkt_pointarray_dimensionality
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_triangle_new(POINTARRAY *pa, char *dimensionality)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:463,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:468,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:472,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:472,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:472,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:477,1
    - Dst: wkt_parser_polygon_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt.c:481,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:481,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - dimcheck
    argTypes:
    - POINTARRAY*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 483
    functionName: wkt_parser_polygon_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - wkt_parser_polygon_add_ring
    - LWDEBUG
    - lwpoly_as_lwgeom
    - FLAGS_GET_M
    - lwpoly_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_polygon_new(POINTARRAY *pa, char dimcheck)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:487,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:492,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:497,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:497,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:499,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:500,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:501,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:508,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:509,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:510,1
    - Dst: ptarray_is_closed_z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:516,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwin_wkt.c:516,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:518,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:519,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:520,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt.c:525,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/lwin_wkt.c:525,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:527,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:528,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - poly
    - pa
    - dimcheck
    argTypes:
    - LWGEOM*
    - POINTARRAY*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 533
    functionName: wkt_parser_polygon_add_ring
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 2
    functionsReached:
    - lwpoly_add_ring
    - lwgeom_free
    - ptarray_is_closed_2d
    - ptarray_free
    - LWDEBUG
    - lwgeom_as_lwpoly
    - ptarray_is_closed_z
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_polygon_add_ring(LWGEOM *poly, POINTARRAY *pa,
      char dimcheck)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:537,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:538,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:539,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:543,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:543,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:543,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:543,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:548,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:550,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:551,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:556,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:558,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - poly
    - dimensionality
    argTypes:
    - LWGEOM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: wkt_parser_polygon_finalize
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - LWDEBUG
    - wkt_dimensionality
    - lwpoly_as_lwgeom
    - FLAGS_GET_M
    - wkt_parser_set_dims
    - lwpoly_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_polygon_finalize(LWGEOM *poly, char *dimensionality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:570,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:575,1
    - Dst: lwcurvepoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:580,1
    - Dst: lwcurvepoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:580,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:580,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:580,1
    - Dst: wkt_parser_curvepolygon_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 583
    functionName: wkt_parser_curvepolygon_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwcurvepoly_as_lwgeom
    - LWDEBUG
    - FLAGS_GET_M
    - lwcurvepoly_construct_empty
    - SET_PARSER_ERROR
    - wkt_parser_curvepolygon_add_ring
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_curvepolygon_new(LWGEOM *ring)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:587,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:592,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:593,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:598,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:598,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:600,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:601,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:602,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:603,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwin_wkt.c:615,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:617,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:618,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:619,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:620,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:629,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/lwin_wkt.c:633,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwin_wkt.c:633,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/lwin_wkt.c:637,1
    - Dst: lwgeom_as_lwcircstring
      Src: /src/postgis/liblwgeom/lwin_wkt.c:637,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/lwin_wkt.c:641,1
    - Dst: lwgeom_as_lwcompound
      Src: /src/postgis/liblwgeom/lwin_wkt.c:641,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:646,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:647,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:648,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:649,1
    - Dst: lwcurvepoly_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkt.c:654,1
    - Dst: lwgeom_as_lwcurvepoly
      Src: /src/postgis/liblwgeom/lwin_wkt.c:654,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:656,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:657,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:658,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - poly
    - ring
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 664
    functionName: wkt_parser_curvepolygon_add_ring
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 2
    functionsReached:
    - lwgeom_free
    - LWDEBUG
    - lwcircstring_is_closed
    - lwgeom_count_vertices
    - lwline_is_closed
    - lwcompound_is_closed
    - lwgeom_as_lwcompound
    - lwcurvepoly_add_ring
    - lwgeom_as_lwcircstring
    - SET_PARSER_ERROR
    - lwgeom_as_lwcurvepoly
    - FLAGS_NDIMS
    - lwgeom_as_lwline
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_curvepolygon_add_ring(LWGEOM *poly, LWGEOM *ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:668,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:669,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:670,1
    - Dst: lwcurvepoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:674,1
    - Dst: lwcurvepoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:674,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:674,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:674,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:679,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:681,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:682,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:687,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:689,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - poly
    - dimensionality
    argTypes:
    - LWGEOM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 696
    functionName: wkt_parser_curvepolygon_finalize
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwcurvepoly_as_lwgeom
    - lwgeom_free
    - LWDEBUG
    - wkt_dimensionality
    - FLAGS_GET_M
    - wkt_parser_set_dims
    - lwcurvepoly_construct_empty
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_curvepolygon_finalize(LWGEOM *poly, char *dimensionality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:703,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:708,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwin_wkt.c:713,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:717,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 721
    functionName: wkt_parser_collection_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwcollection_as_lwgeom
    - LWDEBUG
    - lwcollection_construct
    - lwalloc
    - SET_PARSER_ERROR
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_collection_new(LWGEOM *geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:729,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:734,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:740,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:742,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:743,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwin_wkt.c:748,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwin_wkt.c:752,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 756
    functionName: wkt_parser_compound_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - LWDEBUG
    - lwcollection_as_lwgeom
    - lwgeom_is_empty
    - lwcollection_construct
    - lwalloc
    - SET_PARSER_ERROR
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_compound_new(LWGEOM *geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:761,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:766,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:771,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:771,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:773,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:774,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:775,1
    - Dst: lwcompound_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:779,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:781,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:782,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - col
    - geom
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 788
    functionName: wkt_parser_compound_add_geom
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - LWDEBUG
    - lwcompound_add_lwgeom
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_compound_add_geom(LWGEOM *col, LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:793,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:794,1
    - Dst: lwcompound_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:799,1
    - Dst: lwcompound_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:799,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:799,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:799,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:805,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:807,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:808,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:813,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:815,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - compound
    - dimensionality
    argTypes:
    - LWGEOM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 822
    functionName: wkt_parser_compound_finalize
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwcompound_as_lwgeom
    - wkt_dimensionality
    - FLAGS_GET_M
    - wkt_parser_set_dims
    - SET_PARSER_ERROR
    - lwcompound_construct_empty
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_compound_finalize(LWGEOM *compound, char *dimensionality)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:828,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:833,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:837,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:837,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwin_wkt.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - col
    - geom
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 838
    functionName: wkt_parser_collection_add_geom
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_as_lwcollection
    - lwcollection_as_lwgeom
    - LWDEBUG
    - SET_PARSER_ERROR
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_collection_add_geom(LWGEOM *col, LWGEOM *geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wkt_dimensionality
      Src: /src/postgis/liblwgeom/lwin_wkt.c:842,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:843,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkt.c:848,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:848,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:848,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:848,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwin_wkt.c:854,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:860,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwin_wkt.c:860,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:861,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:863,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:864,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:869,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwin_wkt.c:869,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:870,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwin_wkt.c:870,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwin_wkt.c:871,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:873,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:874,1
    - Dst: wkt_parser_set_dims
      Src: /src/postgis/liblwgeom/lwin_wkt.c:880,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:882,1
    - Dst: SET_PARSER_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt.c:883,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - lwtype
    - geom
    - dimensionality
    argTypes:
    - int
    - LWGEOM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 892
    functionName: wkt_parser_collection_finalize
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwgeom_as_lwcollection
    - lwcollection_as_lwgeom
    - wkt_dimensionality
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - FLAGS_GET_M
    - wkt_parser_set_dims
    - SET_PARSER_ERROR
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * wkt_parser_collection_finalize(int lwtype, LWGEOM *geom, char
      *dimensionality)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkt.c:897,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt.c:898,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkt.c:899,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkt.c:903,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwin_wkt.c:908,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwin_wkt.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - geom
    - srid
    argTypes:
    - LWGEOM*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 913
    functionName: wkt_parser_geometry_new
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwerror
    - LWDEBUGF
    - lwgeom_set_srid
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void wkt_parser_geometry_new(LWGEOM *geom, int32_t srid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwin_wkt.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser_result
    argTypes:
    - LWGEOM_PARSER_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: lwgeom_parser_result_init
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void lwgeom_parser_result_init(LWGEOM_PARSER_RESULT *parser_result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkt.c:925,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwin_wkt.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - parser_result
    argTypes:
    - LWGEOM_PARSER_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: lwgeom_parser_result_free
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwgeom_parser_result_free(LWGEOM_PARSER_RESULT *parser_result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/lwin_wkt.c:944,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkt.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - wkt
    - check
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 951
    functionName: lwgeom_from_wkt
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwgeom_parse_wkt
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwgeom_from_wkt(const char *wkt, const char check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:45,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/bytebuffer.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - bytebuffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: bytebuffer_init_with_size
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - memset
    - lwalloc
    linkageType: ''
    returnType: void
    signature: void bytebuffer_init_with_size(bytebuffer_t *s, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/bytebuffer.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: bytebuffer_destroy_buffer
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void bytebuffer_destroy_buffer(bytebuffer_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:74,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:79,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:86,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:89,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:90,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - s
    - size_to_add
    argTypes:
    - bytebuffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: bytebuffer_makeroom
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - lwrealloc
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bytebuffer_makeroom(bytebuffer_t *s, size_t size_to_add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:107,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:108,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:109,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/bytebuffer.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: bytebuffer_get_buffer_varlena
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_getlength
    - LWSIZE_SET
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      bytebuffer_get_buffer_varlena(const bytebuffer_t *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - buffer_length
    argTypes:
    - bytebuffer_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: bytebuffer_get_buffer
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_getlength
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      bytebuffer_get_buffer(const bytebuffer_t *s, size_t *buffer_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:129,1
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - bytebuffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: bytebuffer_append_byte
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_makeroom
    - LWDEBUGF
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_byte(bytebuffer_t *s, const uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:142,1
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:143,1
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:144,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - write_to
    - write_from
    argTypes:
    - bytebuffer_t*
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: bytebuffer_append_bytebuffer
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_getlength
    - bytebuffer_makeroom
    - memcpy
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_bytebuffer(bytebuffer_t *write_to,bytebuffer_t
      *write_from )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:156,1
    - Dst: varint_s64_encode_buf
      Src: /src/postgis/liblwgeom/bytebuffer.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - bytebuffer_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: bytebuffer_append_varint
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - varint_s64_encode_buf
    - bytebuffer_makeroom
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_varint(bytebuffer_t *b, const int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:167,1
    - Dst: varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/bytebuffer.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - bytebuffer_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: bytebuffer_append_uvarint
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - varint_u64_encode_buf
    - bytebuffer_makeroom
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_uvarint(bytebuffer_t *b, const uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: bytebuffer_getlength
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bytebuffer_getlength(const bytebuffer_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:188,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:189,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - buffer_length
    argTypes:
    - bytebuffer_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: bytebuffer_get_buffer_copy
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_getlength
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      bytebuffer_get_buffer_copy(const bytebuffer_t *s, size_t *buffer_length)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:202,1
    - Dst: bytebuffer_create_with_size
      Src: /src/postgis/liblwgeom/bytebuffer.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: bytebuffer_create
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_create_with_size
    - LWDEBUG
    linkageType: ''
    returnType: bytebuffer_t
    signature: 'bytebuffer_t *

      bytebuffer_create(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:212,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:215,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/bytebuffer.c:223,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/bytebuffer.c:227,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: bytebuffer_create_with_size
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 1
    functionsReached:
    - memset
    - LWDEBUGF
    - lwalloc
    linkageType: ''
    returnType: bytebuffer_t
    signature: 'bytebuffer_t *

      bytebuffer_create_with_size(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/bytebuffer.c:238,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/bytebuffer.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: bytebuffer_destroy
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_destroy_buffer
    - lwfree
    linkageType: ''
    returnType: void
    signature: void bytebuffer_destroy(bytebuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: bytebuffer_reset_reading
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bytebuffer_reset_reading(bytebuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: bytebuffer_clear
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bytebuffer_clear(bytebuffer_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:271,1
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:272,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - start
    - size
    argTypes:
    - bytebuffer_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: bytebuffer_append_bulk
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_makeroom
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_bulk(bytebuffer_t *s, void * start, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:284,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:286,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/bytebuffer.c:292,1
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:295,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:299,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:309,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:310,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - val
    - swap
    argTypes:
    - bytebuffer_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: bytebuffer_append_int
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwerror
    - bytebuffer_makeroom
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_int(bytebuffer_t *buf, const int val, int swap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:329,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/bytebuffer.c:331,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/bytebuffer.c:337,1
    - Dst: bytebuffer_makeroom
      Src: /src/postgis/liblwgeom/bytebuffer.c:340,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:345,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:355,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:356,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/bytebuffer.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - val
    - swap
    argTypes:
    - bytebuffer_t*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 363
    functionName: bytebuffer_append_double
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwerror
    - bytebuffer_makeroom
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bytebuffer_append_double(bytebuffer_t *buf, const double val,
      int swap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_s64_decode
      Src: /src/postgis/liblwgeom/bytebuffer.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: bytebuffer_read_varint
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - varint_s64_decode
    linkageType: ''
    returnType: int64_t
    signature: int64_t bytebuffer_read_varint(bytebuffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_u64_decode
      Src: /src/postgis/liblwgeom/bytebuffer.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - bytebuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: bytebuffer_read_uvarint
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - varint_u64_decode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bytebuffer_read_uvarint(bytebuffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:401,1
    - Dst: bytebuffer_create_with_size
      Src: /src/postgis/liblwgeom/bytebuffer.c:404,1
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/bytebuffer.c:407,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/bytebuffer.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buff_array
    - nbuffers
    argTypes:
    - bytebuffer_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 414
    functionName: bytebuffer_merge
    functionSourceFile: /src/postgis/liblwgeom/bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_getlength
    - memcpy
    - bytebuffer_create_with_size
    linkageType: ''
    returnType: bytebuffer_t
    signature: 'bytebuffer_t *

      bytebuffer_merge(bytebuffer_t **buff_array, int nbuffers)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: sfcgal_triangulated_surface_num_triangles
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_triangulated_surface_num_triangles(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: sfcgal_triangulated_surface_triangle_n
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_triangulated_surface_triangle_n(g, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: sfcgal_triangulated_surface_add_triangle
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_triangulated_surface_add_triangle(g, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: sfcgal_polyhedral_surface_num_polygons
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_polyhedral_surface_num_polygons(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: sfcgal_polyhedral_surface_polygon_n
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_polyhedral_surface_polygon_n(g, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: sfcgal_geometry_collection_num_geometries
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_geometry_collection_num_geometries(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: sfcgal_polyhedral_surface_add_polygon
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sfcgal_polyhedral_surface_add_polygon(g, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_version
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: lwgeom_sfcgal_version
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 1
    functionsReached:
    - sfcgal_version
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_sfcgal_version()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_full_version
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:56,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:58,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:59,1
    - Dst: sfcgal_version
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: lwgeom_sfcgal_full_version
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 1
    functionsReached:
    - sfcgal_version
    - sfcgal_full_version
    - lwalloc
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_sfcgal_full_version()'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - type
    argTypes:
    - sfcgal_geometry_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 133
    functionName: SFCGAL_type_to_lwgeom_type
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: int
    signature: int SFCGAL_type_to_lwgeom_type(sfcgal_geometry_type_t type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:150,1
    - Dst: sfcgal_geometry_is_3d
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:152,1
    - Dst: sfcgal_geometry_is_measured
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:155,1
    - Dst: sfcgal_geometry_type_id
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:158,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:161,1
    - Dst: sfcgal_point_x
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:162,1
    - Dst: sfcgal_point_y
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:163,1
    - Dst: sfcgal_point_z
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:166,1
    - Dst: sfcgal_point_m
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:172,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:175,1
    - Dst: sfcgal_linestring_num_points
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:180,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:181,1
    - Dst: sfcgal_linestring_point_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:185,1
    - Dst: sfcgal_point_x
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:186,1
    - Dst: sfcgal_point_y
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:187,1
    - Dst: sfcgal_point_z
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:190,1
    - Dst: sfcgal_point_m
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:196,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:199,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:205,1
    - Dst: sfcgal_triangle_vertex
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:209,1
    - Dst: sfcgal_point_x
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:210,1
    - Dst: sfcgal_point_y
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:211,1
    - Dst: sfcgal_point_z
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:214,1
    - Dst: sfcgal_point_m
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:220,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:223,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - geom
    - want3d
    argTypes:
    - sfcgal_geometry_t*
    - int
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    constantsTouched: []
    func_position:
      end: 234
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 234
    functionName: ptarray_from_SFCGAL
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_triangle_vertex
    - assert
    - sfcgal_geometry_is_measured
    - sfcgal_point_m
    - sfcgal_point_x
    - ptarray_construct
    - sfcgal_geometry_is_3d
    - lwerror
    - sfcgal_point_z
    - sfcgal_point_y
    - ptarray_set_point4d
    - sfcgal_linestring_num_points
    - sfcgal_geometry_type_id
    - sfcgal_linestring_point_n
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_from_SFCGAL(const sfcgal_geometry_t *geom, int want3d)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sfcgal_point_create_from_xyzm
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:244,1
    - Dst: sfcgal_point_create_from_xyz
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:246,1
    - Dst: sfcgal_point_create_from_xym
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:248,1
    - Dst: sfcgal_point_create_from_xy
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:250,1
    - Dst: sfcgal_point_create_from_xyz
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:255,1
    - Dst: sfcgal_point_create_from_xy
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - x
    - y
    - z
    - m
    - is_3d
    - is_measured
    argTypes:
    - double
    - double
    - double
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: create_sfcgal_point_by_dimensions
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_point_create_from_xy
    - sfcgal_point_create_from_xym
    - sfcgal_point_create_from_xyz
    - sfcgal_point_create_from_xyzm
    linkageType: ''
    returnType: sfcgal_geometry_t
    signature: 'sfcgal_geometry_t *

      create_sfcgal_point_by_dimensions(double x, double y, double z, double m, int
      is_3d, int is_measured)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:271,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:273,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:274,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:279,1
    - Dst: create_sfcgal_point_by_dimensions
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:280,1
    - Dst: sfcgal_linestring_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:284,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:287,1
    - Dst: sfcgal_linestring_add_point
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:288,1
    - Dst: create_sfcgal_point_by_dimensions
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:290,1
    - Dst: sfcgal_triangle_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:296,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:299,1
    - Dst: create_sfcgal_point_by_dimensions
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:301,1
    - Dst: sfcgal_triangle_set_vertex
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:304,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:305,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pa
    - type
    argTypes:
    - POINTARRAY*
    - int
    assertStmts:
    - condition: (pa)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    constantsTouched: []
    func_position:
      end: 315
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 315
    functionName: ptarray_to_SFCGAL
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 0
    functionsReached:
    - sfcgal_geometry_delete
    - assert
    - sfcgal_linestring_create
    - lwerror
    - sfcgal_linestring_add_point
    - create_sfcgal_point_by_dimensions
    - sfcgal_triangle_set_vertex
    - FLAGS_GET_M
    - sfcgal_triangle_create
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: sfcgal_geometry_t
    signature: 'sfcgal_geometry_t *

      ptarray_to_SFCGAL(const POINTARRAY *pa, int type)'
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:329,1
    - Dst: sfcgal_geometry_is_3d
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:331,1
    - Dst: sfcgal_geometry_type_id
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:333,1
    - Dst: sfcgal_geometry_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:336,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:337,1
    - Dst: ptarray_from_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:339,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:340,1
    - Dst: sfcgal_geometry_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:344,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:345,1
    - Dst: ptarray_from_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:347,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:348,1
    - Dst: sfcgal_geometry_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:352,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:353,1
    - Dst: ptarray_from_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:355,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:356,1
    - Dst: sfcgal_geometry_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:360,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:361,1
    - Dst: sfcgal_polygon_num_interior_rings
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:363,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:364,1
    - Dst: ptarray_from_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:366,1
    - Dst: sfcgal_polygon_exterior_ring
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:366,1
    - Dst: ptarray_from_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:368,1
    - Dst: sfcgal_polygon_interior_ring_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:368,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:370,1
    - Dst: sfcgal_geometry_collection_num_geometries
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:378,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:383,1
    - Dst: sfcgal_geometry_collection_geometry_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:386,1
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:387,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:388,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:391,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:393,1
    - Dst: SFCGAL_type_to_lwgeom_type
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:394,1
    - Dst: sfcgal_geometry_type_id
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:394,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:398,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:400,1
    - Dst: sfcgal_polyhedral_surface_num_polygons
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:419,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:424,1
    - Dst: sfcgal_polyhedral_surface_polygon_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:427,1
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:428,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:431,1
    - Dst: sfcgal_solid_num_shells
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:436,1
    - Dst: sfcgal_polyhedral_surface_num_polygons
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:439,1
    - Dst: sfcgal_solid_shell_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:439,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:444,1
    - Dst: sfcgal_solid_shell_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:447,1
    - Dst: sfcgal_polyhedral_surface_num_polygons
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:448,1
    - Dst: sfcgal_polyhedral_surface_polygon_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:452,1
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:453,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:458,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:460,1
    - Dst: sfcgal_triangulated_surface_num_triangles
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:465,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:469,1
    - Dst: sfcgal_triangulated_surface_triangle_n
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:472,1
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:473,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:476,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:480,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 100
    argCount: 3
    argNames:
    - geom
    - force3D
    - srid
    argTypes:
    - sfcgal_geometry_t*
    - int
    - int32_t
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    constantsTouched: []
    func_position:
      end: 483
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 483
    functionName: SFCGAL2LWGEOM
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 2
    functionsReached:
    - sfcgal_solid_shell_n
    - assert
    - lwline_construct_empty
    - sfcgal_geometry_is_3d
    - lwpoly_construct_empty
    - lwalloc
    - sfcgal_geometry_type_id
    - sfcgal_triangulated_surface_triangle_n
    - lwline_construct
    - lwpoint_construct_empty
    - lwpoly_construct
    - sfcgal_polygon_exterior_ring
    - FLAGS_GET_SOLID
    - sfcgal_solid_num_shells
    - lwtriangle_construct_empty
    - sfcgal_polygon_num_interior_rings
    - sfcgal_geometry_collection_geometry_n
    - ptarray_from_SFCGAL
    - SFCGAL_type_to_lwgeom_type
    - sfcgal_polyhedral_surface_polygon_n
    - lwtriangle_construct
    - lwerror
    - lwnotice
    - sfcgal_triangulated_surface_num_triangles
    - SFCGAL2LWGEOM
    - sfcgal_geometry_is_empty
    - lwpoint_construct
    - lwcollection_construct
    - lwrealloc
    - sfcgal_polyhedral_surface_num_polygons
    - FLAGS_SET_SOLID
    - sfcgal_polygon_interior_ring_n
    - sfcgal_geometry_collection_num_geometries
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      SFCGAL2LWGEOM(const sfcgal_geometry_t *geom, int force3D, int32_t srid)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:491,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:497,1
    - Dst: sfcgal_point_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:498,1
    - Dst: ptarray_to_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:500,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:506,1
    - Dst: sfcgal_linestring_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:507,1
    - Dst: ptarray_to_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:509,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:515,1
    - Dst: sfcgal_triangle_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:516,1
    - Dst: ptarray_to_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:517,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:525,1
    - Dst: sfcgal_polygon_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:526,1
    - Dst: ptarray_to_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:528,1
    - Dst: sfcgal_polygon_create_from_exterior_ring
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:529,1
    - Dst: ptarray_to_SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:533,1
    - Dst: sfcgal_polygon_add_interior_ring
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:534,1
    - Dst: sfcgal_multi_point_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:545,1
    - Dst: sfcgal_multi_linestring_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:547,1
    - Dst: sfcgal_multi_polygon_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:549,1
    - Dst: sfcgal_geometry_collection_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:551,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:556,1
    - Dst: sfcgal_geometry_collection_add_geometry
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:557,1
    - Dst: sfcgal_polyhedral_surface_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:566,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:570,1
    - Dst: sfcgal_polyhedral_surface_add_polygon
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:571,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:575,1
    - Dst: sfcgal_solid_create_from_exterior_shell
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:577,1
    - Dst: sfcgal_triangulated_surface_create
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:586,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:590,1
    - Dst: sfcgal_triangulated_surface_add_triangle
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:591,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:599,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:599,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    constantsTouched: []
    func_position:
      end: 602
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 602
    functionName: LWGEOM2SFCGAL
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 3
    functionsReached:
    - assert
    - sfcgal_geometry_collection_add_geometry
    - sfcgal_solid_create_from_exterior_shell
    - sfcgal_polygon_create_from_exterior_ring
    - sfcgal_geometry_collection_create
    - sfcgal_multi_point_create
    - sfcgal_linestring_create
    - LWGEOM2SFCGAL
    - sfcgal_polygon_add_interior_ring
    - FLAGS_GET_SOLID
    - sfcgal_multi_polygon_create
    - sfcgal_point_create
    - sfcgal_triangle_create
    - lwerror
    - sfcgal_multi_linestring_create
    - sfcgal_triangulated_surface_create
    - lwtype_name
    - sfcgal_polygon_create
    - ptarray_to_SFCGAL
    - lwgeom_is_empty
    - sfcgal_polyhedral_surface_create
    - sfcgal_triangulated_surface_add_triangle
    - sfcgal_polyhedral_surface_add_polygon
    linkageType: ''
    returnType: sfcgal_geometry_t
    signature: 'sfcgal_geometry_t *

      LWGEOM2SFCGAL(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:613,1
    - Dst: LWGEOM2SFCGAL
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:615,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:616,1
    - Dst: SFCGAL2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:618,1
    - Dst: sfcgal_geometry_delete
      Src: /src/postgis/liblwgeom/lwgeom_sfcgal.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - geom_in
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom_in)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    - condition: (converted)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: lwgeom_sfcgal_noop
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_sfcgal.c
    functionUses: 1
    functionsReached:
    - sfcgal_geometry_delete
    - assert
    - SFCGAL2LWGEOM
    - LWGEOM2SFCGAL
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_sfcgal_noop(const LWGEOM *geom_in)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:52,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwpoly.c:54,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwpoly.c:55,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwpoly.c:58,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwpoly.c:61,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:62,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:66,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwpoly.c:68,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwpoly.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - srid
    - bbox
    - nrings
    - points
    argTypes:
    - int32_t
    - GBOX*
    - uint32_t
    - POINTARRAY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: lwpoly_construct
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 3
    functionsReached:
    - FLAGS_GET_ZM
    - lwerror
    - FLAGS_SET_BBOX
    - FLAGS_GET_M
    - lwflags
    - lwalloc
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_construct(int32_t srid, GBOX *bbox, uint32_t nrings, POINTARRAY **points)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:83,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:84,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:86,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:87,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:88,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:89,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:90,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwpoly.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - hasz
    - hasm
    - p1
    - p2
    - p3
    - p4
    argTypes:
    - char
    - char
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: lwpoly_construct_rectangle
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwpoly_construct_empty
    - ptarray_append_point
    - lwpoly_add_ring
    linkageType: ''
    returnType: LWPOLY
    signature: "LWPOLY *\nlwpoly_construct_rectangle(char hasz, char hasm, POINT4D
      *p1, POINT4D *p2,\n\t\tPOINT4D *p3, POINT4D *p4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/liblwgeom/lwpoly.c:112,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwpoly.c:113,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwpoly.c:113,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwpoly.c:114,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwpoly.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 5
    argNames:
    - srid
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - int32_t
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: lwpoly_construct_envelope
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwgeom_set_srid
    - lwpoly_as_lwgeom
    - lwgeom_add_bbox
    - lwpoly_construct_rectangle
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_construct_envelope(int32_t srid, double x1, double y1, double x2, double
      y2)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:131,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:137,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:143,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:144,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwpoly.c:147,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwpoly.c:147,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwpoly.c:147,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwpoly.c:151,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwpoly.c:152,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwpoly.c:153,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwpoly.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 6
    argNames:
    - srid
    - x
    - y
    - radius
    - segments_per_quarter
    - exterior
    argTypes:
    - int32_t
    - double
    - double
    - double
    - uint32_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 158
    functionName: lwpoly_construct_circle
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - tan
    - lwpoly_add_ring
    - lwerror
    - sin
    - ptarray_append_point
    - lwpoly_construct_empty
    - pow
    - cos
    - sqrt
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_construct_circle(int32_t srid, double x, double y, double radius, uint32_t
      segments_per_quarter, char exterior)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:163,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwpoly.c:165,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: lwpoly_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 6
    functionsReached:
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoly.c:181,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwpoly.c:186,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoly.c:187,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoly.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: lwpoly_free
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 2
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void lwpoly_free(LWPOLY* poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:196,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:197,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwpoly.c:197,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:198,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:199,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:202,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwpoly.c:203,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwpoly.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: printLWPOLY
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWPOLY(LWPOLY *poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:216,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwpoly.c:217,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:218,1
    - Dst: ptarray_clone
      Src: /src/postgis/liblwgeom/lwpoly.c:220,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwpoly.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: lwpoly_clone
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_clone
    - lwalloc
    - memcpy
    - gbox_copy
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_clone(const LWPOLY *g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:231,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwpoly.c:232,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwpoly.c:233,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:234,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwpoly.c:237,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/lwpoly.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: lwpoly_clone_deep
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - gbox_copy
    - ptarray_clone_deep
    - memcpy
    - lwalloc
    - FLAGS_SET_READONLY
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_clone_deep(const LWPOLY *g)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwpoly.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - poly
    - pa
    argTypes:
    - LWPOLY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: lwpoly_add_ring
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 4
    functionsReached:
    - lwrealloc
    linkageType: ''
    returnType: int
    signature: int lwpoly_add_ring(LWPOLY *poly, POINTARRAY *pa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:273,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwpoly.c:277,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/lwpoly.c:278,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwpoly.c:282,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/lwpoly.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 285
    functionName: lwpoly_force_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_isccw
    - lwpoly_is_empty
    - ptarray_reverse_in_place
    linkageType: ''
    returnType: void
    signature: void lwpoly_force_clockwise(LWPOLY *poly)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:292,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwpoly.c:295,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwpoly.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: lwpoly_is_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_isccw
    - lwpoly_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoly_is_clockwise(LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwpoly.c:308,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwpoly.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwpoly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: lwpoly_release
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwpoly_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwpoly_release(LWPOLY *lwpoly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:317,1
    - Dst: ptarray_segmentize2d
      Src: /src/postgis/liblwgeom/lwpoly.c:320,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwpoly.c:325,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwpoly.c:326,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwpoly.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - poly
    - dist
    argTypes:
    - LWPOLY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 332
    functionName: lwpoly_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - ptarray_free
    - ptarray_segmentize2d
    - lwfree
    - lwalloc
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_segmentize2d(const LWPOLY *poly, double dist)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwpoly.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - LWPOLY*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: lwpoly_same
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_same
    linkageType: ''
    returnType: char
    signature: char lwpoly_same(const LWPOLY *p1, const LWPOLY *p2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:364,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:369,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwpoly.c:370,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:371,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwpoly.c:372,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:379,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:382,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwpoly.c:383,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:384,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwpoly.c:386,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwpoly.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - shell
    - nholes
    - holes
    argTypes:
    - LWLINE*
    - uint32_t
    - LWLINE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 391
    functionName: lwpoly_from_lwlines
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - ptarray_is_closed_2d
    - lwerror
    - ptarray_clone_deep
    - lwalloc
    linkageType: ''
    returnType: LWPOLY
    signature: "LWPOLY *\nlwpoly_from_lwlines(const LWLINE *shell,\n                    uint32_t
      nholes, const LWLINE **holes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:399,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:401,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwpoly.c:407,1
    - Dst: ptarray_force_dims
      Src: /src/postgis/liblwgeom/lwpoly.c:410,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwpoly.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - poly
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - LWPOLY*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: lwpoly_force_dims
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - ptarray_force_dims
    - lwpoly_is_empty
    - lwpoly_construct_empty
    - lwalloc
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwpoly_force_dims(const LWPOLY *poly, int hasz, int hasm, double zval, double
      mval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwpoly.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/postgis/liblwgeom/lwpoly.c
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: lwpoly_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwpoly_count_vertices(const LWPOLY *poly)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwpoly.c:440,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwpoly.c:451,1
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/lwpoly.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 459
    functionName: lwpoly_area
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - lwerror
    - fabs
    - ptarray_signed_area
    linkageType: ''
    returnType: double
    signature: double lwpoly_area(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwpoly.c:472,1
    - Dst: ptarray_length
      Src: /src/postgis/liblwgeom/lwpoly.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: lwpoly_perimeter
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - ptarray_length
    linkageType: ''
    returnType: double
    signature: double lwpoly_perimeter(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwpoly.c:490,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwpoly.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: lwpoly_perimeter_2d
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - ptarray_length_2d
    linkageType: ''
    returnType: double
    signature: double lwpoly_perimeter_2d(const LWPOLY *poly)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwpoly.c:508,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/liblwgeom/lwpoly.c:510,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwpoly.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 521
    functionName: lwpoly_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_is_closed_2d
    - ptarray_is_closed_3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int lwpoly_is_closed(const LWPOLY *poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_startpoint
      Src: /src/postgis/liblwgeom/lwpoly.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - poly
    - pt
    argTypes:
    - LWPOLY*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 529
    functionName: lwpoly_startpoint
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_startpoint
    linkageType: ''
    returnType: int
    signature: int lwpoly_startpoint(const LWPOLY* poly, POINT4D* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwpoly.c:537,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/lwpoly.c:540,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/lwpoly.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - poly
    - pt
    argTypes:
    - LWPOLY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 558
    functionName: lwpoly_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwpoly.c
    functionUses: 0
    functionsReached:
    - ptarray_contains_point
    - lwpoly_is_empty
    linkageType: ''
    returnType: int
    signature: int lwpoly_contains_point(const LWPOLY *poly, const POINT2D *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: rect_node_is_leaf
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rect_node_is_leaf(const RECT_NODE *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gbox_get_sortable_hash
      Src: /src/postgis/liblwgeom/lwtree.c:59,1
    - Dst: gbox_get_sortable_hash
      Src: /src/postgis/liblwgeom/lwtree.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - pn1
    - pn2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: rect_node_cmp
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - gbox_get_sortable_hash
    linkageType: ''
    returnType: int
    signature: int rect_node_cmp(const void *pn1, const void *pn2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:73,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/lwtree.c:77,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: rect_tree_free
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_node_is_leaf
    - rect_tree_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void rect_tree_free(RECT_NODE *node)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/lwtree.c:89,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:94,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:99,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/lwtree.c:100,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:104,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:105,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/lwtree.c:106,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:110,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:111,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:112,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/lwtree.c:113,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:117,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:126,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:127,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:132,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/lwtree.c:133,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:137,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:138,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/lwtree.c:139,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:142,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:143,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:144,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/lwtree.c:145,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:149,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:157,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:158,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:159,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:164,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/lwtree.c:165,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:169,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:170,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/lwtree.c:171,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:175,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:176,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:177,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/lwtree.c:178,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE_LEAF*
    - RECT_NODE_LEAF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 192
    functionName: rect_leaf_node_intersects
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - lwerror
    - lw_segment_intersects
    - lw_dist2d_pt_seg
    - lw_dist2d_pt_pt
    - lw_dist2d_seg_arc
    - lw_dist2d_distpts_init
    - lw_dist2d_arc_arc
    - lw_dist2d_pt_arc
    linkageType: ''
    returnType: int
    signature: int rect_leaf_node_intersects(RECT_NODE_LEAF *n1, RECT_NODE_LEAF *n2)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:207,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:208,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwtree.c:210,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/lwtree.c:213,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:243,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:244,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:245,1
    - Dst: lw_arc_side
      Src: /src/postgis/liblwgeom/lwtree.c:248,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwtree.c:255,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:296,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 3
    argNames:
    - node
    - q
    - on_boundary
    argTypes:
    - RECT_NODE_LEAF*
    - POINT2D*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 302
    functionName: rect_leaf_node_segment_side
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - getPoint2d_cp
    - lwerror
    - lw_pt_in_seg
    - lw_arc_side
    linkageType: ''
    returnType: int
    signature: int rect_leaf_node_segment_side(RECT_NODE_LEAF *node, const POINT2D
      *q, int *on_boundary)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:320,1
    - Dst: rect_leaf_node_segment_side
      Src: /src/postgis/liblwgeom/lwtree.c:322,1
    - Dst: rect_tree_ring_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - node
    - pt
    - on_boundary
    argTypes:
    - RECT_NODE*
    - POINT2D*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: rect_tree_ring_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_leaf_node_segment_side
    - rect_node_is_leaf
    - rect_tree_ring_contains_point
    linkageType: ''
    returnType: int
    signature: int rect_tree_ring_contains_point(RECT_NODE *node, const POINT2D *pt,
      int *on_boundary)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:347,1
    - Dst: rect_tree_area_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:355,1
    - Dst: rect_tree_ring_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - node
    - pt
    argTypes:
    - RECT_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 378
    functionName: rect_tree_area_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_node_is_leaf
    - rect_tree_ring_contains_point
    - rect_tree_area_contains_point
    linkageType: ''
    returnType: int
    signature: int rect_tree_area_contains_point(RECT_NODE *node, const POINT2D *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - node
    - pt
    argTypes:
    - RECT_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: rect_node_bounds_point
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rect_node_bounds_point(RECT_NODE *node, const POINT2D *pt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_bounds_point
      Src: /src/postgis/liblwgeom/lwtree.c:403,1
    - Dst: rect_tree_area_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:410,1
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - node
    - pt
    argTypes:
    - RECT_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 397
    functionDepth: 6
    functionLinenumber: 397
    functionLinenumberEnd: 427
    functionName: rect_tree_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_tree_area_contains_point
    - rect_tree_contains_point
    - rect_node_bounds_point
    linkageType: ''
    returnType: int
    signature: int rect_tree_contains_point(RECT_NODE *node, const POINT2D *pt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:447,1
    - Dst: rect_tree_is_area
      Src: /src/postgis/liblwgeom/lwtree.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: rect_tree_is_area
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_tree_is_area
    - rect_node_is_leaf
    linkageType: ''
    returnType: int
    signature: int rect_tree_is_area(const RECT_NODE *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:501,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:509,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:510,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:514,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:515,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:516,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:517,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:523,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:524,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:525,1
    - Dst: lw_arc_calculate_gbox_cartesian_2d
      Src: /src/postgis/liblwgeom/lwtree.c:530,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:536,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - pa
    - seg_num
    - geom_type
    argTypes:
    - POINTARRAY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 552
    functionName: rect_node_leaf_new
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - getPoint2d_cp
    - lwerror
    - lw_arc_calculate_gbox_cartesian_2d
    - FP_MAX
    - lwalloc
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_node_leaf_new(const POINTARRAY *pa, int seg_num, int geom_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:558,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:559,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:560,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:561,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:562,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - node
    - add
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: rect_node_internal_add_node
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwerror
    - FP_MIN
    - rect_node_is_leaf
    - FP_MAX
    linkageType: ''
    returnType: void
    signature: void rect_node_internal_add_node(RECT_NODE *node, RECT_NODE *add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - seed
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 583
    functionName: rect_node_internal_new
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_node_internal_new(const RECT_NODE *seed)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_internal_new
      Src: /src/postgis/liblwgeom/lwtree.c:610,1
    - Dst: rect_node_internal_add_node
      Src: /src/postgis/liblwgeom/lwtree.c:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - nodes
    - num_nodes
    argTypes:
    - RECT_NODE**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 626
    functionName: rect_nodes_merge
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_node_internal_new
    - rect_node_internal_add_node
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_nodes_merge(RECT_NODE ** nodes, uint32_t num_nodes)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_leaf_new
      Src: /src/postgis/liblwgeom/lwtree.c:647,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:656,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:660,1
    - Dst: rect_node_leaf_new
      Src: /src/postgis/liblwgeom/lwtree.c:663,1
    - Dst: rect_nodes_merge
      Src: /src/postgis/liblwgeom/lwtree.c:669,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pa
    - geom_type
    argTypes:
    - POINTARRAY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 676
    functionName: rect_tree_from_ptarray
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwerror
    - rect_node_leaf_new
    - rect_nodes_merge
    - lwfree
    - lwalloc
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_ptarray(const POINTARRAY *pa, int geom_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/liblwgeom/lwtree.c:681,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:682,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwtree.c:689,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:690,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:693,1
    - Dst: rect_tree_to_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 697
    functionName: rect_tree_to_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_node_is_leaf
    - rect_tree_to_lwgeom
    - lwcollection_construct_empty
    - lwpoly_construct_envelope
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      rect_tree_to_lwgeom(const RECT_NODE *node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_to_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:702,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/lwtree.c:703,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwtree.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 10
    functionLinenumber: 699
    functionLinenumberEnd: 706
    functionName: rect_tree_to_wkt
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - rect_tree_to_lwgeom
    linkageType: ''
    returnType: char
    signature: 'char *

      rect_tree_to_wkt(const RECT_NODE *node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:711,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:712,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:713,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:714,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:717,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwtree.c:718,1
    - Dst: rect_tree_printf
      Src: /src/postgis/liblwgeom/lwtree.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - depth
    argTypes:
    - RECT_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 728
    functionName: rect_tree_printf
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_tree_printf
    - printf
    linkageType: ''
    returnType: void
    signature: void rect_tree_printf(const RECT_NODE *node, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_from_ptarray
      Src: /src/postgis/liblwgeom/lwtree.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 5
    functionLinenumber: 730
    functionLinenumberEnd: 735
    functionName: rect_tree_from_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_from_ptarray
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwpoint(const LWGEOM *lwgeom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_from_ptarray
      Src: /src/postgis/liblwgeom/lwtree.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: rect_tree_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_from_ptarray
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwline(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:755,1
    - Dst: rect_tree_from_ptarray
      Src: /src/postgis/liblwgeom/lwtree.c:758,1
    - Dst: rect_nodes_merge
      Src: /src/postgis/liblwgeom/lwtree.c:765,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 744
    functionDepth: 5
    functionLinenumber: 744
    functionLinenumberEnd: 769
    functionName: rect_tree_from_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwfree
    - rect_tree_from_ptarray
    - rect_nodes_merge
    - lwalloc
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwpoly(const LWGEOM *lwgeom)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:782,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:785,1
    - Dst: rect_node_internal_new
      Src: /src/postgis/liblwgeom/lwtree.c:796,1
    - Dst: rect_node_internal_add_node
      Src: /src/postgis/liblwgeom/lwtree.c:797,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwtree.c:807,1
    - Dst: rect_nodes_merge
      Src: /src/postgis/liblwgeom/lwtree.c:809,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 815
    functionName: rect_tree_from_lwcurvepoly
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_from_lwgeom
    - rect_node_internal_new
    - qsort
    - rect_node_internal_add_node
    - rect_nodes_merge
    - lwalloc
    - lwfree
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwcurvepoly(const LWGEOM *lwgeom)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:831,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/lwtree.c:834,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwtree.c:851,1
    - Dst: rect_nodes_merge
      Src: /src/postgis/liblwgeom/lwtree.c:853,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 858
    functionName: rect_tree_from_lwcollection
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_from_lwgeom
    - qsort
    - rect_nodes_merge
    - lwfree
    - lwalloc
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwcollection(const LWGEOM *lwgeom)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_from_lwpoint
      Src: /src/postgis/liblwgeom/lwtree.c:866,1
    - Dst: rect_tree_from_lwline
      Src: /src/postgis/liblwgeom/lwtree.c:870,1
    - Dst: rect_tree_from_lwpoly
      Src: /src/postgis/liblwgeom/lwtree.c:872,1
    - Dst: rect_tree_from_lwcurvepoly
      Src: /src/postgis/liblwgeom/lwtree.c:874,1
    - Dst: rect_tree_from_lwcollection
      Src: /src/postgis/liblwgeom/lwtree.c:884,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:886,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwtree.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 860
    functionDepth: 6
    functionLinenumber: 860
    functionLinenumberEnd: 890
    functionName: rect_tree_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 2
    functionsReached:
    - lwerror
    - rect_tree_from_lwpoint
    - rect_tree_from_lwline
    - lwtype_name
    - rect_tree_from_lwcurvepoly
    - rect_tree_from_lwpoly
    - rect_tree_from_lwcollection
    linkageType: ''
    returnType: RECT_NODE
    signature: 'RECT_NODE *

      rect_tree_from_lwgeom(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:900,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:901,1
    - Dst: rect_tree_get_point
      Src: /src/postgis/liblwgeom/lwtree.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 904
    functionName: rect_tree_get_point
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_node_is_leaf
    - getPoint2d_cp
    - rect_tree_get_point
    linkageType: ''
    returnType: POINT2D
    signature: 'POINT2D *

      rect_tree_get_point(const RECT_NODE *node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: rect_node_intersects
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rect_node_intersects(const RECT_NODE *n1, const RECT_NODE *n2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtree.c:924,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwtree.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: rect_node_to_str
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rect_node_to_str(const RECT_NODE *n)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_to_str
      Src: /src/postgis/liblwgeom/lwtree.c:940,1
    - Dst: rect_node_to_str
      Src: /src/postgis/liblwgeom/lwtree.c:941,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwtree.c:942,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:943,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtree.c:944,1
    - Dst: rect_node_intersects
      Src: /src/postgis/liblwgeom/lwtree.c:947,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwtree.c:949,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:951,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:951,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwtree.c:953,1
    - Dst: rect_leaf_node_intersects
      Src: /src/postgis/liblwgeom/lwtree.c:955,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:957,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:957,1
    - Dst: rect_tree_intersects_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:961,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:965,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:965,1
    - Dst: rect_tree_intersects_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:969,1
    - Dst: rect_tree_intersects_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:979,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 986
    functionName: rect_tree_intersects_tree_recursive
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - rect_node_intersects
    - rect_node_is_leaf
    - LWDEBUG
    - rect_tree_intersects_tree_recursive
    - lwfree
    - rect_leaf_node_intersects
    - rect_node_to_str
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int rect_tree_intersects_tree_recursive(RECT_NODE *n1, RECT_NODE *n2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_is_area
      Src: /src/postgis/liblwgeom/lwtree.c:998,1
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:999,1
    - Dst: rect_tree_get_point
      Src: /src/postgis/liblwgeom/lwtree.c:999,1
    - Dst: rect_tree_is_area
      Src: /src/postgis/liblwgeom/lwtree.c:1004,1
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:1005,1
    - Dst: rect_tree_get_point
      Src: /src/postgis/liblwgeom/lwtree.c:1005,1
    - Dst: rect_tree_intersects_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:1014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 989
    functionDepth: 7
    functionLinenumber: 989
    functionLinenumberEnd: 1015
    functionName: rect_tree_intersects_tree
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_is_area
    - rect_tree_contains_point
    - rect_tree_get_point
    - rect_tree_intersects_tree_recursive
    linkageType: ''
    returnType: int
    signature: int rect_tree_intersects_tree(RECT_NODE *n1, RECT_NODE *n2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: distance_sq
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double distance_sq(double x1, double y1, double x2, double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwtree.c:1034,1
    - Dst: distance_sq
      Src: /src/postgis/liblwgeom/lwtree.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1035
    functionName: distance
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - distance_sq
    - sqrt
    linkageType: ''
    returnType: double
    signature: double distance(double x1, double y1, double x2, double y2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/postgis/liblwgeom/lwtree.c:1052,1
    - Dst: distance
      Src: /src/postgis/liblwgeom/lwtree.c:1054,1
    - Dst: distance
      Src: /src/postgis/liblwgeom/lwtree.c:1056,1
    - Dst: distance
      Src: /src/postgis/liblwgeom/lwtree.c:1058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1071
    functionName: rect_node_min_distance
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - distance
    linkageType: ''
    returnType: double
    signature: double rect_node_min_distance(const RECT_NODE *n1, const RECT_NODE
      *n2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:1080,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:1081,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:1082,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwtree.c:1083,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwtree.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1088
    functionName: rect_node_max_distance
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - sqrt
    linkageType: ''
    returnType: double
    signature: double rect_node_max_distance(const RECT_NODE *n1, const RECT_NODE
      *n2)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/lwtree.c:1107,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1113,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1118,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/lwtree.c:1119,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1123,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1124,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/lwtree.c:1125,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1129,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1130,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1131,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/lwtree.c:1132,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:1136,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1143,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1144,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1149,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/lwtree.c:1150,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1154,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1155,1
    - Dst: lw_dist2d_seg_seg
      Src: /src/postgis/liblwgeom/lwtree.c:1156,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1167,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1168,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1169,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/lwtree.c:1170,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:1174,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1180,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1181,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1182,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1187,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/lwtree.c:1188,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1192,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1193,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/lwtree.c:1194,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1198,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1199,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwtree.c:1200,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/lwtree.c:1201,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:1205,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtree.c:1210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 3
    argNames:
    - n1
    - n2
    - state
    argTypes:
    - RECT_NODE_LEAF*
    - RECT_NODE_LEAF*
    - RECT_TREE_DISTANCE_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1222
    functionName: rect_leaf_node_distance
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - lwerror
    - lw_dist2d_pt_seg
    - lw_dist2d_pt_pt
    - lw_dist2d_seg_arc
    - lw_dist2d_distpts_init
    - lw_dist2d_seg_seg
    - lw_dist2d_arc_arc
    - lw_dist2d_pt_arc
    linkageType: ''
    returnType: double
    signature: double rect_leaf_node_distance(const RECT_NODE_LEAF *n1, const RECT_NODE_LEAF
      *n2, RECT_TREE_DISTANCE_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1233
    functionName: rect_tree_node_sort_cmp
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rect_tree_node_sort_cmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - pt
    argTypes:
    - RECT_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: rect_node_to_p2d
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rect_node_to_p2d(const RECT_NODE *n, POINT2D *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1253,1
    - Dst: rect_node_to_p2d
      Src: /src/postgis/liblwgeom/lwtree.c:1255,1
    - Dst: rect_node_to_p2d
      Src: /src/postgis/liblwgeom/lwtree.c:1260,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/lwtree.c:1261,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwtree.c:1265,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1270,1
    - Dst: rect_node_to_p2d
      Src: /src/postgis/liblwgeom/lwtree.c:1272,1
    - Dst: rect_node_to_p2d
      Src: /src/postgis/liblwgeom/lwtree.c:1277,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/lwtree.c:1278,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwtree.c:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1287
    functionName: rect_tree_node_sort
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_node_to_p2d
    - distance2d_sqr_pt_pt
    - rect_node_is_leaf
    - qsort
    linkageType: ''
    returnType: void
    signature: void rect_tree_node_sort(RECT_NODE *n1, RECT_NODE *n2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rect_node_min_distance
      Src: /src/postgis/liblwgeom/lwtree.c:1299,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwtree.c:1303,1
    - Dst: rect_node_max_distance
      Src: /src/postgis/liblwgeom/lwtree.c:1308,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1313,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1313,1
    - Dst: rect_leaf_node_distance
      Src: /src/postgis/liblwgeom/lwtree.c:1315,1
    - Dst: rect_tree_node_sort
      Src: /src/postgis/liblwgeom/lwtree.c:1322,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1323,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1323,1
    - Dst: rect_tree_distance_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:1327,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:1328,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1331,1
    - Dst: rect_node_is_leaf
      Src: /src/postgis/liblwgeom/lwtree.c:1331,1
    - Dst: rect_tree_distance_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:1335,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:1336,1
    - Dst: rect_tree_distance_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:1345,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwtree.c:1346,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - n1
    - n2
    - state
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    - RECT_TREE_DISTANCE_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1289
    functionDepth: 3
    functionLinenumber: 1289
    functionLinenumberEnd: 1352
    functionName: rect_tree_distance_tree_recursive
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 1
    functionsReached:
    - FP_MIN
    - rect_node_is_leaf
    - rect_tree_node_sort
    - rect_node_max_distance
    - rect_leaf_node_distance
    - rect_node_min_distance
    - LWDEBUGF
    - rect_tree_distance_tree_recursive
    linkageType: ''
    returnType: double
    signature: double rect_tree_distance_tree_recursive(RECT_NODE *n1, RECT_NODE *n2,
      RECT_TREE_DISTANCE_STATE *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_is_area
      Src: /src/postgis/liblwgeom/lwtree.c:1365,1
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:1366,1
    - Dst: rect_tree_get_point
      Src: /src/postgis/liblwgeom/lwtree.c:1366,1
    - Dst: rect_tree_is_area
      Src: /src/postgis/liblwgeom/lwtree.c:1371,1
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/lwtree.c:1372,1
    - Dst: rect_tree_get_point
      Src: /src/postgis/liblwgeom/lwtree.c:1372,1
    - Dst: rect_tree_distance_tree_recursive
      Src: /src/postgis/liblwgeom/lwtree.c:1380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - n1
    - n2
    - threshold
    argTypes:
    - RECT_NODE*
    - RECT_NODE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1354
    functionDepth: 7
    functionLinenumber: 1354
    functionLinenumberEnd: 1384
    functionName: rect_tree_distance_tree
    functionSourceFile: /src/postgis/liblwgeom/lwtree.c
    functionUses: 0
    functionsReached:
    - rect_tree_is_area
    - rect_tree_contains_point
    - rect_tree_distance_tree_recursive
    - rect_tree_get_point
    linkageType: ''
    returnType: double
    signature: double rect_tree_distance_tree(RECT_NODE *n1, RECT_NODE *n2, double
      threshold)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: G1FLAGS_GET_Z
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_Z(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: G1FLAGS_GET_M
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_M(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: G1FLAGS_GET_BBOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_BBOX(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: G1FLAGS_GET_GEODETIC
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_GEODETIC(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: G1FLAGS_GET_SOLID
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_SOLID(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: G1FLAGS_SET_Z
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_SET_Z(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: G1FLAGS_SET_M
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_SET_M(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: G1FLAGS_SET_BBOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_SET_BBOX(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: G1FLAGS_SET_GEODETIC
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_SET_GEODETIC(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: G1FLAGS_SET_SOLID
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_SET_SOLID(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: G1FLAGS_NDIMS
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_NDIMS(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: G1FLAGS_GET_ZM
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_GET_ZM(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: G1FLAGS_NDIMS_BOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G1FLAGS_NDIMS_BOX(gflags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/stringbuffer.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - size_to_add
    argTypes:
    - stringbuffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: stringbuffer_makeroom
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.h
    functionUses: 2
    functionsReached:
    - lwrealloc
    linkageType: ''
    returnType: void
    signature: void stringbuffer_makeroom(stringbuffer_t *s, size_t size_to_add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_makeroom
      Src: /src/postgis/liblwgeom/stringbuffer.h:96,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/stringbuffer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - a
    - alen
    argTypes:
    - stringbuffer_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: stringbuffer_append_len
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.h
    functionUses: 21
    functionsReached:
    - stringbuffer_makeroom
    - memcpy
    linkageType: ''
    returnType: void
    signature: void stringbuffer_append_len(stringbuffer_t *s, const char *a, size_t
      alen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/stringbuffer.h:107,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/stringbuffer.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - stringbuffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: stringbuffer_append
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.h
    functionUses: 1
    functionsReached:
    - strlen
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void stringbuffer_append(stringbuffer_t *s, const char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_makeroom
      Src: /src/postgis/liblwgeom/stringbuffer.h:114,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/stringbuffer.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - d
    - precision
    argTypes:
    - stringbuffer_t*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: stringbuffer_append_double
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.h
    functionUses: 2
    functionsReached:
    - lwprint_double
    - stringbuffer_makeroom
    linkageType: ''
    returnType: void
    signature: void stringbuffer_append_double(stringbuffer_t *s, double d, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_makeroom
      Src: /src/postgis/liblwgeom/stringbuffer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - stringbuffer_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: stringbuffer_append_char
    functionSourceFile: /src/postgis/liblwgeom/stringbuffer.h
    functionUses: 0
    functionsReached:
    - stringbuffer_makeroom
    linkageType: ''
    returnType: void
    signature: void stringbuffer_append_char(stringbuffer_t *s, char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/postgis/liblwgeom/optionlist.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: option_list_string_to_lower
    functionSourceFile: /src/postgis/liblwgeom/optionlist.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: void
    signature: void option_list_string_to_lower(char* key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/optionlist.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - olist
    - key
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: option_list_search
    functionSourceFile: /src/postgis/liblwgeom/optionlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      option_list_search(char** olist, const char* key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - olist
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: option_list_length
    functionSourceFile: /src/postgis/liblwgeom/optionlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t option_list_length(char** olist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtok
      Src: /src/postgis/liblwgeom/optionlist.c:95,1
    - Dst: strtok
      Src: /src/postgis/liblwgeom/optionlist.c:95,1
    - Dst: strchr
      Src: /src/postgis/liblwgeom/optionlist.c:107,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/optionlist.c:109,1
    - Dst: option_list_string_to_lower
      Src: /src/postgis/liblwgeom/optionlist.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - input
    - olist
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: option_list_parse
    functionSourceFile: /src/postgis/liblwgeom/optionlist.c
    functionUses: 0
    functionsReached:
    - lwerror
    - strtok
    - strchr
    - option_list_string_to_lower
    linkageType: ''
    returnType: void
    signature: void option_list_parse(char* input, char** olist)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/optionlist.c:135,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/optionlist.c:136,1
    - Dst: strtok
      Src: /src/postgis/liblwgeom/optionlist.c:149,1
    - Dst: strtok
      Src: /src/postgis/liblwgeom/optionlist.c:149,1
    - Dst: strchr
      Src: /src/postgis/liblwgeom/optionlist.c:160,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/optionlist.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - input
    - olist
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 172
    functionName: option_list_gdal_parse
    functionSourceFile: /src/postgis/liblwgeom/optionlist.c
    functionUses: 0
    functionsReached:
    - lwerror
    - strtok
    - strchr
    - strlen
    linkageType: ''
    returnType: void
    signature: void option_list_gdal_parse(char* input, char** olist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: json_tokener_error_desc
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_tokener_error_desc(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_object
      Src: /src/postgis/liblwgeom/lwin_geojson.c:66,1
    - Dst: json_object_get_object
      Src: /src/postgis/liblwgeom/lwin_geojson.c:68,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:70,1
    - Dst: json_object_get_object
      Src: /src/postgis/liblwgeom/lwin_geojson.c:74,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - poObj
    - pszName
    argTypes:
    - json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 84
    functionName: findMemberByName
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - lwerror
    - json_object_get_object
    - strcasecmp
    linkageType: ''
    returnType: json_object
    signature: 'json_object *

      findMemberByName(json_object *poObj, const char *pszName)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:89,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:92,1
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:96,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geojson
    argTypes:
    - json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: parse_coordinates
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - findMemberByName
    - json_object_get_type
    - lwerror
    linkageType: ''
    returnType: json_object
    signature: 'json_object *

      parse_coordinates(json_object *geojson)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:110,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:113,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:118,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:123,1
    - Dst: json_object_get_double
      Src: /src/postgis/liblwgeom/lwin_geojson.c:124,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:127,1
    - Dst: json_object_get_double
      Src: /src/postgis/liblwgeom/lwin_geojson.c:128,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:133,1
    - Dst: json_object_get_double
      Src: /src/postgis/liblwgeom/lwin_geojson.c:134,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:141,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwin_geojson.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - poObj
    - hasz
    - pa
    argTypes:
    - json_object*
    - int*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 146
    functionName: parse_geojson_coord
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - lwerror
    - ptarray_append_point
    - json_object_get_double
    - json_object_get_type
    - json_object_array_length
    - json_object_array_get_idx
    linkageType: ''
    returnType: int
    signature: int parse_geojson_coord(json_object *poObj, int *hasz, POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:151,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:154,1
    - Dst: parse_geojson_coord
      Src: /src/postgis/liblwgeom/lwin_geojson.c:155,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwin_geojson.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: parse_geojson_point
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - parse_coordinates
    - parse_geojson_coord
    - ptarray_construct_empty
    - lwpoint_construct
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_point(json_object *geojson, int *hasz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:162,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:165,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:166,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:169,1
    - Dst: parse_geojson_coord
      Src: /src/postgis/liblwgeom/lwin_geojson.c:170,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_geojson.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: parse_geojson_linestring
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - parse_coordinates
    - json_object_array_length
    - parse_geojson_coord
    - lwline_construct
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_linestring(json_object *geojson, int *hasz)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:178,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:181,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:185,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwin_geojson.c:188,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:193,1
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:194,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:197,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwin_geojson.c:198,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:199,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:202,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:214,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:218,1
    - Dst: parse_geojson_coord
      Src: /src/postgis/liblwgeom/lwin_geojson.c:219,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:222,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwin_geojson.c:223,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:224,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwin_geojson.c:234,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:235,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwin_geojson.c:238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - rings
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 239
    functionName: parse_geojson_poly_rings
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwpoly_construct
    - ptarray_free
    - lwerror
    - lwpoly_construct_empty
    - json_object_get_type
    - json_object_array_length
    - lwalloc
    - lwfree
    - parse_geojson_coord
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      parse_geojson_poly_rings(json_object *rings, int *hasz)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_geojson_poly_rings
      Src: /src/postgis/liblwgeom/lwin_geojson.c:244,1
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: parse_geojson_polygon
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - parse_geojson_poly_rings
    - parse_coordinates
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_polygon(json_object *geojson, int *hasz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:250,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:253,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:255,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:258,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:259,1
    - Dst: parse_geojson_coord
      Src: /src/postgis/liblwgeom/lwin_geojson.c:260,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwin_geojson.c:261,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwin_geojson.c:261,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:264,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: parse_geojson_multipoint
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwmpoint_free
    - ptarray_free
    - lwcollection_construct_empty
    - lwpoint_construct
    - parse_coordinates
    - lwmpoint_add_lwpoint
    - json_object_array_length
    - parse_geojson_coord
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_multipoint(json_object *geojson, int *hasz)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:276,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:279,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:280,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:283,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:284,1
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:286,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:288,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:291,1
    - Dst: parse_geojson_coord
      Src: /src/postgis/liblwgeom/lwin_geojson.c:292,1
    - Dst: lwmline_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:294,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:295,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwin_geojson.c:299,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_geojson.c:299,1
    - Dst: lwmline_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:303,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 309
    functionName: parse_geojson_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwmline_free
    - lwmline_add_lwline
    - ptarray_free
    - lwcollection_construct_empty
    - parse_coordinates
    - json_object_get_type
    - json_object_array_length
    - parse_geojson_coord
    - lwline_construct
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_multilinestring(json_object *geojson, int *hasz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_coordinates
      Src: /src/postgis/liblwgeom/lwin_geojson.c:314,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:317,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:318,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:322,1
    - Dst: parse_geojson_poly_rings
      Src: /src/postgis/liblwgeom/lwin_geojson.c:323,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/liblwgeom/lwin_geojson.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: parse_geojson_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - parse_geojson_poly_rings
    - lwcollection_construct_empty
    - parse_coordinates
    - json_object_array_length
    - lwmpoly_add_lwpoly
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_multipolygon(json_object *geojson, int *hasz)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:334,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:337,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_geojson.c:340,1
    - Dst: json_object_get_type
      Src: /src/postgis/liblwgeom/lwin_geojson.c:342,1
    - Dst: json_object_array_length
      Src: /src/postgis/liblwgeom/lwin_geojson.c:344,1
    - Dst: json_object_array_get_idx
      Src: /src/postgis/liblwgeom/lwin_geojson.c:347,1
    - Dst: parse_geojson
      Src: /src/postgis/liblwgeom/lwin_geojson.c:348,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_geojson.c:350,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 360
    functionName: parse_geojson_geometrycollection
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - findMemberByName
    - lwgeom_free
    - lwerror
    - lwcollection_construct_empty
    - parse_geojson
    - json_object_get_type
    - json_object_array_length
    - lwcollection_add_lwgeom
    - json_object_array_get_idx
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson_geometrycollection(json_object *geojson, int *hasz)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:370,1
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:374,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:377,1
    - Dst: json_object_get_string
      Src: /src/postgis/liblwgeom/lwin_geojson.c:381,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:383,1
    - Dst: parse_geojson_point
      Src: /src/postgis/liblwgeom/lwin_geojson.c:384,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:386,1
    - Dst: parse_geojson_linestring
      Src: /src/postgis/liblwgeom/lwin_geojson.c:387,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:389,1
    - Dst: parse_geojson_polygon
      Src: /src/postgis/liblwgeom/lwin_geojson.c:390,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:392,1
    - Dst: parse_geojson_multipoint
      Src: /src/postgis/liblwgeom/lwin_geojson.c:393,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:395,1
    - Dst: parse_geojson_multilinestring
      Src: /src/postgis/liblwgeom/lwin_geojson.c:396,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:398,1
    - Dst: parse_geojson_multipolygon
      Src: /src/postgis/liblwgeom/lwin_geojson.c:399,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwin_geojson.c:401,1
    - Dst: parse_geojson_geometrycollection
      Src: /src/postgis/liblwgeom/lwin_geojson.c:402,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - geojson
    - hasz
    argTypes:
    - json_object*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 406
    functionName: parse_geojson
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 1
    functionsReached:
    - findMemberByName
    - parse_geojson_polygon
    - lwerror
    - parse_geojson_multilinestring
    - parse_geojson_linestring
    - json_object_get_string
    - parse_geojson_point
    - strcasecmp
    - parse_geojson_multipoint
    - parse_geojson_geometrycollection
    - parse_geojson_multipolygon
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_geojson(json_object *geojson, int *hasz)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:415,1
    - Dst: json_tokener_new
      Src: /src/postgis/liblwgeom/lwin_geojson.c:420,1
    - Dst: json_tokener_parse_ex
      Src: /src/postgis/liblwgeom/lwin_geojson.c:421,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwin_geojson.c:425,1
    - Dst: json_tokener_error_desc
      Src: /src/postgis/liblwgeom/lwin_geojson.c:425,1
    - Dst: json_tokener_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:426,1
    - Dst: json_object_put
      Src: /src/postgis/liblwgeom/lwin_geojson.c:427,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_geojson.c:428,1
    - Dst: json_tokener_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:431,1
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:434,1
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:437,1
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:440,1
    - Dst: findMemberByName
      Src: /src/postgis/liblwgeom/lwin_geojson.c:443,1
    - Dst: json_object_get_string
      Src: /src/postgis/liblwgeom/lwin_geojson.c:446,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwin_geojson.c:449,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwin_geojson.c:449,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/lwin_geojson.c:450,1
    - Dst: parse_geojson
      Src: /src/postgis/liblwgeom/lwin_geojson.c:458,1
    - Dst: json_object_put
      Src: /src/postgis/liblwgeom/lwin_geojson.c:459,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/liblwgeom/lwin_geojson.c:465,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_geojson.c:466,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwin_geojson.c:469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - geojson
    - srs
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 472
    functionName: lwgeom_from_geojson
    functionSourceFile: /src/postgis/liblwgeom/lwin_geojson.c
    functionUses: 0
    functionsReached:
    - json_tokener_parse_ex
    - findMemberByName
    - strcpy
    - json_tokener_free
    - lwgeom_free
    - snprintf
    - lwerror
    - json_object_put
    - json_object_get_string
    - parse_geojson
    - lwgeom_add_bbox
    - lwgeom_force_2d
    - strlen
    - lwalloc
    - json_tokener_error_desc
    - json_tokener_new
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_from_geojson(const char *geojson, char **srs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwmline.c:34,1
    - Dst: lwmline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmline.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwmline
    argTypes:
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: lwmline_release
    functionSourceFile: /src/postgis/liblwgeom/lwmline.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwmline_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwmline_release(LWMLINE *lwmline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmline.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: lwmline_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwmline.c
    functionUses: 0
    functionsReached:
    - lwcollection_construct_empty
    linkageType: ''
    returnType: LWMLINE
    signature: 'LWMLINE *

      lwmline_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwmline.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mobj
    - obj
    argTypes:
    - LWMLINE*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: lwmline_add_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwmline.c
    functionUses: 1
    functionsReached:
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWMLINE
    signature: LWMLINE * lwmline_add_lwline(LWMLINE *mobj, const LWLINE *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwmline.c:66,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmline.c:70,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwmline.c:79,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwmline.c:83,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmline.c:85,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwmline.c:88,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwmline.c:98,1
    - Dst: lwline_measured_from_lwline
      Src: /src/postgis/liblwgeom/lwmline.c:104,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwmline.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - lwmline
    - m_start
    - m_end
    argTypes:
    - LWMLINE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 110
    functionName: lwmline_measured_from_lwmline
    functionSourceFile: /src/postgis/liblwgeom/lwmline.c
    functionUses: 0
    functionsReached:
    - lwline_measured_from_lwline
    - lwerror
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - lwcollection_construct
    - lwalloc
    - ptarray_length_2d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWMLINE
    signature: 'LWMLINE *

      lwmline_measured_from_lwmline(const LWMLINE *lwmline, double m_start, double
      m_end)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmline.c:118,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwmline.c:124,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmline.c:125,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmline.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - mline
    argTypes:
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: lwmline_free
    functionSourceFile: /src/postgis/liblwgeom/lwmline.c
    functionUses: 1
    functionsReached:
    - lwline_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwmline_free(LWMLINE *mline)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:33,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:39,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwmval.c:40,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwmval.c:43,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwmval.c:67,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:67,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:67,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwmval.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pa
    - min
    - max
    - returnm
    argTypes:
    - POINTARRAY*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 82
    functionName: ptarray_filterm
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - lwerror
    - ptarray_construct
    - FLAGS_GET_M
    - memcpy
    - LWDEBUGF
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_filterm(POINTARRAY *pa,double min, double max,
      int returnm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:85,1
    - Dst: ptarray_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:89,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwmval.c:92,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwmval.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pt
    - min
    - max
    - returnm
    argTypes:
    - LWPOINT*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: lwpoint_filterm
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - ptarray_free
    - LWDEBUGF
    - lwpoint_construct
    - ptarray_filterm
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwpoint_filterm(LWPOINT  *pt,double min,double max, int returnm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:101,1
    - Dst: ptarray_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:104,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwmval.c:108,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwmval.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - line
    - min
    - max
    - returnm
    argTypes:
    - LWLINE*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: lwline_filterm
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - ptarray_free
    - LWDEBUGF
    - lwline_construct
    - ptarray_filterm
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_filterm(LWLINE  *line,double min,double max, int returnm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:117,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:119,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:119,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:119,1
    - Dst: ptarray_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:125,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwmval.c:133,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwmval.c:135,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwmval.c:136,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwmval.c:141,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwmval.c:142,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwmval.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - poly
    - min
    - max
    - returnm
    argTypes:
    - LWPOLY*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: lwpoly_filterm
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - lwpoly_add_ring
    - ptarray_filterm
    - lwpoly_free
    - LWDEBUG
    - lwerror
    - ptarray_free
    - FLAGS_GET_M
    - lwpoly_construct_empty
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_filterm(LWPOLY  *poly,double min,double max, int returnm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:155,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:159,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:159,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:159,1
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/lwmval.c:161,1
    - Dst: lwgeom_filter_m_ignore_null
      Src: /src/postgis/liblwgeom/lwmval.c:166,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwmval.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - igeom
    - min
    - max
    - returnm
    argTypes:
    - LWCOLLECTION*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: lwcollection_filterm
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - lwcollection_is_empty
    - lwcollection_construct_empty
    - lwgeom_filter_m_ignore_null
    - FLAGS_GET_M
    - LWDEBUGF
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_filterm(const LWCOLLECTION *igeom,double
      min,double max, int returnm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:175,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:179,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:185,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmval.c:186,1
    - Dst: lwpoint_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:186,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:191,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmval.c:192,1
    - Dst: lwline_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:192,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:198,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmval.c:199,1
    - Dst: lwpoly_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:199,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:209,1
    - Dst: lwcollection_filterm
      Src: /src/postgis/liblwgeom/lwmval.c:210,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwmval.c:215,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwmval.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - geom
    - min
    - max
    - returnm
    argTypes:
    - LWGEOM*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 219
    functionName: lwgeom_filter_m_ignore_null
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 1
    functionsReached:
    - lwpoly_filterm
    - lwcollection_filterm
    - lwerror
    - lwline_as_lwgeom
    - lwpoly_as_lwgeom
    - lwpoint_filterm
    - FLAGS_GET_M
    - lwpoint_as_lwgeom
    - lwtype_name
    - LWDEBUGF
    - lwline_filterm
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_filter_m_ignore_null(LWGEOM *geom,double min,double
      max, int returnm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwmval.c:223,1
    - Dst: lwgeom_filter_m_ignore_null
      Src: /src/postgis/liblwgeom/lwmval.c:225,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:235,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:235,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:235,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:240,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:240,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:240,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:246,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:246,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:246,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmval.c:256,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwmval.c:256,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwmval.c:256,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwmval.c:261,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwmval.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - geom
    - min
    - max
    - returnm
    argTypes:
    - LWGEOM*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 266
    functionName: lwgeom_filter_m
    functionSourceFile: /src/postgis/liblwgeom/lwmval.c
    functionUses: 0
    functionsReached:
    - lwline_construct_empty
    - lwerror
    - lwcollection_construct_empty
    - lwgeom_filter_m_ignore_null
    - FLAGS_GET_M
    - lwpoly_construct_empty
    - lwpoint_construct_empty
    - lwtype_name
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_filter_m(LWGEOM *geom,double min,double max, int returnm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: LWDEBUG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: LWDEBUGF
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: LWDEBUGG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGG(level, geom, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: LWDEBUGGF
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGGF(level, geom, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: LWDEBUGG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGG(level, geom, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: LWDEBUGGF
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGGF(level, geom, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: LWDEBUG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: LWDEBUGF
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: LWDEBUGG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGG(level, geom, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: LWDEBUGGF
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGGF(level, geom, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: FIRST_BYTE_SET_BBOXES
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_BYTE_SET_BBOXES(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FIRST_BYTE_SET_SIZES
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_BYTE_SET_SIZES(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: FIRST_BYTE_SET_IDLIST
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_BYTE_SET_IDLIST(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: FIRST_BYTE_SET_EXTENDED
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_BYTE_SET_EXTENDED(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: FIRST_BYTE_SET_EMPTY
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIRST_BYTE_SET_EMPTY(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: TYPE_PREC_SET_TYPE
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_PREC_SET_TYPE(flag, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - prec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TYPE_PREC_SET_PREC
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_PREC_SET_PREC(flag, prec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: HIGHER_DIM_SET_HASZ
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIGHER_DIM_SET_HASZ(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - bool
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: HIGHER_DIM_SET_HASM
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIGHER_DIM_SET_HASM(flag, bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - prec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: HIGHER_DIM_SET_PRECZ
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIGHER_DIM_SET_PRECZ(flag, prec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - prec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: HIGHER_DIM_SET_PRECM
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIGHER_DIM_SET_PRECM(flag, prec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwout_svg.c:57,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:63,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_svg.c:65,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_svg.c:66,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:68,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:69,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:71,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:80,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_svg.c:82,1
    - Dst: round
      Src: /src/postgis/liblwgeom/lwout_svg.c:83,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:91,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:92,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - sb
    - pa
    - close_ring
    - precision
    - start_at_index
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 95
    functionName: pointArray_svg_rel
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - stringbuffer_aprintf
    - lwprint_double
    - pow
    - round
    linkageType: ''
    returnType: void
    signature: void pointArray_svg_rel(stringbuffer_t* sb, const POINTARRAY *pa, int
      close_ring, int precision, int start_at_index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:113,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:118,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:121,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:124,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:126,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:127,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - sb
    - pa
    - close_ring
    - precision
    - start_at_index
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 131
    functionName: pointArray_svg_abs
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - stringbuffer_aprintf
    - getPoint2d_cp
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void pointArray_svg_abs(stringbuffer_t* sb, const POINTARRAY *pa, int
      close_ring, int precision, int start_at_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_svg.c:139,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:140,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:141,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:142,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sb
    - point
    - circle
    - precision
    argTypes:
    - stringbuffer_t*
    - LWPOINT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: assvg_point
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - stringbuffer_aprintf
    - lwgeom_is_empty
    - getPoint2d_cp
    linkageType: ''
    returnType: void
    signature: void assvg_point(stringbuffer_t* sb, const LWPOINT *point, int circle,
      int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:155,1
    - Dst: pointArray_svg_rel
      Src: /src/postgis/liblwgeom/lwout_svg.c:157,1
    - Dst: pointArray_svg_abs
      Src: /src/postgis/liblwgeom/lwout_svg.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - sb
    - line
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWLINE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: assvg_line
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - pointArray_svg_rel
    - stringbuffer_append
    - pointArray_svg_abs
    linkageType: ''
    returnType: void
    signature: void assvg_line(stringbuffer_t* sb, const LWLINE *line, int relative,
      int precision)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_svg.c:168,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_svg.c:172,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:183,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:184,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_svg.c:185,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/lwout_svg.c:186,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwout_svg.c:190,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwout_svg.c:196,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwout_svg.c:198,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_svg.c:200,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:216,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:217,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:218,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:223,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:224,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:225,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:227,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:228,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:232,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:233,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:234,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:239,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:242,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:244,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_svg.c:245,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_svg.c:247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 5
    argNames:
    - sb
    - pa
    - close_ring
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 250
    functionName: pointArray_svg_arc
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - getPoint2d_cp
    - LWDEBUG
    - stringbuffer_aprintf
    - lw_arc_center
    - lwprint_double
    - atan2
    - LWDEBUGF
    linkageType: ''
    returnType: void
    signature: void pointArray_svg_arc(stringbuffer_t* sb, const POINTARRAY *pa, int
      close_ring, int relative,  int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:256,1
    - Dst: pointArray_svg_arc
      Src: /src/postgis/liblwgeom/lwout_svg.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sb
    - icurve
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWCIRCSTRING*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: assvg_circstring
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - pointArray_svg_arc
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void assvg_circstring(stringbuffer_t* sb, const LWCIRCSTRING *icurve,
      int relative, int precision)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:268,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:272,1
    - Dst: pointArray_svg_arc
      Src: /src/postgis/liblwgeom/lwout_svg.c:279,1
    - Dst: pointArray_svg_rel
      Src: /src/postgis/liblwgeom/lwout_svg.c:290,1
    - Dst: pointArray_svg_abs
      Src: /src/postgis/liblwgeom/lwout_svg.c:292,1
    - Dst: pointArray_svg_rel
      Src: /src/postgis/liblwgeom/lwout_svg.c:296,1
    - Dst: pointArray_svg_abs
      Src: /src/postgis/liblwgeom/lwout_svg.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - sb
    - icompound
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWCOMPOUND*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 306
    functionName: assvg_compound
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - pointArray_svg_arc
    - stringbuffer_append
    - pointArray_svg_rel
    - pointArray_svg_abs
    linkageType: ''
    returnType: void
    signature: void assvg_compound(stringbuffer_t* sb, const LWCOMPOUND *icompound,
      int relative, int precision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:315,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:316,1
    - Dst: pointArray_svg_rel
      Src: /src/postgis/liblwgeom/lwout_svg.c:320,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:321,1
    - Dst: pointArray_svg_abs
      Src: /src/postgis/liblwgeom/lwout_svg.c:325,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sb
    - poly
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWPOLY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: assvg_polygon
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - pointArray_svg_rel
    - stringbuffer_append
    - pointArray_svg_abs
    linkageType: ''
    returnType: void
    signature: void assvg_polygon(stringbuffer_t* sb, const LWPOLY *poly, int relative,
      int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:339,1
    - Dst: assvg_point
      Src: /src/postgis/liblwgeom/lwout_svg.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sb
    - mpoint
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWMPOINT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: assvg_multipoint
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append
    - assvg_point
    linkageType: ''
    returnType: void
    signature: void assvg_multipoint(stringbuffer_t* sb, const LWMPOINT *mpoint, int
      relative, int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:354,1
    - Dst: assvg_line
      Src: /src/postgis/liblwgeom/lwout_svg.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sb
    - mline
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWMLINE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 6
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: assvg_multiline
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append
    - assvg_line
    linkageType: ''
    returnType: void
    signature: void assvg_multiline(stringbuffer_t* sb, const LWMLINE *mline, int
      relative, int precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:368,1
    - Dst: assvg_polygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sb
    - mpoly
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWMPOLY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 6
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: assvg_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_polygon
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void assvg_multipolygon(stringbuffer_t* sb, const LWMPOLY *mpoly, int
      relative, int precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:384,1
    - Dst: assvg_circstring
      Src: /src/postgis/liblwgeom/lwout_svg.c:391,1
    - Dst: assvg_line
      Src: /src/postgis/liblwgeom/lwout_svg.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - sb
    - mcurve
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWMCURVE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: assvg_multicurve
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_circstring
    - stringbuffer_append
    - assvg_line
    linkageType: ''
    returnType: void
    signature: void assvg_multicurve(stringbuffer_t* sb, const LWMCURVE *mcurve, int
      relative, int precision)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:413,1
    - Dst: assvg_circstring
      Src: /src/postgis/liblwgeom/lwout_svg.c:418,1
    - Dst: assvg_line
      Src: /src/postgis/liblwgeom/lwout_svg.c:422,1
    - Dst: assvg_compound
      Src: /src/postgis/liblwgeom/lwout_svg.c:426,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:434,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - sb
    - curvepoly
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWCURVEPOLY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 405
    functionDepth: 6
    functionLinenumber: 405
    functionLinenumberEnd: 441
    functionName: assvg_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_circstring
    - stringbuffer_append
    - assvg_compound
    - assvg_line
    linkageType: ''
    returnType: void
    signature: void assvg_curvepoly(stringbuffer_t* sb, const LWCURVEPOLY *curvepoly,
      int relative, int precision)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:453,1
    - Dst: assvg_curvepoly
      Src: /src/postgis/liblwgeom/lwout_svg.c:459,1
    - Dst: assvg_polygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - sb
    - msurface
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWMSURFACE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 443
    functionDepth: 7
    functionLinenumber: 443
    functionLinenumberEnd: 469
    functionName: assvg_multisurface
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_polygon
    - stringbuffer_append
    - assvg_curvepoly
    linkageType: ''
    returnType: void
    signature: void assvg_multisurface(stringbuffer_t* sb, const LWMSURFACE *msurface,
      int relative, int precision)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_svg.c:483,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_svg.c:487,1
    - Dst: assvg_geom
      Src: /src/postgis/liblwgeom/lwout_svg.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - sb
    - col
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 493
    functionName: assvg_collection
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_geom
    - lwgeom_is_empty
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void assvg_collection(stringbuffer_t* sb, const LWCOLLECTION *col,
      int relative, int precision)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assvg_point
      Src: /src/postgis/liblwgeom/lwout_svg.c:505,1
    - Dst: assvg_line
      Src: /src/postgis/liblwgeom/lwout_svg.c:509,1
    - Dst: assvg_polygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:513,1
    - Dst: assvg_multipoint
      Src: /src/postgis/liblwgeom/lwout_svg.c:517,1
    - Dst: assvg_multiline
      Src: /src/postgis/liblwgeom/lwout_svg.c:521,1
    - Dst: assvg_multipolygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:525,1
    - Dst: assvg_circstring
      Src: /src/postgis/liblwgeom/lwout_svg.c:529,1
    - Dst: assvg_compound
      Src: /src/postgis/liblwgeom/lwout_svg.c:533,1
    - Dst: assvg_curvepoly
      Src: /src/postgis/liblwgeom/lwout_svg.c:537,1
    - Dst: assvg_multicurve
      Src: /src/postgis/liblwgeom/lwout_svg.c:541,1
    - Dst: assvg_multisurface
      Src: /src/postgis/liblwgeom/lwout_svg.c:545,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_svg.c:549,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_svg.c:550,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - sb
    - geom
    - relative
    - precision
    argTypes:
    - stringbuffer_t*
    - LWGEOM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 497
    functionDepth: 8
    functionLinenumber: 497
    functionLinenumberEnd: 553
    functionName: assvg_geom
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 1
    functionsReached:
    - assvg_multipoint
    - assvg_compound
    - lwerror
    - assvg_multisurface
    - assvg_multiline
    - assvg_curvepoly
    - assvg_point
    - assvg_line
    - assvg_circstring
    - lwtype_name
    - assvg_polygon
    - assvg_multipolygon
    - assvg_multicurve
    linkageType: ''
    returnType: void
    signature: void assvg_geom(stringbuffer_t* sb, const LWGEOM *geom, int relative,
      int precision)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_svg.c:565,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_svg.c:567,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/lwout_svg.c:568,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_svg.c:572,1
    - Dst: assvg_point
      Src: /src/postgis/liblwgeom/lwout_svg.c:577,1
    - Dst: assvg_line
      Src: /src/postgis/liblwgeom/lwout_svg.c:580,1
    - Dst: assvg_polygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:583,1
    - Dst: assvg_circstring
      Src: /src/postgis/liblwgeom/lwout_svg.c:586,1
    - Dst: assvg_compound
      Src: /src/postgis/liblwgeom/lwout_svg.c:589,1
    - Dst: assvg_curvepoly
      Src: /src/postgis/liblwgeom/lwout_svg.c:592,1
    - Dst: assvg_multipoint
      Src: /src/postgis/liblwgeom/lwout_svg.c:595,1
    - Dst: assvg_multiline
      Src: /src/postgis/liblwgeom/lwout_svg.c:598,1
    - Dst: assvg_multicurve
      Src: /src/postgis/liblwgeom/lwout_svg.c:601,1
    - Dst: assvg_multipolygon
      Src: /src/postgis/liblwgeom/lwout_svg.c:604,1
    - Dst: assvg_multisurface
      Src: /src/postgis/liblwgeom/lwout_svg.c:607,1
    - Dst: assvg_collection
      Src: /src/postgis/liblwgeom/lwout_svg.c:610,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_svg.c:614,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_svg.c:614,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_svg.c:617,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - geom
    - precision
    - relative
    argTypes:
    - LWGEOM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 558
    functionDepth: 8
    functionLinenumber: 558
    functionLinenumberEnd: 618
    functionName: lwgeom_to_svg
    functionSourceFile: /src/postgis/liblwgeom/lwout_svg.c
    functionUses: 0
    functionsReached:
    - assvg_compound
    - LWSIZE_SET
    - lwalloc
    - assvg_multipolygon
    - assvg_collection
    - stringbuffer_init_varlena
    - assvg_multicurve
    - assvg_multipoint
    - lwerror
    - assvg_multiline
    - assvg_point
    - assvg_circstring
    - lwtype_name
    - stringbuffer_getvarlena
    - assvg_multisurface
    - lwgeom_is_empty
    - assvg_curvepoly
    - assvg_line
    - assvg_polygon
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_svg(const LWGEOM *geom, int precision, int relative)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/postgis/liblwgeom/lwrandom.c:53,1
    - Dst: getpid
      Src: /src/postgis/liblwgeom/lwrandom.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: lwrandom_set_seed
    functionSourceFile: /src/postgis/liblwgeom/lwrandom.c
    functionUses: 0
    functionsReached:
    - getpid
    - time
    linkageType: ''
    returnType: void
    signature: void lwrandom_set_seed(int32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: _lwrandom_set_seeds
    functionSourceFile: /src/postgis/liblwgeom/lwrandom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _lwrandom_set_seeds(int32_t s1, int32_t s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: _lwrandom_get_seed
    functionSourceFile: /src/postgis/liblwgeom/lwrandom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t _lwrandom_get_seed(size_t idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: lwrandom_uniform
    functionSourceFile: /src/postgis/liblwgeom/lwrandom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double lwrandom_uniform(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:47,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:51,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:52,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:52,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:53,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:54,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: ptarray_strip_nan_coords_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - getPoint_internal
    - isnan
    - FLAGS_NDIMS
    linkageType: ''
    returnType: void
    signature: void ptarray_strip_nan_coords_in_place(POINTARRAY *pa)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:81,1
    - Dst: ptarray_strip_nan_coords_in_place
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:85,1
    - Dst: lwline_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:90,1
    - Dst: lwpoly_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:95,1
    - Dst: lwcollection_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:102,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:111,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 117
    functionName: lwgeom_make_geos_friendly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - lwpoly_make_geos_friendly
    - lwline_make_geos_friendly
    - lwerror
    - lwcollection_make_geos_friendly
    - lwtype_name
    - LWDEBUGF
    - ptarray_strip_nan_coords_in_place
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_make_geos_friendly(LWGEOM* geom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:131,1
    - Dst: ptarray_addPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:134,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:134,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ring
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: ptarray_close2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - ptarray_addPoint
    - getPoint_internal
    - ptarray_is_closed_2d
    - FLAGS_NDIMS
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_close2d(POINTARRAY* ring)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_strip_nan_coords_in_place
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:147,1
    - Dst: ptarray_close2d
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:150,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:158,1
    - Dst: ptarray_addPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:160,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:160,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:160,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ring
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 165
    functionName: ring_make_geos_friendly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - ptarray_free
    - getPoint_internal
    - ptarray_close2d
    - ptarray_addPoint
    - LWDEBUGF
    - FLAGS_NDIMS
    - ptarray_strip_nan_coords_in_place
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ring_make_geos_friendly(POINTARRAY* ring)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:181,1
    - Dst: ring_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:187,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:191,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:193,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:196,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:198,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (ring_out)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    constantsTouched: []
    func_position:
      end: 207
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 207
    functionName: lwpoly_make_geos_friendly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 1
    functionsReached:
    - assert
    - ptarray_free
    - ring_make_geos_friendly
    - lwalloc
    - lwfree
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwpoly_make_geos_friendly(LWPOLY* poly)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_strip_nan_coords_in_place
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:215,1
    - Dst: ptarray_addPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:221,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:222,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:223,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 237
    functionName: lwline_make_geos_friendly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 1
    functionsReached:
    - lwpoint_construct
    - getPoint_internal
    - ptarray_addPoint
    - FLAGS_NDIMS
    - ptarray_strip_nan_coords_in_place
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_make_geos_friendly(LWLINE* line)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:247,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:248,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:252,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:254,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:255,1
    - Dst: lwgeom_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:260,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:265,1
    - Dst: free
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 282
    functionName: lwcollection_make_geos_friendly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 1
    functionsReached:
    - lwcollection_as_lwgeom
    - LWDEBUG
    - lwgeom_make_geos_friendly
    - lwgeom_clone
    - free
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_make_geos_friendly(LWCOLLECTION* g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_make_valid_params
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwgeom_in
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: lwgeom_make_valid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - lwgeom_make_valid_params
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_make_valid(LWGEOM* lwgeom_in)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:300,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:302,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:309,1
    - Dst: lwgeom_make_geos_friendly
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:311,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:312,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:314,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:316,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:318,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:322,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:327,1
    - Dst: GEOSMakeValid
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:331,1
    - Dst: GEOSMakeValid
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:334,1
    - Dst: strncpy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:345,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:347,1
    - Dst: option_list_parse
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:348,1
    - Dst: GEOSMakeValidParams_create
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:349,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:350,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:352,1
    - Dst: GEOSMakeValidParams_setMethod
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:353,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:355,1
    - Dst: GEOSMakeValidParams_setMethod
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:356,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:360,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:361,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:364,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:366,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:367,1
    - Dst: strcasecmp
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:369,1
    - Dst: GEOSMakeValidParams_setKeepCollapsed
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:370,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:374,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:375,1
    - Dst: GEOSMakeValidWithParams
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:378,1
    - Dst: GEOSMakeValidParams_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:379,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:382,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:385,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:386,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:388,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:388,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:390,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:392,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:395,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_clean.c:397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - lwgeom_in
    - make_valid_params
    argTypes:
    - LWGEOM*
    - char*
    assertStmts:
    - condition: (lwgeom_in != lwgeom_out)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    constantsTouched: []
    func_position:
      end: 405
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 405
    functionName: lwgeom_make_valid_params
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_clean.c
    functionUses: 1
    functionsReached:
    - GEOSMakeValid
    - lwgeom_free
    - lwgeom_is_collection
    - assert
    - GEOSMakeValidWithParams
    - lwalloc
    - FLAGS_GET_Z
    - GEOSMakeValidParams_create
    - memset
    - strcasecmp
    - GEOSMakeValidParams_setMethod
    - option_list_parse
    - initGEOS
    - strncpy
    - lwerror
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_make_geos_friendly
    - option_list_search
    - GEOSGeom_destroy
    - LWDEBUGF
    - LWDEBUG
    - GEOSMakeValidParams_setKeepCollapsed
    - lwcollection_construct
    - GEOSMakeValidParams_destroy
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_make_valid_params(LWGEOM* lwgeom_in, char* make_valid_params)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:38,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:41,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - N
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: UF_create
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 2
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: UNIONFIND
    signature: 'UNIONFIND *

      UF_create(uint32_t N)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwunionfind.c:56,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwunionfind.c:57,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwunionfind.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - uf
    argTypes:
    - UNIONFIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: UF_destroy
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 2
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void UF_destroy(UNIONFIND* uf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - uf
    - i
    argTypes:
    - UNIONFIND*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: UF_find
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UF_find (UNIONFIND* uf, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwunionfind.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uf
    - i
    argTypes:
    - UNIONFIND*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: UF_size
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 0
    functionsReached:
    - UF_find
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t UF_size (UNIONFIND* uf, uint32_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwunionfind.c:87,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwunionfind.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - uf
    - i
    - j
    argTypes:
    - UNIONFIND*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 110
    functionName: UF_union
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 3
    functionsReached:
    - UF_find
    linkageType: ''
    returnType: void
    signature: void UF_union(UNIONFIND* uf, uint32_t i, uint32_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:116,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:117,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwunionfind.c:124,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwunionfind.c:131,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwunionfind.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - uf
    argTypes:
    - UNIONFIND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: UF_ordered_by_cluster
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 1
    functionsReached:
    - lwfree
    - qsort
    - lwalloc
    - UF_find
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      UF_ordered_by_cluster(UNIONFIND* uf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UF_ordered_by_cluster
      Src: /src/postgis/liblwgeom/lwunionfind.c:148,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwunionfind.c:149,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/lwunionfind.c:159,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwunionfind.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - uf
    - is_in_cluster
    argTypes:
    - UNIONFIND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 177
    functionName: UF_get_collapsed_cluster_ids
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 0
    functionsReached:
    - lwfree
    - UF_ordered_by_cluster
    - lwalloc
    - UF_find
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      UF_get_collapsed_cluster_ids(UNIONFIND* uf, const char* is_in_cluster)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: cmp_int
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_int(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmp_int
      Src: /src/postgis/liblwgeom/lwunionfind.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: cmp_int_ptr
    functionSourceFile: /src/postgis/liblwgeom/lwunionfind.c
    functionUses: 0
    functionsReached:
    - cmp_int
    linkageType: ''
    returnType: int
    signature: int cmp_int_ptr(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ptarray_has_z
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 6
    functionsReached:
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int ptarray_has_z(const POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ptarray_has_m
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 6
    functionsReached:
    - FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int ptarray_has_m(const POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/ptarray.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hasz
    - hasm
    - npoints
    argTypes:
    - char
    - char
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ptarray_construct
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 10
    functionsReached:
    - ptarray_construct_empty
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_construct(char hasz, char hasm, uint32_t npoints)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:61,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/ptarray.c:65,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:73,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - hasz
    - hasm
    - maxpoints
    argTypes:
    - char
    - char
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ptarray_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 23
    functionsReached:
    - lwflags
    - ptarray_point_size
    - lwalloc
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_construct_empty(char hasz, char hasm, uint32_t maxpoints)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:89,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:90,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:91,1
    - Dst: FLAGS_GET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:93,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:95,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:102,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:111,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:111,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:117,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/ptarray.c:125,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:125,1
    - Dst: memmove
      Src: /src/postgis/liblwgeom/ptarray.c:132,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:132,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:132,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:133,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:140,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - pa
    - p
    - where
    argTypes:
    - POINTARRAY*
    - POINT4D*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 144
    functionName: ptarray_insert_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_point_size
    - FLAGS_GET_READONLY
    - lwerror
    - getPoint_internal
    - ptarray_set_point4d
    - lwrealloc
    - lwalloc
    - memmove
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int ptarray_insert_point(POINTARRAY *pa, const POINT4D *p, uint32_t
      where)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:152,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:160,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:161,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:165,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:166,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/ptarray.c:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pa
    - pt
    - repeated_points
    argTypes:
    - POINTARRAY*
    - POINT4D*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 174
    functionName: ptarray_append_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 17
    functionsReached:
    - lwerror
    - FLAGS_GET_M
    - ptarray_insert_point
    - LWDEBUGF
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int ptarray_append_point(POINTARRAY *pa, const POINT4D *pt, int repeated_points)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:187,1
    - Dst: FLAGS_GET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:195,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:197,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:201,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:201,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:203,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:207,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/ptarray.c:213,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/ptarray.c:214,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:217,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:222,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:224,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/ptarray.c:235,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:238,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:238,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:239,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - pa1
    - pa2
    - gap_tolerance
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 244
    functionName: ptarray_append_ptarray
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_ZM
    - ptarray_point_size
    - FLAGS_GET_READONLY
    - lwerror
    - p2d_same
    - getPoint_internal
    - lwrealloc
    - getPoint2d_p
    - distance2d_pt_pt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ptarray_append_ptarray(POINTARRAY *pa1, POINTARRAY *pa2, double
      gap_tolerance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:256,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:263,1
    - Dst: memmove
      Src: /src/postgis/liblwgeom/ptarray.c:269,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:269,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:270,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - where
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 277
    functionName: ptarray_remove_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint_internal
    - ptarray_point_size
    - memmove
    linkageType: ''
    returnType: int
    signature: int ptarray_remove_point(POINTARRAY *pa, uint32_t where)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:285,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:286,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/ptarray.c:287,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - hasz
    - hasm
    - npoints
    - ptlist
    argTypes:
    - char
    - char
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: ptarray_construct_reference_data
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 7
    functionsReached:
    - lwflags
    - LWDEBUGF
    - lwalloc
    - FLAGS_SET_READONLY
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_construct_reference_data(char hasz, char hasm,
      uint32_t npoints, uint8_t *ptlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:299,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/ptarray.c:301,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:307,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:307,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:308,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - hasz
    - hasm
    - npoints
    - ptlist
    argTypes:
    - char
    - char
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: ptarray_construct_copy_data
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - lwflags
    - ptarray_point_size
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_construct_copy_data(char hasz, char hasm, uint32_t npoints, const uint8_t
      *ptlist)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:323,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/ptarray.c:324,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/ptarray.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: ptarray_free
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 26
    functionsReached:
    - lwfree
    - FLAGS_GET_READONLY
    linkageType: ''
    returnType: void
    signature: void ptarray_free(POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/ptarray.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 353
    functionName: ptarray_reverse_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - FLAGS_NDIMS
    linkageType: ''
    returnType: void
    signature: void ptarray_reverse_in_place(POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:368,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: ptarray_flip_coordinates
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_set_point4d
    - getPoint4d_p
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_flip_coordinates(POINTARRAY *pa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:389,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pa
    - o1
    - o2
    argTypes:
    - POINTARRAY*
    - LWORD
    - LWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 395
    functionName: ptarray_swap_ordinates
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_set_point4d
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void ptarray_swap_ordinates(POINTARRAY *pa, LWORD o1, LWORD o2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:412,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:413,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/ptarray.c:418,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:421,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:422,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:439,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:441,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/ptarray.c:443,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/ptarray.c:448,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/ptarray.c:450,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:463,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - ipa
    - dist
    argTypes:
    - POINTARRAY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 473
    functionName: ptarray_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - ptarray_construct_empty
    - ptarray_free
    - ptarray_append_point
    - FLAGS_GET_M
    - ceil
    - distance2d_pt_pt
    - lwnotice
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_segmentize2d(const POINTARRAY *ipa, double dist)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:481,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:481,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:482,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:485,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:487,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:488,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:492,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:492,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:492,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pa1
    - pa2
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 498
    functionName: ptarray_same
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 3
    functionsReached:
    - FLAGS_GET_ZM
    - ptarray_point_size
    - LWDEBUG
    - getPoint_internal
    - LWDEBUGF
    - memcmp
    linkageType: ''
    returnType: char
    signature: char ptarray_same(const POINTARRAY *pa1, const POINTARRAY *pa2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:505,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:505,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:506,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:509,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:513,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:513,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:513,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pa1
    - pa2
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 519
    functionName: ptarray_same2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - FLAGS_GET_ZM
    - LWDEBUG
    - getPoint_internal
    - LWDEBUGF
    - memcmp
    linkageType: ''
    returnType: char
    signature: char ptarray_same2d(const POINTARRAY *pa1, const POINTARRAY *pa2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:526,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:528,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:533,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:540,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:545,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:548,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:550,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/ptarray.c:552,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:552,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:553,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:558,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:558,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:558,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:561,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:561,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:565,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:565,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pa
    - p
    - pdims
    - where
    argTypes:
    - POINTARRAY*
    - uint8_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 571
    functionName: ptarray_addPoint
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 4
    functionsReached:
    - ptarray_point_size
    - LWDEBUG
    - lwerror
    - ptarray_construct
    - FLAGS_GET_Z
    - FLAGS_GET_M
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_addPoint(const POINTARRAY *pa, uint8_t *p, size_t pdims, uint32_t where)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:577,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:579,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/ptarray.c:581,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/ptarray.c:582,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/ptarray.c:584,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:584,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:585,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:590,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:590,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:590,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:596,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:596,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pa
    - which
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts:
    - condition: (pa->npoints >= 3)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/postgis/liblwgeom/ptarray.c
    - condition: (which <= pa->npoints-1)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/postgis/liblwgeom/ptarray.c
    constantsTouched: []
    func_position:
      end: 601
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 601
    functionName: ptarray_removePoint
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - assert
    - ptarray_point_size
    - ptarray_construct
    - FLAGS_GET_M
    - memcpy
    - getPoint_internal
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_removePoint(POINTARRAY *pa, uint32_t which)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:607,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:609,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/ptarray.c:609,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:610,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/ptarray.c:612,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:612,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:613,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:616,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:616,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:617,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:620,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:620,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:621,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/ptarray.c:624,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/ptarray.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pa1
    - pa2
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 628
    functionName: ptarray_merge
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_ZM
    - ptarray_point_size
    - ptarray_free
    - lwerror
    - ptarray_construct
    - FLAGS_GET_M
    - memcpy
    - getPoint_internal
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_merge(POINTARRAY *pa1, POINTARRAY *pa2)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:637,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:639,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:645,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:654,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:655,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 660
    functionName: ptarray_clone_deep
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 5
    functionsReached:
    - FLAGS_SET_READONLY
    - ptarray_point_size
    - LWDEBUG
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_clone_deep(const POINTARRAY *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:668,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:670,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/ptarray.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 681
    functionName: ptarray_clone
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - lwalloc
    - FLAGS_SET_READONLY
    - LWDEBUG
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_clone(const POINTARRAY *in)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:692,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:697,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:697,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:697,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: ptarray_is_closed
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - lwerror
    - getPoint_internal
    - ptarray_point_size
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ptarray_is_closed(const POINTARRAY *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:706,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:711,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:711,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 712
    functionName: ptarray_is_closed_2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 5
    functionsReached:
    - lwerror
    - getPoint_internal
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ptarray_is_closed_2d(const POINTARRAY *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:719,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:724,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:724,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 725
    functionName: ptarray_is_closed_3d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - lwerror
    - getPoint_internal
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ptarray_is_closed_3d(const POINTARRAY *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:730,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/liblwgeom/ptarray.c:731,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/ptarray.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 734
    functionName: ptarray_is_closed_z
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - ptarray_is_closed_2d
    - ptarray_is_closed_3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int ptarray_is_closed_z(const POINTARRAY *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/ptarray.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pt
    argTypes:
    - POINTARRAY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: ptarray_contains_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point_partial
    linkageType: ''
    returnType: int
    signature: int ptarray_contains_point(const POINTARRAY *pa, const POINT2D *pt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:764,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:765,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:766,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:767,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:771,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/ptarray.c:780,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/ptarray.c:781,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/ptarray.c:790,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/ptarray.c:796,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - pa
    - pt
    - check_closed
    - winding_number
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 836
    functionName: ptarray_contains_point_partial
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - lw_segment_side
    - FP_MIN
    - getPoint2d_cp
    - lwerror
    - p2d_same
    - FP_MAX
    - lw_pt_in_seg
    linkageType: ''
    returnType: int
    signature: int ptarray_contains_point_partial(const POINTARRAY *pa, const POINT2D
      *pt, int check_closed, int *winding_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarrayarc_contains_point_partial
      Src: /src/postgis/liblwgeom/ptarray.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pt
    argTypes:
    - POINTARRAY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: ptarrayarc_contains_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarrayarc_contains_point_partial
    linkageType: ''
    returnType: int
    signature: int ptarrayarc_contains_point(const POINTARRAY *pa, const POINT2D *pt)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:867,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:874,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:879,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:880,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:881,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:883,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:887,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:891,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/ptarray.c:894,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/ptarray.c:898,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:899,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/ptarray.c:900,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:907,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:907,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:913,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:916,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:917,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:920,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/ptarray.c:924,1
    - Dst: lw_arc_calculate_gbox_cartesian_2d
      Src: /src/postgis/liblwgeom/ptarray.c:931,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/ptarray.c:940,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/ptarray.c:940,1
    - Dst: lw_arc_side
      Src: /src/postgis/liblwgeom/ptarray.c:946,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/ptarray.c:949,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/ptarray.c:970,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:971,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 77
    argCount: 4
    argNames:
    - pa
    - pt
    - check_closed
    - winding_number
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 1004
    functionName: ptarrayarc_contains_point_partial
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - FP_MIN
    - getPoint2d_cp
    - lwerror
    - lw_arc_calculate_gbox_cartesian_2d
    - p2d_same
    - lw_arc_center
    - FP_MAX
    - lw_pt_in_arc
    - lw_arc_is_pt
    - distance2d_pt_pt
    - FP_EQUALS
    - lw_arc_side
    linkageType: ''
    returnType: int
    signature: int ptarrayarc_contains_point_partial(const POINTARRAY *pa, const POINT2D
      *pt, int check_closed, int *winding_number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1024,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1025,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1040
    functionName: ptarray_signed_area
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    linkageType: ''
    returnType: double
    signature: double ptarray_signed_area(const POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/ptarray.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1049
    functionName: ptarray_isccw
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - ptarray_signed_area
    linkageType: ''
    returnType: int
    signature: int ptarray_isccw(const POINTARRAY *pa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:1056,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:1057,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/ptarray.c:1059,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1063,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pa
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - POINTARRAY*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1072
    functionName: ptarray_force_dims
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - FLAGS_GET_M
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_force_dims(const POINTARRAY *pa, int hasz, int hasm, double zval, double
      mval)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/ptarray.c:1090,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:1090,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:1090,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/ptarray.c:1093,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1096,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1104,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1108,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1114,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1117,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1122,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1130,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/ptarray.c:1132,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1135,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1140,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/ptarray.c:1145,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1148,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1153,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1171,1
    - Dst: interpolate_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:1179,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1181,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1194,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/ptarray.c:1199,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1202,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1204,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/ptarray.c:1212,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1215,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1217,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1228,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1239,1
    - Dst: interpolate_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:1242,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/ptarray.c:1244,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1251,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1259,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1262,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 4
    argNames:
    - ipa
    - from
    - to
    - tolerance
    argTypes:
    - POINTARRAY*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1265
    functionName: ptarray_substring
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - LWDEBUG
    - fabs
    - ptarray_append_point
    - interpolate_point4d
    - FLAGS_GET_M
    - memcpy
    - ptarray_length_2d
    - distance2d_pt_pt
    - LWDEBUGF
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_substring(POINTARRAY *ipa, double from, double to, double tolerance)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/ptarray.c:1276,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/ptarray.c:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - p
    - A
    - B
    - ret
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1313
    functionName: closest_point_on_segment
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: void
    signature: void closest_point_on_segment(const POINT4D *p, const POINT4D *A, const
      POINT4D *B, POINT4D *ret)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1318,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1326,1
    - Dst: distance2d_sqr_pt_seg
      Src: /src/postgis/liblwgeom/ptarray.c:1327,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1335,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/ptarray.c:1343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pa
    - qp
    - dist
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1345
    functionName: ptarray_closest_segment_2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - distance2d_sqr_pt_seg
    - sqrt
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int ptarray_closest_segment_2d(const POINTARRAY *pa, const POINT2D
      *qp, double *dist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1359,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1360,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1368,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/ptarray.c:1373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pa
    - qp
    - dist
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1375
    functionName: ptarray_closest_vertex_2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - distance2d_sqr_pt_pt
    - getPoint2d_cp
    - sqrt
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int ptarray_closest_vertex_2d(const POINTARRAY *pa, const POINT2D *qp,
      double *dist)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1402,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1404,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1404,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1409,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1414,1
    - Dst: distance2d_sqr_pt_seg
      Src: /src/postgis/liblwgeom/ptarray.c:1415,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:1423,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/ptarray.c:1430,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1434,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1435,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1441,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:1442,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/ptarray.c:1443,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1449,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:1452,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1457,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/ptarray.c:1459,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1461,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1468,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1471,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1472,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1474,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1477,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/ptarray.c:1479,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 4
    argNames:
    - pa
    - p4d
    - mindistout
    - proj4d
    argTypes:
    - POINTARRAY*
    - POINT4D*
    - double*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1381
    functionDepth: 2
    functionLinenumber: 1381
    functionLinenumberEnd: 1482
    functionName: ptarray_locate_point
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    - distance2d_sqr_pt_seg
    - LWDEBUG
    - p2d_same
    - closest_point_on_segment
    - ptarray_length_2d
    - distance2d_pt_pt
    - LWDEBUGF
    - sqrt
    - getPoint4d_p
    linkageType: ''
    returnType: double
    signature: double ptarray_locate_point(const POINTARRAY *pa, const POINT4D *p4d,
      double *mindistout, POINT4D *proj4d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1501,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:1501,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1504,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:1504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1506
    functionName: ptarray_longitude_shift
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - getPoint_internal
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ptarray_longitude_shift(POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/ptarray.c:1518,1
    - Dst: ptarray_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/ptarray.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - tolerance
    - minpoints
    argTypes:
    - POINTARRAY*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1521
    functionName: ptarray_remove_repeated_points_minpoints
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_remove_repeated_points_in_place
    - ptarray_clone_deep
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_remove_repeated_points_minpoints(const POINTARRAY *in, double tolerance,
      int minpoints)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_remove_repeated_points_minpoints
      Src: /src/postgis/liblwgeom/ptarray.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - tolerance
    argTypes:
    - POINTARRAY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 3
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: ptarray_remove_repeated_points
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_remove_repeated_points_minpoints
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_remove_repeated_points(const POINTARRAY *in, double tolerance)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:1539,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1546,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1553,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1561,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:1571,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1587,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - pa
    - tolerance
    - min_points
    argTypes:
    - POINTARRAY*
    - double
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1595
    functionName: ptarray_remove_repeated_points_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 2
    functionsReached:
    - getPoint2d_cp
    - ptarray_point_size
    - distance2d_sqr_pt_pt
    - memcpy
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ptarray_remove_repeated_points_in_place(POINTARRAY *pa, double
      tolerance, uint32_t min_points)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1608,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1609,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1611,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1616,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1617,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1636,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1644,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/ptarray.c:1648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pts
    - it_first
    - it_last
    - max_distance_sqr
    argTypes:
    - POINTARRAY*
    - uint32_t
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1663
    functionName: ptarray_dp_findsplit_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - distance2d_sqr_pt_pt
    - getPoint2d_cp
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ptarray_dp_findsplit_in_place(const POINTARRAY *pts, uint32_t
      it_first, uint32_t it_last, double max_distance_sqr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1671,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:1672,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1676,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1677,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/ptarray.c:1688,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1697,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1666
    functionDepth: 2
    functionLinenumber: 1666
    functionLinenumberEnd: 1710
    functionName: ptarray_simplify_in_place_tolerance0
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - p2d_same
    - ptarray_point_size
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ptarray_simplify_in_place_tolerance0(POINTARRAY *pa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_simplify_in_place_tolerance0
      Src: /src/postgis/liblwgeom/ptarray.c:1721,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:1727,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/ptarray.c:1728,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/ptarray.c:1737,1
    - Dst: ptarray_dp_findsplit_in_place
      Src: /src/postgis/liblwgeom/ptarray.c:1750,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:1767,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1774,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:1784,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/ptarray.c:1793,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/ptarray.c:1794,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pa
    - tolerance
    - minpts
    argTypes:
    - POINTARRAY*
    - double
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1795
    functionName: ptarray_simplify_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - memset
    - ptarray_point_size
    - ptarray_dp_findsplit_in_place
    - lwalloc
    - ptarray_simplify_in_place_tolerance0
    - lwfree
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ptarray_simplify_in_place(POINTARRAY *pa, double tolerance, uint32_t
      minpts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:1814,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1816,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1820,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1821,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/ptarray.c:1822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pts
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1804
    functionDepth: 3
    functionLinenumber: 1804
    functionLinenumberEnd: 1826
    functionName: ptarray_arc_length_2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint2d_cp
    - lw_arc_length
    linkageType: ''
    returnType: double
    signature: double ptarray_arc_length_2d(const POINTARRAY *pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1841,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:1845,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/ptarray.c:1847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pts
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1853
    functionName: ptarray_length_2d
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 5
    functionsReached:
    - getPoint2d_cp
    - sqrt
    linkageType: ''
    returnType: double
    signature: double ptarray_length_2d(const POINTARRAY *pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:1870,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/ptarray.c:1870,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/ptarray.c:1872,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/ptarray.c:1875,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/ptarray.c:1876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pts
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1882
    functionName: ptarray_length
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - getPoint3dz_p
    - sqrt
    - FLAGS_GET_Z
    - ptarray_length_2d
    linkageType: ''
    returnType: double
    signature: double ptarray_length(const POINTARRAY *pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:1892,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:1896,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:1909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pa
    - a
    argTypes:
    - POINTARRAY*
    - AFFINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1916
    functionName: ptarray_affine
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - getPoint_internal
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void ptarray_affine(POINTARRAY *pa, const AFFINE *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - m
    - invOut
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 2051
    functionName: gluInvertMatrix
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gluInvertMatrix(const double *m, double *invOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:2062,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:2065,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/ptarray.c:2070,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/ptarray.c:2072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pa
    - fact
    argTypes:
    - POINTARRAY*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2073
    functionName: ptarray_scale
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_set_point4d
    - getPoint4d_p
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void ptarray_scale(POINTARRAY *pa, const POINT4D *fact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/ptarray.c:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - pt
    argTypes:
    - POINTARRAY*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2079
    functionName: ptarray_startpoint
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 1
    functionsReached:
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_startpoint(const POINTARRAY *pa, POINT4D *pt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/ptarray.c:2096,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:2097,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:2098,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2103,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2118,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2120,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2125,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2127,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2133,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2140,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/ptarray.c:2142,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2156,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - pa
    - grid
    argTypes:
    - POINTARRAY*
    - gridspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2168
    functionName: ptarray_grid_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_M
    - getPoint_internal
    - rint
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void ptarray_grid_in_place(POINTARRAY *pa, gridspec *grid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/ptarray.c:2178,1
    - Dst: gbox_contains_point2d
      Src: /src/postgis/liblwgeom/ptarray.c:2179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2170
    functionDepth: 1
    functionLinenumber: 2170
    functionLinenumberEnd: 2183
    functionName: ptarray_npoints_in_rect
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - gbox_contains_point2d
    linkageType: ''
    returnType: int
    signature: int ptarray_npoints_in_rect(const POINTARRAY *pa, const GBOX *gbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/ptarray.c:2201,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:2203,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/ptarray.c:2207,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/ptarray.c:2213,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2213,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/ptarray.c:2222,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/ptarray.c:2233,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/ptarray.c:2233,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/ptarray.c:2233,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/ptarray.c:2235,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2235,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:2237,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2238,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2239,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:2245,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2246,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2247,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/ptarray.c:2252,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2253,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/ptarray.c:2254,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/ptarray.c:2258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pa
    - pt
    argTypes:
    - POINTARRAY*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2261
    functionName: ptarray_scroll_in_place
    functionSourceFile: /src/postgis/liblwgeom/ptarray.c
    functionUses: 0
    functionsReached:
    - memset
    - ptarray_is_closed_2d
    - ptarray_point_size
    - ptarray_free
    - lwerror
    - ptarray_construct
    - FLAGS_GET_M
    - memcpy
    - getPoint_internal
    - FLAGS_GET_Z
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ptarray_scroll_in_place(POINTARRAY *pa, const POINT4D *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: lwgeom_geos_compiled_version
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_geos_compiled_version()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:60,1
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:63,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: lwgeom_geos_error
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void lwgeom_geos_error(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:72,1
    - Dst: lwgeom_geos_compiled_version
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - functionality
    - minver
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: lwgeom_geos_error_minversion
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwgeom_geos_compiled_version
    linkageType: ''
    returnType: void
    signature: void lwgeom_geos_error_minversion(const char *functionality, const
      char *minver)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: GEOS_FREE
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEOS_FREE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: GEOS_FAIL
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEOS_FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: GEOS_FAIL_DEBUG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEOS_FAIL_DEBUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: GEOS_FREE_AND_FAIL
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEOS_FREE_AND_FAIL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: GEOS_FREE_AND_FAIL_DEBUG
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEOS_FREE_AND_FAIL_DEBUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: RESULT_SRID
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESULT_SRID(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:122,1
    - Dst: va_arg
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:125,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:128,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: geos_destroy
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void geos_destroy(size_t count, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:154,1
    - Dst: GEOSCoordSeq_getSize
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:156,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:156,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:158,1
    - Dst: GEOSCoordSeq_getDimensions
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:162,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:162,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:164,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:170,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:172,1
    - Dst: GEOSCoordSeq_copyToBuffer
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:174,1
    - Dst: GEOSCoordSeq_getXYZ
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:180,1
    - Dst: GEOSCoordSeq_getXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:182,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - cs
    - want3d
    argTypes:
    - GEOSCoordSequence*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 189
    functionName: ptarray_from_GEOSCoordSeq
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_copyToBuffer
    - LWDEBUG
    - lwerror
    - ptarray_construct
    - GEOSCoordSeq_getSize
    - ptarray_set_point4d
    - GEOSCoordSeq_getXYZ
    - GEOSCoordSeq_getDimensions
    - GEOSCoordSeq_getXY
    - LWDEBUGF
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_from_GEOSCoordSeq(const GEOSCoordSequence* cs, uint8_t want3d)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:195,1
    - Dst: GEOSGetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:196,1
    - Dst: GEOSHasZ
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:201,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:203,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:216,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:217,1
    - Dst: GEOSisEmpty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:218,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:218,1
    - Dst: ptarray_from_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:219,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:220,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:224,1
    - Dst: GEOSisEmpty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:225,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:225,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:227,1
    - Dst: ptarray_from_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:228,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:229,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:232,1
    - Dst: GEOSisEmpty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:233,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:233,1
    - Dst: GEOSGetNumInteriorRings
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:234,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:235,1
    - Dst: GEOSGetExteriorRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:236,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:237,1
    - Dst: ptarray_from_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:238,1
    - Dst: GEOSGetInteriorRingN
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:241,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:242,1
    - Dst: ptarray_from_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:243,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:245,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:251,1
    - Dst: GEOSGetNumGeometries
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:253,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:257,1
    - Dst: GEOSGetGeometryN
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:260,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:261,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:264,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - geom
    - want3d
    argTypes:
    - GEOSGeometry*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 270
    functionName: GEOS2LWGEOM
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 2
    functionsReached:
    - ptarray_from_GEOSCoordSeq
    - lwline_construct_empty
    - lwpoly_construct_empty
    - GEOSGeomTypeId
    - GEOSGetSRID
    - lwalloc
    - GEOSGetExteriorRing
    - lwline_construct
    - lwpoint_construct_empty
    - GEOSisEmpty
    - lwpoly_construct
    - GEOSGetNumGeometries
    - lwerror
    - GEOS2LWGEOM
    - GEOSGeom_getCoordSeq
    - GEOSGetInteriorRingN
    - GEOSGetNumInteriorRings
    - LWDEBUG
    - lwpoint_construct
    - GEOSGetGeometryN
    - lwcollection_construct
    - GEOSHasZ
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      GEOS2LWGEOM(const GEOSGeometry* geom, uint8_t want3d)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:284,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:290,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:296,1
    - Dst: GEOSCoordSeq_copyFromBuffer
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:302,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:302,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:302,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:305,1
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:310,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:312,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:319,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:321,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:325,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:326,1
    - Dst: GEOSCoordSeq_setXYZ
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:330,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:332,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:340,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:344,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:348,1
    - Dst: GEOSCoordSeq_setZ
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:350,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pa
    - fix_ring
    argTypes:
    - POINTARRAY*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 356
    functionName: ptarray_to_GEOSCoordSeq
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXYZ
    - getPoint2d_cp
    - ptarray_is_closed_2d
    - GEOSCoordSeq_setZ
    - lwerror
    - GEOSCoordSeq_setXY
    - FLAGS_GET_M
    - GEOSCoordSeq_create
    - GEOS_FAIL
    - getPoint3d_cp
    - GEOSCoordSeq_copyFromBuffer
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: GEOSCoordSeq
    signature: GEOSCoordSeq ptarray_to_GEOSCoordSeq(const POINTARRAY* pa, uint8_t
      fix_ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_to_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:363,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pa
    - autofix
    argTypes:
    - POINTARRAY*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: ptarray_to_GEOSLinearRing
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_createLinearRing
    - ptarray_to_GEOSCoordSeq
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      ptarray_to_GEOSLinearRing(const POINTARRAY* pa, uint8_t autofix)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:373,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:376,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:377,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:378,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:379,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:380,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:382,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:385,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:389,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - box
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 397
    functionName: GBOX2GEOS
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_createPolygon
    - GEOSCoordSeq_setXY
    - GEOSCoordSeq_create
    - GEOSGeom_destroy
    - GEOSCoordSeq_destroy
    - GEOSGeom_createLinearRing
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      GBOX2GEOS(const GBOX* box)'
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:414,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:418,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:418,1
    - Dst: lwgeom_type_arc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:420,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:422,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:423,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:424,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:428,1
    - Dst: GEOSGeom_createEmptyPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:435,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:439,1
    - Dst: ptarray_to_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:441,1
    - Dst: GEOSGeom_createPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:442,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:446,1
    - Dst: GEOSGeom_createPointFromXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:447,1
    - Dst: GEOSGeom_createEmptyLineString
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:457,1
    - Dst: ptarray_addPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:465,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:466,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:467,1
    - Dst: ptarray_to_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:470,1
    - Dst: GEOSGeom_createLineString
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:471,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:481,1
    - Dst: ptarray_to_GEOSLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:484,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:487,1
    - Dst: ptarray_to_GEOSLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:491,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:496,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:497,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:498,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:502,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:503,1
    - Dst: GEOSGeom_createEmptyPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:512,1
    - Dst: ptarray_to_GEOSLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:516,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:518,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:542,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:551,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:556,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:557,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:562,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:563,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:570,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:570,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:575,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:578,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:579,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:580,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 122
    argCount: 2
    argNames:
    - lwgeom
    - autofix
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 399
    functionDepth: 9
    functionLinenumber: 399
    functionLinenumberEnd: 584
    functionName: LWGEOM2GEOS
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 2
    functionsReached:
    - GEOSSetSRID
    - lwgeom_free
    - getPoint2d_cp
    - GEOSGeom_createEmptyLineString
    - GEOSGeom_createLineString
    - lwgeom_has_z
    - GEOSGeom_createEmptyPoint
    - lwalloc
    - GEOSGeom_createPoint
    - GEOSGeom_createPolygon
    - lwgeom_stroke
    - ptarray_to_GEOSLinearRing
    - GEOSGeom_createPointFromXY
    - GEOSGeomToWKT
    - lwerror
    - lwgeom_type_arc
    - LWGEOM2GEOS
    - ptarray_to_GEOSCoordSeq
    - GEOSGeom_destroy
    - GEOSFree
    - lwfree
    - lwtype_name
    - LWDEBUGF
    - FLAGS_NDIMS
    - GEOSGeom_createEmptyPolygon
    - lwgeom_is_empty
    - getPoint_internal
    - ptarray_addPoint
    - GEOSGeom_createCollection
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      LWGEOM2GEOS(const LWGEOM* lwgeom, uint8_t autofix)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:589,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:594,1
    - Dst: GEOSGeom_createPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:596,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: make_geos_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSCoordSeq_create
    - GEOSGeom_createPoint
    - GEOSCoordSeq_setXY
    - GEOSCoordSeq_destroy
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      make_geos_point(double x, double y)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:604,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:609,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:610,1
    - Dst: GEOSGeom_createLineString
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:612,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: make_geos_segment
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 2
    functionsReached:
    - GEOSCoordSeq_create
    - GEOSCoordSeq_setXY
    - GEOSGeom_createLineString
    - GEOSCoordSeq_destroy
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      make_geos_segment(double x1, double y1, double x2, double y2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: lwgeom_geos_version
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSversion
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_geos_version()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:630,1
    - Dst: va_arg
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:635,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:638,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:639,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:650,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:651,1
    - Dst: va_end
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - count
    - funcname
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 658
    functionName: get_result_srid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwerror
    - va_arg
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_result_srid(size_t count, const char* funcname, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:664,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:665,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:670,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:672,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:672,1
    - Dst: GEOSNormalize
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:674,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:674,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:675,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:677,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:677,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 660
    functionDepth: 10
    functionLinenumber: 660
    functionLinenumberEnd: 681
    functionName: lwgeom_normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSNormalize
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_normalize(const LWGEOM* geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_intersection_prec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: lwgeom_intersection
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_intersection_prec
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_intersection(const LWGEOM* g1, const LWGEOM* g2)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:693,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:694,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:694,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:702,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:702,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:705,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:705,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:707,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:709,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:709,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:710,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:710,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:714,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:715,1
    - Dst: GEOSIntersectionPrec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:718,1
    - Dst: GEOSIntersection
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:723,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:726,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:727,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:729,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:729,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - geom1
    - geom2
    - prec
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 689
    functionDepth: 10
    functionLinenumber: 689
    functionLinenumberEnd: 733
    functionName: lwgeom_intersection_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSIntersection
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOSIntersectionPrec
    - GEOS2LWGEOM
    - lwgeom_geos_error_minversion
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_intersection_prec(const LWGEOM* geom1, const LWGEOM* geom2, double prec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_linemerge_directed
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: lwgeom_linemerge
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_linemerge_directed
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_linemerge(const LWGEOM* geom)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:745,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:746,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:753,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:753,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:755,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:757,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:757,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:762,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:763,1
    - Dst: GEOSLineMergeDirected
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:766,1
    - Dst: GEOSLineMerge
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:771,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:774,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:775,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:777,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:778,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - geom
    - directed
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 741
    functionDepth: 10
    functionLinenumber: 741
    functionLinenumberEnd: 783
    functionName: lwgeom_linemerge_directed
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOSLineMergeDirected
    - lwgeom_geos_error_minversion
    - GEOS2LWGEOM
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - GEOSLineMerge
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_linemerge_directed(const LWGEOM* geom, int directed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_unaryunion_prec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: lwgeom_unaryunion
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_unaryunion_prec
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_unaryunion(const LWGEOM* geom)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:795,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:796,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:803,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:803,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:805,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:807,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:807,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:811,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:812,1
    - Dst: GEOSUnaryUnionPrec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:815,1
    - Dst: GEOSUnaryUnion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:820,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:823,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:824,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:826,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:827,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - geom
    - prec
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 791
    functionDepth: 10
    functionLinenumber: 791
    functionLinenumberEnd: 832
    functionName: lwgeom_unaryunion_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSUnaryUnion
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_geos_error_minversion
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - GEOSUnaryUnionPrec
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_unaryunion_prec(const LWGEOM* geom, double prec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_difference_prec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom1
    - geom2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: lwgeom_difference
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_difference_prec
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_difference(const LWGEOM* geom1, const LWGEOM* geom2)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:844,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:845,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:845,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:851,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:851,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:854,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:854,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:856,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:858,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:858,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:859,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:859,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:863,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:864,1
    - Dst: GEOSDifferencePrec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:867,1
    - Dst: GEOSDifference
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:872,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:875,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:876,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:878,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:879,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:881,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - geom1
    - geom2
    - prec
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 840
    functionDepth: 10
    functionLinenumber: 840
    functionLinenumberEnd: 883
    functionName: lwgeom_difference_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOSDifferencePrec
    - GEOSDifference
    - lwgeom_geos_error_minversion
    - GEOS2LWGEOM
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_difference_prec(const LWGEOM* geom1, const LWGEOM* geom2, double prec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_symdifference_prec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom1
    - geom2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: lwgeom_symdifference
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_symdifference_prec
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_symdifference(const LWGEOM* geom1, const LWGEOM* geom2)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:895,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:896,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:896,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:902,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:902,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:905,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:905,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:907,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:909,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:909,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:910,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:910,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:914,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:915,1
    - Dst: GEOSSymDifferencePrec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:918,1
    - Dst: GEOSSymDifference
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:923,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:926,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:927,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:929,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:930,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:932,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - geom1
    - geom2
    - prec
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 891
    functionDepth: 10
    functionLinenumber: 891
    functionLinenumberEnd: 934
    functionName: lwgeom_symdifference_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - GEOSSymDifference
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_geos_error_minversion
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - GEOSSymDifferencePrec
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_symdifference_prec(const LWGEOM* geom1, const LWGEOM* geom2, double prec)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:940,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:941,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:946,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:948,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:948,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:949,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:952,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:954,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:954,1
    - Dst: GEOSGetCentroid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:956,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:958,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:959,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:961,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:962,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 936
    functionDepth: 10
    functionLinenumber: 936
    functionLinenumberEnd: 967
    functionName: lwgeom_centroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwpoint_as_lwgeom
    - RESULT_SRID
    - GEOS_FAIL
    - GEOSGetCentroid
    - lwpoint_construct_empty
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    - lwgeom_has_m
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_centroid(const LWGEOM* geom)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:973,1
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:978,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:979,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:984,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:985,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:987,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:989,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:989,1
    - Dst: GEOSGeom_setPrecision
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:991,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:993,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:994,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:996,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:997,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - geom
    - gridSize
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 969
    functionDepth: 10
    functionLinenumber: 969
    functionLinenumberEnd: 1003
    functionName: lwgeom_reduceprecision
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_setPrecision
    - GEOSSetSRID
    - initGEOS
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_clone_deep
    - RESULT_SRID
    - GEOS_FAIL
    - lwgeom_geos_error_minversion
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_reduceprecision(const LWGEOM* geom, double gridSize)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1009,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1010,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1015,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1017,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1017,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1018,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1021,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1023,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1023,1
    - Dst: GEOSPointOnSurface
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1025,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1027,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1028,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1030,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1031,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1005
    functionDepth: 10
    functionLinenumber: 1005
    functionLinenumberEnd: 1036
    functionName: lwgeom_pointonsurface
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - GEOSPointOnSurface
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwpoint_as_lwgeom
    - RESULT_SRID
    - GEOS_FAIL
    - lwpoint_construct_empty
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    - lwgeom_has_m
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_pointonsurface(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_union_prec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: lwgeom_union
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_union_prec
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_union(const LWGEOM* g1, const LWGEOM* g2)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1048,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1049,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1049,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1055,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1055,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1058,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1058,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1060,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1062,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1062,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1063,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1063,1
    - Dst: lwgeom_geos_error_minversion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1067,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1068,1
    - Dst: GEOSUnionPrec
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1071,1
    - Dst: GEOSUnion
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1076,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1079,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1080,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1082,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1083,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - geom1
    - geom2
    - gridSize
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1044
    functionDepth: 10
    functionLinenumber: 1044
    functionLinenumberEnd: 1087
    functionName: lwgeom_union_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - GEOSSetSRID
    - GEOSUnionPrec
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_geos_error_minversion
    - lwgeom_clone_deep
    - GEOSUnion
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_union_prec(const LWGEOM* geom1, const LWGEOM* geom2, double gridSize)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1097,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1098,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1100,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1102,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1104,1
    - Dst: GEOS_FAIL_DEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1105,1
    - Dst: GEOSClipByRect
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1107,1
    - Dst: GEOS_FREE_AND_FAIL_DEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1108,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1110,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1111,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1112,1
    - Dst: GEOS_FAIL_DEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - geom1
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - LWGEOM*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1089
    functionDepth: 10
    functionLinenumber: 1089
    functionLinenumberEnd: 1120
    functionName: lwgeom_clip_by_rect
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOS_FREE_AND_FAIL_DEBUG
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOS_FAIL_DEBUG
    - GEOS2LWGEOM
    - lwgeom_clone_deep
    - initGEOS
    - GEOSClipByRect
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_clip_by_rect(const LWGEOM *geom1, double x1, double y1, double x2, double
      y2)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1127,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1128,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1134,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1134,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1136,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1138,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1138,1
    - Dst: GEOSBuildArea
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1140,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1142,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1143,1
    - Dst: GEOSGetNumGeometries
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1146,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1148,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1152,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1153,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1123
    functionDepth: 10
    functionLinenumber: 1123
    functionLinenumberEnd: 1158
    functionName: lwgeom_buildarea
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSGetNumGeometries
    - GEOS_FREE_AND_FAIL
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - GEOSBuildArea
    - GEOS2LWGEOM
    - lwpoly_construct_empty
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_buildarea(const LWGEOM* geom)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1169,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1171,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1173,1
    - Dst: GEOSisSimple
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1175,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1176,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1162
    functionDepth: 10
    functionLinenumber: 1162
    functionLinenumberEnd: 1185
    functionName: lwgeom_is_simple
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSisSimple
    - lwerror
    - LWGEOM2GEOS
    - lwgeom_is_empty
    - GEOSGeom_destroy
    - initGEOS
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_simple(const LWGEOM* geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1191,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1192,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1197,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1199,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1199,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1201,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1202,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1204,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1205,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1187
    functionDepth: 10
    functionLinenumber: 1187
    functionLinenumberEnd: 1210
    functionName: lwgeom_geos_noop
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_geos_noop(const LWGEOM* geom)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1216,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1217,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1217,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1222,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1224,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1224,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1225,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1225,1
    - Dst: GEOSSnap
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1227,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1229,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1230,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1232,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1233,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - geom1
    - geom2
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1212
    functionDepth: 10
    functionLinenumber: 1212
    functionLinenumberEnd: 1237
    functionName: lwgeom_snap
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - GEOSSnap
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_snap(const LWGEOM* geom1, const LWGEOM* geom2, double tolerance)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1243,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1244,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1244,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1249,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1251,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1251,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1252,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1252,1
    - Dst: GEOSSharedPaths
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1254,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1256,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1257,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1259,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1260,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - geom1
    - geom2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1239
    functionDepth: 10
    functionLinenumber: 1239
    functionLinenumberEnd: 1264
    functionName: lwgeom_sharedpaths
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOSSharedPaths
    - GEOS2LWGEOM
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_sharedpaths(const LWGEOM* geom1, const LWGEOM* geom2)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1270,1
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1271,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1272,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1277,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1279,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1279,1
    - Dst: GEOSOffsetCurve
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1281,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1285,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1289,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1291,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1292,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - lwline
    - size
    - quadsegs
    - joinStyle
    - mitreLimit
    argTypes:
    - LWLINE*
    - double
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1266
    functionDepth: 10
    functionLinenumber: 1266
    functionLinenumberEnd: 1296
    functionName: lwline_offsetcurve
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSOffsetCurve
    - lwline_as_lwgeom
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_offsetcurve(const LWLINE *lwline, double size, int quadsegs, int joinStyle,
      double mitreLimit)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1301,1
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1302,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1303,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1309,1
    - Dst: lwgeom_offsetcurve
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1313,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1317,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1321,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1323,1
    - Dst: lwcollection_concat_in_place
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1324,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1324,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1326,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1330,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1339,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - col
    - size
    - quadsegs
    - joinStyle
    - mitreLimit
    argTypes:
    - LWCOLLECTION*
    - double
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1298
    functionDepth: 4
    functionLinenumber: 1298
    functionLinenumberEnd: 1344
    functionName: lwcollection_offsetcurve
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_is_collection
    - lwgeom_as_lwcollection
    - lwcollection_as_lwgeom
    - lwcollection_construct_empty
    - lwgeom_offsetcurve
    - lwgeom_is_empty
    - lwcollection_concat_in_place
    - lwcollection_free
    - lwcollection_release
    - RESULT_SRID
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_offsetcurve(const LWCOLLECTION *col, double size, int quadsegs,
      int joinStyle, double mitreLimit)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1349,1
    - Dst: lwgeom_dimension
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1354,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1356,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1356,1
    - Dst: lwline_offsetcurve
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1365,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1365,1
    - Dst: lwcollection_offsetcurve
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1369,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1369,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1372,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1372,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1378,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1383,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1386,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1393,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - geom
    - size
    - quadsegs
    - joinStyle
    - mitreLimit
    argTypes:
    - LWGEOM*
    - double
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1346
    functionDepth: 11
    functionLinenumber: 1346
    functionLinenumberEnd: 1400
    functionName: lwgeom_offsetcurve
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 2
    functionsReached:
    - lwgeom_dimension
    - lwgeom_free
    - lwgeom_as_lwcollection
    - lwerror
    - lwline_offsetcurve
    - lwgeom_node
    - RESULT_SRID
    - lwtype_name
    - lwcollection_offsetcurve
    - lwgeom_as_lwline
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_offsetcurve(const LWGEOM* geom, double size, int quadsegs, int joinStyle,
      double mitreLimit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1405,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1406,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1407,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1408,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1409,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1410,1
    - Dst: GEOSGeom_createPolygon
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1411,1
    - Dst: GEOSGeom_createLinearRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - xmin
    - ymin
    - cell_size
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: lwpoly_to_points_make_cell
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_create
    - GEOSGeom_createLinearRing
    - GEOSCoordSeq_setXY
    - GEOSGeom_createPolygon
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      lwpoly_to_points_make_cell(double xmin, double ymin, double cell_size)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1438,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1441,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1443,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1447,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1450,1
    - Dst: lwpoly_area
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1454,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1461,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1471,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1478,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1478,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1484,1
    - Dst: ceil
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1490,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1495,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1496,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1499,1
    - Dst: GEOSPrepare
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1502,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1510,1
    - Dst: lwpoly_to_points_make_cell
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1519,1
    - Dst: GEOSPreparedIntersects
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1520,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1521,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1524,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1525,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1526,1
    - Dst: lwrandom_set_seed
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1544,1
    - Dst: lwrandom_uniform
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1553,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1554,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1555,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1556,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1561,1
    - Dst: lwrandom_uniform
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1572,1
    - Dst: lwrandom_uniform
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1573,1
    - Dst: GEOSPreparedIntersectsXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1577,1
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1581,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1582,1
    - Dst: GEOSGeom_createPoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1583,1
    - Dst: GEOSPreparedIntersects
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1584,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1585,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1590,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1591,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1592,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1597,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1597,1
    - Dst: LW_ON_INTERRUPT
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1609,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1609,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1609,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1616,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1617,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1618,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 109
    argCount: 3
    argNames:
    - lwpoly
    - npoints
    - seed
    argTypes:
    - LWPOLY*
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1414
    functionDepth: 10
    functionLinenumber: 1414
    functionLinenumberEnd: 1621
    functionName: lwpoly_to_points
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSCoordSeq_setXY
    - GEOSPrepare
    - GEOSPreparedGeom_destroy
    - ceil
    - lwalloc
    - LW_ON_INTERRUPT
    - sqrt
    - GEOSGeom_createPoint
    - lwmpoint_add_lwpoint
    - initGEOS
    - lwmpoint_construct_empty
    - lwerror
    - LWGEOM2GEOS
    - lwpoly_to_points_make_cell
    - GEOSCoordSeq_create
    - GEOSGeom_destroy
    - lwpoly_area
    - lwgeom_get_type
    - lwfree
    - GEOSPreparedIntersects
    - lwrandom_uniform
    - FP_MIN
    - lwgeom_get_srid
    - lwrandom_set_seed
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - GEOSPreparedIntersectsXY
    - lwpoint_make2d
    - memcpy
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwpoly_to_points(const LWPOLY* lwpoly, uint32_t npoints, int32_t seed)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1633,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1635,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1638,1
    - Dst: lwgeom_area
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1640,1
    - Dst: lwpoly_area
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1644,1
    - Dst: lround
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1645,1
    - Dst: lwpoly_to_points
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1648,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1655,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1658,1
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - lwmpoly
    - npoints
    - seed
    argTypes:
    - LWMPOLY*
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1625
    functionDepth: 11
    functionLinenumber: 1625
    functionLinenumberEnd: 1664
    functionName: lwmpoly_to_points
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwpoly_to_points
    - lwerror
    - lwgeom_release
    - lwgeom_is_empty
    - lround
    - lwpoly_area
    - lwgeom_get_type
    - lwmpoint_add_lwpoint
    - lwfree
    - lwgeom_area
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwmpoly_to_points(const LWMPOLY* lwmpoly, uint32_t npoints, int32_t seed)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1669,1
    - Dst: lwmpoly_to_points
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1672,1
    - Dst: lwpoly_to_points
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1674,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1676,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1676,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - lwgeom
    - npoints
    - seed
    argTypes:
    - LWGEOM*
    - uint32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1666
    functionDepth: 12
    functionLinenumber: 1666
    functionLinenumberEnd: 1679
    functionName: lwgeom_to_points
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwpoly_to_points
    - lwmpoly_to_points
    - lwerror
    - lwgeom_get_type
    - lwtype_name
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwgeom_to_points(const LWGEOM* lwgeom, uint32_t npoints, int32_t seed)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1684,1
    - Dst: GEOSGetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1685,1
    - Dst: GEOSHasZ
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1690,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1692,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1701,1
    - Dst: GEOSGetNumGeometries
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1703,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1707,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1710,1
    - Dst: GEOSGetGeometryN
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1719,1
    - Dst: GEOSGetExteriorRing
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1720,1
    - Dst: GEOSGeom_getCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1721,1
    - Dst: ptarray_from_GEOSCoordSeq
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1722,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1724,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1727,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1735,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - geom
    - want3d
    argTypes:
    - GEOSGeometry*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1681
    functionDepth: 3
    functionLinenumber: 1681
    functionLinenumberEnd: 1745
    functionName: lwtin_from_geos
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSGetNumGeometries
    - LWDEBUG
    - lwerror
    - ptarray_from_GEOSCoordSeq
    - lwtriangle_construct
    - GEOSGeomTypeId
    - GEOSGetSRID
    - GEOSGetGeometryN
    - lwalloc
    - GEOSGeom_getCoordSeq
    - lwcollection_construct
    - GEOSGetExteriorRing
    - GEOSHasZ
    linkageType: ''
    returnType: LWTIN
    signature: 'LWTIN *

      lwtin_from_geos(const GEOSGeometry* geom, uint8_t want3d)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1753,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1754,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1759,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1765,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1767,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1767,1
    - Dst: GEOSDelaunayTriangulation
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1770,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1772,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1773,1
    - Dst: lwtin_from_geos
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1777,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1780,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1781,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1784,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1786,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1787,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - geom
    - tolerance
    - output
    argTypes:
    - LWGEOM*
    - double
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1749
    functionDepth: 10
    functionLinenumber: 1749
    functionLinenumberEnd: 1791
    functionName: lwgeom_delaunay_triangulation
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOSDelaunayTriangulation
    - lwerror
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - lwgeom_set_srid
    - RESULT_SRID
    - GEOS_FAIL
    - initGEOS
    - lwtin_from_geos
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_delaunay_triangulation(const LWGEOM* geom, double tolerance, int32_t
      output)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GEOSCoordSeq_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1803,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1806,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1807,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1811,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1812,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1813,1
    - Dst: GEOSCoordSeq_setX
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1818,1
    - Dst: GEOSCoordSeq_setY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1818,1
    - Dst: GEOSCoordSeq_setXY
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1820,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1823,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1824,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - g
    - num_points
    argTypes:
    - LWGEOM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1794
    functionDepth: 7
    functionLinenumber: 1794
    functionLinenumberEnd: 1832
    functionName: lwgeom_get_geos_coordseq_2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_next
    - lwerror
    - lwpointiterator_destroy
    - GEOSCoordSeq_setXY
    - GEOSCoordSeq_setY
    - GEOSCoordSeq_create
    - GEOSCoordSeq_destroy
    - GEOSCoordSeq_setX
    - lwpointiterator_create
    linkageType: ''
    returnType: GEOSCoordSequence
    signature: 'GEOSCoordSequence *

      lwgeom_get_geos_coordseq_2d(const LWGEOM* g, uint32_t num_points)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1837,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1840,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1848,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1848,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1849,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1852,1
    - Dst: lwgeom_get_geos_coordseq_2d
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1858,1
    - Dst: GEOSGeom_createLineString
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1861,1
    - Dst: GEOSCoordSeq_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1864,1
    - Dst: GBOX2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1868,1
    - Dst: GEOSVoronoiDiagram
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1870,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1872,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1873,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1877,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1881,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1882,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - g
    - env
    - tolerance
    - output_edges
    argTypes:
    - LWGEOM*
    - GBOX*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1834
    functionDepth: 8
    functionLinenumber: 1834
    functionLinenumberEnd: 1887
    functionName: lwgeom_voronoi_diagram
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSVoronoiDiagram
    - GEOSGeom_createLineString
    - lwgeom_get_geos_coordseq_2d
    - lwcollection_as_lwgeom
    - lwgeom_get_srid
    - lwgeom_count_vertices
    - lwcollection_construct_empty
    - GBOX2GEOS
    - lwerror
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - lwgeom_set_srid
    - GEOSCoordSeq_destroy
    - initGEOS
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_voronoi_diagram(const LWGEOM* g, const GBOX* env, double tolerance, int
      output_edges)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1895,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1896,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1900,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1902,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1902,1
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1904,1
    - Dst: GEOSConcaveHullOfPolygons
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1907,1
    - Dst: GEOSConcaveHull
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1910,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1914,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1916,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1918,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1919,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - geom
    - ratio
    - allow_holes
    argTypes:
    - LWGEOM*
    - double
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1891
    functionDepth: 10
    functionLinenumber: 1891
    functionLinenumberEnd: 1923
    functionName: lwgeom_concavehull
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOSConcaveHull
    - GEOS2LWGEOM
    - GEOSGeomTypeId
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOSConcaveHullOfPolygons
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_concavehull(const LWGEOM* geom, double ratio, uint32_t allow_holes)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1929,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1930,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1933,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1935,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1935,1
    - Dst: GEOSPolygonHullSimplify
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1937,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1940,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1942,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1944,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1945,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - geom
    - vertex_fraction
    - is_outer
    argTypes:
    - LWGEOM*
    - double
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1925
    functionDepth: 10
    functionLinenumber: 1925
    functionLinenumberEnd: 1949
    functionName: lwgeom_simplify_polygonal
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOSPolygonHullSimplify
    - GEOS2LWGEOM
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOS_FREE
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_simplify_polygonal(const LWGEOM* geom, double vertex_fraction, uint32_t
      is_outer)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RESULT_SRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1955,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1956,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1961,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1963,1
    - Dst: GEOS_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1963,1
    - Dst: GEOSConstrainedDelaunayTriangulation
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1966,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1968,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1969,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1971,1
    - Dst: GEOS_FREE_AND_FAIL
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1972,1
    - Dst: GEOS_FREE
      Src: /src/postgis/liblwgeom/lwgeom_geos.c:1974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1951
    functionDepth: 10
    functionLinenumber: 1951
    functionLinenumberEnd: 1976
    functionName: lwgeom_triangulate_polygon
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - GEOS_FREE_AND_FAIL
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - GEOS_FAIL
    - RESULT_SRID
    - initGEOS
    - GEOS_FREE
    - GEOSConstrainedDelaunayTriangulation
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_triangulate_polygon(const LWGEOM* geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwline.c:44,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwline.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - srid
    - bbox
    - points
    argTypes:
    - int32_t
    - GBOX*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: lwline_construct
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 11
    functionsReached:
    - FLAGS_SET_BBOX
    - lwalloc
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwline.c:57,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwline.c:59,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: lwline_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 4
    functionsReached:
    - ptarray_construct_empty
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwline.c:72,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwline.c:74,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwline.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: lwline_free
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 5
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void lwline_free (LWLINE  *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:81,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:82,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwline.c:82,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:83,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwline.c:84,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: printLWLINE
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWLINE(LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwline.c:95,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwline.c:97,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwline.c:99,1
    - Dst: ptarray_clone
      Src: /src/postgis/liblwgeom/lwline.c:101,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwline.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: lwline_clone
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 1
    functionsReached:
    - gbox_copy
    - ptarray_clone
    - lwalloc
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_clone(const LWLINE *g)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwline.c:111,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwline.c:113,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwline.c:114,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwline.c:116,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwline.c:117,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/lwline.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: lwline_clone_deep
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_READONLY
    - gbox_copy
    - ptarray_clone_deep
    - lwalloc
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_clone_deep(const LWLINE *g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwline.c:127,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwline.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwline
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: lwline_release
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwline_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwline_release(LWLINE *lwline)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_segmentize2d
      Src: /src/postgis/liblwgeom/lwline.c:134,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - line
    - dist
    argTypes:
    - LWLINE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: lwline_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_segmentize2d
    - lwline_construct
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_segmentize2d(const LWLINE *line, double dist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwline.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l1
    - l2
    argTypes:
    - LWLINE*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: lwline_same
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_same
    linkageType: ''
    returnType: char
    signature: char lwline_same(const LWLINE *l1, const LWLINE *l2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwline.c:166,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwline.c:167,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:174,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:180,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:184,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:185,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/lwline.c:193,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/lwline.c:197,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/lwline.c:198,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:200,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwline.c:202,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwline.c:206,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:207,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwline.c:207,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:213,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwline.c:216,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:217,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - srid
    - ngeoms
    - geoms
    argTypes:
    - int32_t
    - uint32_t
    - LWGEOM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 221
    functionName: lwline_from_lwgeom_array
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwpoint_getPoint4d_p
    - ptarray_append_ptarray
    - lwpointiterator_next
    - ptarray_free
    - lwpointiterator_destroy
    - lwerror
    - ptarray_append_point
    - lwgeom_is_empty
    - lwline_construct_empty
    - FLAGS_GET_M
    - lwtype_name
    - lwline_construct
    - FLAGS_GET_Z
    - lwpointiterator_create
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_from_lwgeom_array(int32_t srid, uint32_t ngeoms, LWGEOM **geoms)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:244,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwline.c:244,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwline.c:247,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwline.c:248,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:252,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:256,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:258,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:259,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:264,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - srid
    - npoints
    - points
    argTypes:
    - int32_t
    - uint32_t
    - LWPOINT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 269
    functionName: lwline_from_ptarray
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwpoint_getPoint4d_p
    - lwerror
    - lwline_construct_empty
    - ptarray_append_point
    - FLAGS_GET_M
    - lwpoint_is_empty
    - lwtype_name
    - lwline_construct
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_from_ptarray(int32_t srid, uint32_t npoints, LWPOINT **points)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwline.c:282,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwline.c:283,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:286,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:288,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwline.c:291,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:295,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:296,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwline.c:299,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - srid
    - mpoint
    argTypes:
    - int32_t
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 302
    functionName: lwline_from_lwmpoint
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 1
    functionsReached:
    - lwline_construct_empty
    - ptarray_construct
    - lwgeom_is_empty
    - lwgeom_has_z
    - ptarray_set_point4d
    - lwline_construct
    - LWDEBUGF
    - getPoint4d_p
    - lwgeom_has_m
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_from_lwmpoint(int32_t srid, const LWMPOINT *mpoint)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:315,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:318,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwline.c:318,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwline.c:318,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwline.c:319,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:320,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwline.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - line
    - where
    argTypes:
    - LWLINE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: lwline_get_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwpoint_construct
    - FLAGS_GET_M
    - getPoint4d
    - lwline_is_empty
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwline_get_lwpoint(const LWLINE *line, uint32_t where)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:330,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/lwline.c:332,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwline.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - line
    - point
    - where
    argTypes:
    - LWLINE*
    - LWPOINT*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: lwline_add_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwgeom_refresh_bbox
    - ptarray_insert_point
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int lwline_add_lwpoint(LWLINE *line, LWPOINT *point, uint32_t where)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_removePoint
      Src: /src/postgis/liblwgeom/lwline.c:352,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:354,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwline.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - line
    - index
    argTypes:
    - LWLINE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: lwline_removepoint
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_removePoint
    - lwline_construct
    - lwgeom_add_bbox
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_removepoint(LWLINE *line, uint32_t index)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:366,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwline.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - line
    - index
    - newpoint
    argTypes:
    - LWLINE*
    - uint32_t
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: lwline_setPoint4d
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_set_point4d
    - lwgeom_refresh_bbox
    linkageType: ''
    returnType: void
    signature: void lwline_setPoint4d(LWLINE *line, uint32_t index, POINT4D *newpoint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:393,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwline.c:397,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwline.c:404,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/lwline.c:405,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwline.c:408,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/lwline.c:414,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwline.c:419,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:431,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - lwline
    - m_start
    - m_end
    argTypes:
    - LWLINE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 436
    functionName: lwline_measured_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 2
    functionsReached:
    - lwerror
    - ptarray_construct
    - getPoint3dz_p
    - ptarray_set_point4d
    - ptarray_length_2d
    - distance2d_pt_pt
    - lwline_construct
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_measured_from_lwline(const LWLINE *lwline, double m_start, double m_end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_remove_repeated_points
      Src: /src/postgis/liblwgeom/lwline.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lwline
    - tolerance
    argTypes:
    - LWLINE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: lwline_remove_repeated_points
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwgeom_remove_repeated_points
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_remove_repeated_points(const LWLINE *lwline, double tolerance)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwline.c:447,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/liblwgeom/lwline.c:448,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwline.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: lwline_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 1
    functionsReached:
    - ptarray_is_closed_2d
    - ptarray_is_closed_3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int lwline_is_closed(const LWLINE *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwline.c:456,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:458,1
    - Dst: getPoint3dm_p
      Src: /src/postgis/liblwgeom/lwline.c:471,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwline.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 483
    functionName: lwline_is_trajectory
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - getPoint3dm_p
    - FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int lwline_is_trajectory(const LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:492,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:494,1
    - Dst: ptarray_force_dims
      Src: /src/postgis/liblwgeom/lwline.c:498,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - line
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - LWLINE*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 503
    functionName: lwline_force_dims
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwline_construct_empty
    - lwline_is_empty
    - lwline_construct
    - ptarray_force_dims
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_force_dims(const LWLINE *line, int hasz, int hasm, double zval, double
      mval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwline.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/postgis/liblwgeom/lwline.c
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: lwline_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwline_count_vertices(const LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:515,1
    - Dst: ptarray_length
      Src: /src/postgis/liblwgeom/lwline.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: lwline_length
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwline_is_empty
    - ptarray_length
    linkageType: ''
    returnType: double
    signature: double lwline_length(const LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:522,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwline.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: lwline_length_2d
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - lwline_is_empty
    - ptarray_length_2d
    linkageType: ''
    returnType: double
    signature: double lwline_length_2d(const LWLINE *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwline.c:536,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwline.c:536,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwline.c:537,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwline.c:537,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:542,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:544,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:553,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:555,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwline.c:557,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:558,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwline.c:564,1
    - Dst: floor
      Src: /src/postgis/liblwgeom/lwline.c:565,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwline.c:566,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwline.c:568,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwline.c:571,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwline.c:572,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwline.c:580,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwline.c:581,1
    - Dst: interpolate_point4d
      Src: /src/postgis/liblwgeom/lwline.c:584,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:585,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:597,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwline.c:598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - line
    - length_fraction
    - repeat
    argTypes:
    - LWLINE*
    - double
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 602
    functionName: lwline_interpolate_points
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - getPoint2d_cp
    - lwline_as_lwgeom
    - ptarray_construct
    - interpolate_point4d
    - getPoint4d
    - lwgeom_has_z
    - ptarray_set_point4d
    - ptarray_length_2d
    - distance2d_pt_pt
    - floor
    - lwline_is_empty
    - getPoint4d_p
    - lwgeom_has_m
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * lwline_interpolate_points(const LWLINE *line, double length_fraction,
      char repeat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwline.c:611,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwline.c:612,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwline.c:613,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:617,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:619,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:628,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:630,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwline.c:632,1
    - Dst: ptarray_length
      Src: /src/postgis/liblwgeom/lwline.c:637,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:646,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:647,1
    - Dst: distance3d_pt_pt
      Src: /src/postgis/liblwgeom/lwline.c:650,1
    - Dst: interpolate_point4d
      Src: /src/postgis/liblwgeom/lwline.c:659,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwline.c:660,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:667,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwline.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - line
    - distance
    argTypes:
    - LWLINE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 669
    functionName: lwline_interpolate_point_3d
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_length
    - lwline_as_lwgeom
    - interpolate_point4d
    - distance3d_pt_pt
    - lwgeom_has_z
    - lwpoint_make
    - lwline_is_empty
    - getPoint4d_p
    - lwpoint_construct_empty
    - lwgeom_has_m
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwline_interpolate_point_3d(const LWLINE *line, double distance)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:681,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwline.c:683,1
    - Dst: lwline_count_vertices
      Src: /src/postgis/liblwgeom/lwline.c:683,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:685,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:693,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:694,1
    - Dst: p4d_same
      Src: /src/postgis/liblwgeom/lwline.c:695,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:699,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:702,1
    - Dst: project_pt_pt
      Src: /src/postgis/liblwgeom/lwline.c:704,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:712,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:713,1
    - Dst: p4d_same
      Src: /src/postgis/liblwgeom/lwline.c:714,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwline.c:718,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwline.c:721,1
    - Dst: project_pt_pt
      Src: /src/postgis/liblwgeom/lwline.c:723,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwline.c:727,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwline.c:727,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwline.c:727,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:731,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/lwline.c:733,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwline.c:736,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwline.c:738,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - line
    - distance_forward
    - distance_backward
    argTypes:
    - LWLINE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 739
    functionName: lwline_extend
    functionSourceFile: /src/postgis/liblwgeom/lwline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_ptarray
    - ptarray_has_z
    - lwerror
    - lwline_count_vertices
    - project_pt_pt
    - ptarray_append_point
    - p4d_same
    - ptarray_has_m
    - lwline_construct
    - lwline_is_empty
    - getPoint4d_p
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwline_extend(const LWLINE *line, double distance_forward, double distance_backward)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:40,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:40,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - p2
    - v
    argTypes:
    - POINT3DZ*
    - POINT3DZ*
    - VECTOR3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: get_3dvector_from_points
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - FP_IS_ZERO
    linkageType: ''
    returnType: int
    signature: int get_3dvector_from_points(const POINT3DZ *p1, const POINT3DZ *p2,
      VECTOR3D *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:50,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:50,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - v1
    - v2
    - v
    argTypes:
    - VECTOR3D*
    - VECTOR3D*
    - VECTOR3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: get_3dcross_product
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - FP_IS_ZERO
    linkageType: ''
    returnType: int
    signature: int get_3dcross_product(const VECTOR3D *v1, const VECTOR3D *v2, VECTOR3D
      *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:67,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:70,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:71,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p
    - pl
    - p0
    argTypes:
    - POINT3DZ*
    - PLANE3D*
    - POINT3DZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: project_point_on_plane
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - FP_IS_ZERO
    - DOT
    - get_3dvector_from_points
    linkageType: ''
    returnType: double
    signature: double project_point_on_plane(const POINT3DZ *p, PLANE3D *pl, POINT3DZ
      *p0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/measures3d.c:98,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/measures3d.c:103,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/measures3d.c:104,1
    - Dst: lwline_from_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - lwgeom
    - x
    - y
    - srid
    argTypes:
    - LWGEOM*
    - double
    - double
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: create_v_line
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lwpoint_make3dz
    - lwline_from_ptarray
    - lwgeom_calculate_gbox
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      create_v_line(const LWGEOM *lwgeom, double x, double y, int32_t srid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_distanceline
      Src: /src/postgis/liblwgeom/measures3d.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: lwgeom_closest_line_3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lw_dist3d_distanceline
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_closest_line_3d(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_distanceline
      Src: /src/postgis/liblwgeom/measures3d.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: lwgeom_furthest_line_3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lw_dist3d_distanceline
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_furthest_line_3d(LWGEOM *lw1, LWGEOM *lw2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_distancepoint
      Src: /src/postgis/liblwgeom/measures3d.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: lwgeom_closest_point_3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lw_dist3d_distancepoint
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_closest_point_3d(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:133,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:147,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:147,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/measures3d.c:150,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:153,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:153,1
    - Dst: lw_dist2d_distanceline
      Src: /src/postgis/liblwgeom/measures3d.c:154,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures3d.c:160,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:163,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:164,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:167,1
    - Dst: create_v_line
      Src: /src/postgis/liblwgeom/measures3d.c:172,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:173,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:176,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:177,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:178,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:180,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:182,1
    - Dst: create_v_line
      Src: /src/postgis/liblwgeom/measures3d.c:187,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:188,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:191,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:192,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:193,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:195,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:200,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:203,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:204,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:210,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:211,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/measures3d.c:222,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/measures3d.c:223,1
    - Dst: lwline_from_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 4
    argNames:
    - lw1
    - lw2
    - srid
    - mode
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 229
    functionName: lw_dist3d_distanceline
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 2
    functionsReached:
    - lwpoint_make3dz
    - lw_dist2d_distanceline
    - lw_dist3d_recursive
    - LWDEBUG
    - lwerror
    - create_v_line
    - lwcollection_construct_empty
    - lwline_from_ptarray
    - lwgeom_has_z
    - lwfree
    - lwnotice
    - lw_dist2d_comp
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lw_dist3d_distanceline(const LWGEOM *lw1, const LWGEOM *lw2, int32_t srid, int
      mode)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:247,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:253,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:253,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/measures3d.c:255,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:258,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:258,1
    - Dst: lw_dist2d_distancepoint
      Src: /src/postgis/liblwgeom/measures3d.c:259,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures3d.c:265,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:268,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:269,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:273,1
    - Dst: create_v_line
      Src: /src/postgis/liblwgeom/measures3d.c:278,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:279,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:282,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:283,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:284,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:286,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:289,1
    - Dst: create_v_line
      Src: /src/postgis/liblwgeom/measures3d.c:294,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:295,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:298,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:299,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:300,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures3d.c:302,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:307,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:310,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:311,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:316,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures3d.c:317,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/liblwgeom/measures3d.c:324,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 4
    argNames:
    - lw1
    - lw2
    - srid
    - mode
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 328
    functionName: lw_dist3d_distancepoint
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lwpoint_make3dz
    - lw_dist3d_recursive
    - LWDEBUG
    - lwerror
    - lw_dist2d_distancepoint
    - lwcollection_construct_empty
    - create_v_line
    - lwgeom_has_z
    - lwfree
    - lwnotice
    - lw_dist2d_comp
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lw_dist3d_distancepoint(const LWGEOM *lw1, const LWGEOM *lw2, int32_t srid,
      int mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_maxdistance3d_tolerance
      Src: /src/postgis/liblwgeom/measures3d.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: lwgeom_maxdistance3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lwgeom_maxdistance3d_tolerance
    linkageType: ''
    returnType: double
    signature: double lwgeom_maxdistance3d(const LWGEOM *lw1, const LWGEOM *lw2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:346,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:346,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/measures3d.c:348,1
    - Dst: lwgeom_maxdistance2d_tolerance
      Src: /src/postgis/liblwgeom/measures3d.c:350,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:353,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:357,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - lw1
    - lw2
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: lwgeom_maxdistance3d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_recursive
    - LWDEBUG
    - lwerror
    - lwgeom_maxdistance2d_tolerance
    - lwgeom_has_z
    - lwnotice
    linkageType: ''
    returnType: double
    signature: double lwgeom_maxdistance3d_tolerance(const LWGEOM *lw1, const LWGEOM
      *lw2, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_mindistance3d_tolerance
      Src: /src/postgis/liblwgeom/measures3d.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: lwgeom_mindistance3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lwgeom_mindistance3d_tolerance
    linkageType: ''
    returnType: double
    signature: double lwgeom_mindistance3d(const LWGEOM *lw1, const LWGEOM *lw2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: gbox_contains_3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gbox_contains_3d(const GBOX *g1, const GBOX *g2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/measures3d.c:388,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/measures3d.c:391,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/measures3d.c:392,1
    - Dst: gbox_contains_3d
      Src: /src/postgis/liblwgeom/measures3d.c:395,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/measures3d.c:401,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/measures3d.c:402,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/measures3d.c:410,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/measures3d.c:414,1
    - Dst: lwpoly_contains_point
      Src: /src/postgis/liblwgeom/measures3d.c:421,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures3d.c:435,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/measures3d.c:447,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/measures3d.c:448,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/measures3d.c:449,1
    - Dst: lwrandom_uniform
      Src: /src/postgis/liblwgeom/measures3d.c:454,1
    - Dst: lwrandom_uniform
      Src: /src/postgis/liblwgeom/measures3d.c:455,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/measures3d.c:458,1
    - Dst: lwgeom_affine
      Src: /src/postgis/liblwgeom/measures3d.c:459,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/measures3d.c:461,1
    - Dst: lwgeom_affine
      Src: /src/postgis/liblwgeom/measures3d.c:462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - solid
    - g
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 381
    functionDepth: 6
    functionLinenumber: 381
    functionLinenumberEnd: 469
    functionName: lwgeom_solid_contains_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - ptarray_contains_point
    - lwgeom_free
    - FLAGS_GET_SOLID
    - lwcollection_free
    - lwgeom_clone_deep
    - gbox_contains_3d
    - lwpoly_contains_point
    - lwgeom_affine
    - lwrandom_uniform
    - lwgeom_clip_to_ordinate_range
    - lwgeom_startpoint
    linkageType: ''
    returnType: int
    signature: int lwgeom_solid_contains_lwgeom(const LWGEOM *solid, const LWGEOM
      *g)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/measures3d.c:478,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:479,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/measures3d.c:479,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/measures3d.c:481,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/measures3d.c:484,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:491,1
    - Dst: lwgeom_solid_contains_lwgeom
      Src: /src/postgis/liblwgeom/measures3d.c:495,1
    - Dst: lwgeom_solid_contains_lwgeom
      Src: /src/postgis/liblwgeom/measures3d.c:495,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - lw1
    - lw2
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts:
    - condition: (tolerance >= 0)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/postgis/liblwgeom/measures3d.c
    constantsTouched: []
    func_position:
      end: 504
      start: 475
    functionDepth: 7
    functionLinenumber: 475
    functionLinenumberEnd: 504
    functionName: lwgeom_mindistance3d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_recursive
    - assert
    - lwgeom_solid_contains_lwgeom
    - lwerror
    - lwgeom_has_z
    - lwnotice
    - lwgeom_mindistance2d_tolerance
    linkageType: ''
    returnType: double
    signature: double lwgeom_mindistance3d_tolerance(const LWGEOM *lw1, const LWGEOM
      *lw2, double tolerance)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:529,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:531,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:533,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/measures3d.c:534,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:537,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:539,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/measures3d.c:540,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:546,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures3d.c:551,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:554,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:556,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:557,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:563,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures3d.c:568,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/measures3d.c:571,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:573,1
    - Dst: lw_dist3d_recursive
      Src: /src/postgis/liblwgeom/measures3d.c:574,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures3d.c:581,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures3d.c:581,1
    - Dst: lw_dist3d_distribute_bruteforce
      Src: /src/postgis/liblwgeom/measures3d.c:584,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 3
    argNames:
    - lwg1
    - lwg2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 591
    functionName: lw_dist3d_recursive
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 5
    functionsReached:
    - lw_dist3d_recursive
    - lwgeom_is_collection
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lwgeom_is_empty
    - lw_dist3d_distribute_bruteforce
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_recursive(const LWGEOM *lwg1, const LWGEOM *lwg2, DISTPTS3D
      *dl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:603,1
    - Dst: lw_dist3d_point_point
      Src: /src/postgis/liblwgeom/measures3d.c:610,1
    - Dst: lw_dist3d_point_line
      Src: /src/postgis/liblwgeom/measures3d.c:615,1
    - Dst: lw_dist3d_point_poly
      Src: /src/postgis/liblwgeom/measures3d.c:620,1
    - Dst: lw_dist3d_point_tri
      Src: /src/postgis/liblwgeom/measures3d.c:625,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:629,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures3d.c:629,1
    - Dst: lw_dist3d_point_line
      Src: /src/postgis/liblwgeom/measures3d.c:638,1
    - Dst: lw_dist3d_line_line
      Src: /src/postgis/liblwgeom/measures3d.c:643,1
    - Dst: lw_dist3d_line_poly
      Src: /src/postgis/liblwgeom/measures3d.c:648,1
    - Dst: lw_dist3d_line_tri
      Src: /src/postgis/liblwgeom/measures3d.c:653,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:657,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures3d.c:657,1
    - Dst: lw_dist3d_poly_poly
      Src: /src/postgis/liblwgeom/measures3d.c:666,1
    - Dst: lw_dist3d_point_poly
      Src: /src/postgis/liblwgeom/measures3d.c:671,1
    - Dst: lw_dist3d_line_poly
      Src: /src/postgis/liblwgeom/measures3d.c:676,1
    - Dst: lw_dist3d_poly_tri
      Src: /src/postgis/liblwgeom/measures3d.c:681,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:685,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures3d.c:685,1
    - Dst: lw_dist3d_poly_tri
      Src: /src/postgis/liblwgeom/measures3d.c:694,1
    - Dst: lw_dist3d_point_tri
      Src: /src/postgis/liblwgeom/measures3d.c:699,1
    - Dst: lw_dist3d_line_tri
      Src: /src/postgis/liblwgeom/measures3d.c:704,1
    - Dst: lw_dist3d_tri_tri
      Src: /src/postgis/liblwgeom/measures3d.c:709,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:713,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures3d.c:713,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:720,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures3d.c:720,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 3
    argNames:
    - lwg1
    - lwg2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 723
    functionName: lw_dist3d_distribute_bruteforce
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_point_tri
    - lw_dist3d_point_poly
    - lwerror
    - lw_dist3d_poly_poly
    - lw_dist3d_tri_tri
    - lw_dist3d_line_line
    - lw_dist3d_point_line
    - lw_dist3d_point_point
    - lw_dist3d_poly_tri
    - lw_dist3d_line_poly
    - lwtype_name
    - LWDEBUGF
    - lw_dist3d_line_tri
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_distribute_bruteforce(const LWGEOM *lwg1, const LWGEOM
      *lwg2, DISTPTS3D *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:743,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:745,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:746,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - point1
    - point2
    - dl
    argTypes:
    - LWPOINT*
    - LWPOINT*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: lw_dist3d_point_point
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - getPoint3dz_p
    - lw_dist3d_pt_pt
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_point_point(const LWPOINT *point1, const LWPOINT *point2,
      DISTPTS3D *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:759,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:761,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - point
    - line
    - dl
    argTypes:
    - LWPOINT*
    - LWLINE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 763
    functionName: lw_dist3d_point_line
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - getPoint3dz_p
    - lw_dist3d_pt_ptarray
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_point_line(const LWPOINT *point, const LWLINE *line,
      DISTPTS3D *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:782,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:783,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:787,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:790,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:793,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:797,1
    - Dst: lw_dist3d_pt_poly
      Src: /src/postgis/liblwgeom/measures3d.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - point
    - poly
    - dl
    argTypes:
    - LWPOINT*
    - LWPOLY*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 800
    functionName: lw_dist3d_point_poly
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - define_plane
    - lw_dist3d_pt_poly
    - LWDEBUG
    - project_point_on_plane
    - getPoint3dz_p
    - lw_dist3d_pt_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_point_poly(const LWPOINT *point, const LWPOLY *poly,
      DISTPTS3D *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:808,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:812,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:815,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:816,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:819,1
    - Dst: lw_dist3d_pt_tri
      Src: /src/postgis/liblwgeom/measures3d.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - point
    - tri
    - dl
    argTypes:
    - LWPOINT*
    - LWTRIANGLE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 822
    functionName: lw_dist3d_point_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - define_plane
    - project_point_on_plane
    - getPoint3dz_p
    - lw_dist3d_pt_ptarray
    - lw_dist3d_pt_tri
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_point_tri(const LWPOINT *point, const LWTRIANGLE *tri,
      DISTPTS3D *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:830,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - line1
    - line2
    - dl
    argTypes:
    - LWLINE*
    - LWLINE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 833
    functionName: lw_dist3d_line_line
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_ptarray
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_line_line(const LWLINE *line1, const LWLINE *line2, DISTPTS3D
      *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:840,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:843,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:846,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:847,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - line
    - poly
    - dl
    argTypes:
    - LWLINE*
    - LWPOLY*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 850
    functionName: lw_dist3d_line_poly
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_poly
    - define_plane
    - lw_dist3d_ptarray_ptarray
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_line_poly(const LWLINE *line, const LWPOLY *poly, DISTPTS3D
      *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:859,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:862,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:863,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - line
    - tri
    - dl
    argTypes:
    - LWLINE*
    - LWTRIANGLE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 866
    functionName: lw_dist3d_line_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_tri
    - define_plane
    - lw_dist3d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_line_tri(const LWLINE *line, const LWTRIANGLE *tri, DISTPTS3D
      *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures3d.c:874,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:876,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:878,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:879,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:885,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:889,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:893,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:899,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - poly1
    - poly2
    - dl
    argTypes:
    - LWPOLY*
    - LWPOLY*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 907
    functionName: lw_dist3d_poly_poly
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_poly
    - define_plane
    - lw_dist3d_ptarray_ptarray
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_poly_poly(const LWPOLY *poly1, const LWPOLY *poly2, DISTPTS3D
      *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:917,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:919,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:920,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:926,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:930,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:934,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:940,1
    - Dst: lw_dist3d_ptarray_poly
      Src: /src/postgis/liblwgeom/measures3d.c:947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - poly
    - tri
    - dl
    argTypes:
    - LWPOLY*
    - LWTRIANGLE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 948
    functionName: lw_dist3d_poly_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_poly
    - lw_dist3d_ptarray_tri
    - define_plane
    - lw_dist3d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_poly_tri(const LWPOLY *poly, const LWTRIANGLE *tri, DISTPTS3D
      *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:958,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:960,1
    - Dst: define_plane
      Src: /src/postgis/liblwgeom/measures3d.c:961,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:967,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:971,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:975,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:981,1
    - Dst: lw_dist3d_ptarray_tri
      Src: /src/postgis/liblwgeom/measures3d.c:988,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - tri1
    - tri2
    - dl
    argTypes:
    - LWTRIANGLE*
    - LWTRIANGLE*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 989
    functionName: lw_dist3d_tri_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_ptarray_tri
    - define_plane
    - lw_dist3d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_tri_tri(const LWTRIANGLE *tri1, const LWTRIANGLE *tri2,
      DISTPTS3D *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1004,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1009,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - p
    - pa
    - dl
    argTypes:
    - POINT3DZ*
    - POINTARRAY*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1019
    functionName: lw_dist3d_pt_ptarray
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 3
    functionsReached:
    - getPoint3dz_p
    - lw_dist3d_pt_seg
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_pt_ptarray(const POINT3DZ *p, const POINTARRAY *pa, DISTPTS3D
      *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1033,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1046,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1048,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1052,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1054,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1062,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - p
    - A
    - B
    - dl
    argTypes:
    - POINT3DZ*
    - POINT3DZ*
    - POINT3DZ*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1063
    functionName: lw_dist3d_pt_seg
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_pt_pt
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_pt_seg(const POINT3DZ *p, const POINT3DZ *A, const POINT3DZ
      *B, DISTPTS3D *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures3d.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1072
    functionName: distance3d_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 4
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double distance3d_pt_pt(const POINT3D *p1, const POINT3D *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures3d.c:1087,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - thep1
    - thep2
    - dl
    argTypes:
    - POINT3DZ*
    - POINT3DZ*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1115
    functionName: lw_dist3d_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 2
    functionsReached:
    - LWDEBUGF
    - sqrt
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_pt_pt(const POINT3DZ *thep1, const POINT3DZ *thep2, DISTPTS3D
      *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1128,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1135,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1138,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1139,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1145,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1148,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1149,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1152,1
    - Dst: lw_dist3d_seg_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1154,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1155,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - l1
    - l2
    - dl
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1166
    functionName: lw_dist3d_ptarray_ptarray
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 6
    functionsReached:
    - getPoint3dz_p
    - LWDEBUGF
    - lw_dist3d_seg_seg
    - lw_dist3d_pt_pt
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_ptarray_ptarray(const POINTARRAY *l1, const POINTARRAY
      *l2, DISTPTS3D *dl)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: p3dz_same
      Src: /src/postgis/liblwgeom/measures3d.c:1182,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1184,1
    - Dst: p3dz_same
      Src: /src/postgis/liblwgeom/measures3d.c:1187,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1190,1
    - Dst: p3dz_same
      Src: /src/postgis/liblwgeom/measures3d.c:1193,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1205,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1208,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1211,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:1214,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:1215,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:1216,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:1217,1
    - Dst: DOT
      Src: /src/postgis/liblwgeom/measures3d.c:1218,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1244,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1249,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1255,1
    - Dst: lw_dist3d_pt_seg
      Src: /src/postgis/liblwgeom/measures3d.c:1261,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1275,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - s1p1
    - s1p2
    - s2p1
    - s2p2
    - dl
    argTypes:
    - POINT3DZ*
    - POINT3DZ*
    - POINT3DZ*
    - POINT3DZ*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1281
    functionName: lw_dist3d_seg_seg
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - get_3dvector_from_points
    - lw_dist3d_pt_pt
    - DOT
    - lw_dist3d_pt_seg
    - p3dz_same
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_seg_seg(const POINT3DZ *s1p1, const POINT3DZ *s1p2, const
      POINT3DZ *s2p1, const POINT3DZ *s2p2, DISTPTS3D *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1295,1
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1300,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:1301,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1306,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:1311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - p
    - poly
    - plane
    - projp
    - dl
    argTypes:
    - POINT3DZ*
    - LWPOLY*
    - PLANE3D*
    - POINT3DZ*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1314
    functionName: lw_dist3d_pt_poly
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_pt_pt
    - lw_dist3d_pt_ptarray
    - pt_in_ring_3d
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_pt_poly(const POINT3DZ *p, const LWPOLY *poly, PLANE3D
      *plane, POINT3DZ *projp, DISTPTS3D *dl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1319,1
    - Dst: lw_dist3d_pt_pt
      Src: /src/postgis/liblwgeom/measures3d.c:1322,1
    - Dst: lw_dist3d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:1326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - p
    - tri
    - plane
    - projp
    - dl
    argTypes:
    - POINT3DZ*
    - LWTRIANGLE*
    - PLANE3D*
    - POINT3DZ*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1329
    functionName: lw_dist3d_pt_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 1
    functionsReached:
    - lw_dist3d_pt_pt
    - lw_dist3d_pt_ptarray
    - pt_in_ring_3d
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_pt_tri(const POINT3DZ *p, const LWTRIANGLE *tri, PLANE3D
      *plane, POINT3DZ *projp, DISTPTS3D *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1340,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:1343,1
    - Dst: lw_dist3d_pt_poly
      Src: /src/postgis/liblwgeom/measures3d.c:1344,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1351,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:1352,1
    - Dst: lw_dist3d_pt_poly
      Src: /src/postgis/liblwgeom/measures3d.c:1353,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1362,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1362,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1362,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1363,1
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1373,1
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1378,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:1406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - pa
    - poly
    - plane
    - dl
    argTypes:
    - POINTARRAY*
    - LWPOLY*
    - PLANE3D*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1409
    functionName: lw_dist3d_ptarray_poly
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 3
    functionsReached:
    - lw_dist3d_pt_poly
    - get_3dvector_from_points
    - fabs
    - project_point_on_plane
    - getPoint3dz_p
    - pt_in_ring_3d
    - lw_dist3d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_ptarray_poly(const POINTARRAY *pa, const LWPOLY *poly,
      PLANE3D *plane, DISTPTS3D *dl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1420,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:1423,1
    - Dst: lw_dist3d_pt_tri
      Src: /src/postgis/liblwgeom/measures3d.c:1424,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1431,1
    - Dst: project_point_on_plane
      Src: /src/postgis/liblwgeom/measures3d.c:1432,1
    - Dst: lw_dist3d_pt_tri
      Src: /src/postgis/liblwgeom/measures3d.c:1433,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1443,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1443,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1443,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1444,1
    - Dst: pt_in_ring_3d
      Src: /src/postgis/liblwgeom/measures3d.c:1454,1
    - Dst: lw_dist3d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures3d.c:1477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - pa
    - tri
    - plane
    - dl
    argTypes:
    - POINTARRAY*
    - LWTRIANGLE*
    - PLANE3D*
    - DISTPTS3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1412
    functionDepth: 3
    functionLinenumber: 1412
    functionLinenumberEnd: 1479
    functionName: lw_dist3d_ptarray_tri
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 3
    functionsReached:
    - lw_dist3d_ptarray_ptarray
    - get_3dvector_from_points
    - fabs
    - project_point_on_plane
    - getPoint3dz_p
    - pt_in_ring_3d
    - lw_dist3d_pt_tri
    linkageType: ''
    returnType: int
    signature: int lw_dist3d_ptarray_tri(const POINTARRAY *pa, const LWTRIANGLE *tri,
      PLANE3D *plane, DISTPTS3D *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/measures3d.c:1495,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/measures3d.c:1496,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1513,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1537,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1538,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1541,1
    - Dst: get_3dvector_from_points
      Src: /src/postgis/liblwgeom/measures3d.c:1542,1
    - Dst: get_3dcross_product
      Src: /src/postgis/liblwgeom/measures3d.c:1545,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:1556,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:1556,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/measures3d.c:1556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pa
    - pl
    argTypes:
    - POINTARRAY*
    - PLANE3D*
    assertStmts:
    - condition: (pa)
      pos:
        line_end: 1494
        line_start: 1494
        source_file: /src/postgis/liblwgeom/measures3d.c
    - condition: (pa->npoints > 3)
      pos:
        line_end: 1495
        line_start: 1495
        source_file: /src/postgis/liblwgeom/measures3d.c
    constantsTouched: []
    func_position:
      end: 1557
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1557
    functionName: define_plane
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 7
    functionsReached:
    - assert
    - get_3dcross_product
    - get_3dvector_from_points
    - FP_IS_ZERO
    - getPoint3dz_p
    linkageType: ''
    returnType: int
    signature: int define_plane(const POINTARRAY *pa, PLANE3D *pl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1582,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1583,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/measures3d.c:1584,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures3d.c:1586,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1596,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1600,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1602,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1602,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1603,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1603,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1609,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1631,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1631,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1632,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures3d.c:1632,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1638,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/measures3d.c:1665,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures3d.c:1687,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 3
    argNames:
    - p
    - ring
    - plane
    argTypes:
    - POINT3DZ*
    - POINTARRAY*
    - PLANE3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1690
    functionName: pt_in_ring_3d
    functionSourceFile: /src/postgis/liblwgeom/measures3d.c
    functionUses: 4
    functionsReached:
    - lwerror
    - fabs
    - getPoint3dz_p
    - LWDEBUGF
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pt_in_ring_3d(const POINT3DZ *p, const POINTARRAY *ring, PLANE3D
      *plane)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:99,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwin_wkb.c:101,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:104,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:111,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - hexbuf
    - hexsize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: bytes_from_hexbytes
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwalloc
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * bytes_from_hexbytes(const char *hexbuf, size_t hexsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - next
    argTypes:
    - wkb_parse_state*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: wkb_parse_state_check
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: void
    signature: void wkb_parse_state_check(wkb_parse_state *s, size_t next)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:149,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:161,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:169,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:251,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:255,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:255,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 2
    argNames:
    - s
    - wkb_type
    argTypes:
    - wkb_parse_state*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 258
    functionName: lwtype_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwtype_name
    - LWDEBUGF
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void lwtype_from_wkb_state(wkb_parse_state *s, uint32_t wkb_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:267,1
    - Dst: wkb_parse_state_check
      Src: /src/postgis/liblwgeom/lwin_wkb.c:269,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:272,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: byte_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - wkb_parse_state_check
    - LWDEBUGF
    - LWDEBUG
    linkageType: ''
    returnType: char
    signature: char byte_from_wkb_state(wkb_parse_state *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wkb_parse_state_check
      Src: /src/postgis/liblwgeom/lwin_wkb.c:289,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwin_wkb.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 311
    functionName: integer_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - memcpy
    - wkb_parse_state_check
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t integer_from_wkb_state(wkb_parse_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwin_wkb.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 340
    functionName: double_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: double
    signature: double double_from_wkb_state(wkb_parse_state *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:356,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:363,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:367,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:375,1
    - Dst: wkb_parse_state_check
      Src: /src/postgis/liblwgeom/lwin_wkb.c:378,1
    - Dst: ptarray_construct_copy_data
      Src: /src/postgis/liblwgeom/lwin_wkb.c:385,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:393,1
    - Dst: double_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 402
    functionName: ptarray_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - integer_from_wkb_state
    - double_from_wkb_state
    - wkb_parse_state_check
    - lwerror
    - ptarray_construct
    - LWDEBUGF
    - ptarray_construct_copy_data
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_from_wkb_state(wkb_parse_state *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wkb_parse_state_check
      Src: /src/postgis/liblwgeom/lwin_wkb.c:427,1
    - Dst: ptarray_construct_copy_data
      Src: /src/postgis/liblwgeom/lwin_wkb.c:434,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:442,1
    - Dst: double_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:446,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwin_wkb.c:451,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwin_wkb.c:452,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwin_wkb.c:452,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:454,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:455,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 461
    functionName: lwpoint_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - double_from_wkb_state
    - wkb_parse_state_check
    - ptarray_free
    - ptarray_construct
    - lwpoint_construct
    - isnan
    - lwpoint_construct_empty
    - ptarray_construct_copy_data
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwpoint_from_wkb_state(wkb_parse_state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:473,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:480,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:481,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:486,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:486,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 491
    functionName: lwline_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - ptarray_free
    - lwline_construct_empty
    - lwerror
    - lwtype_name
    - ptarray_from_wkb_state
    - lwline_construct
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_from_wkb_state(wkb_parse_state *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:504,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:511,1
    - Dst: lwcircstring_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:512,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:517,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:517,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:523,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:523,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:527,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 528
    functionName: lwcircstring_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - lwcircstring_construct
    - ptarray_free
    - lwerror
    - lwcircstring_construct_empty
    - lwtype_name
    - ptarray_from_wkb_state
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: LWCIRCSTRING * lwcircstring_from_wkb_state(wkb_parse_state *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:540,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:544,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:546,1
    - Dst: ptarray_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:554,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:557,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:564,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:565,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:566,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:566,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:567,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:567,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwin_wkb.c:572,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:574,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:575,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:576,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:576,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:577,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:577,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkb.c:582,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:584,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:585,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:586,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 593
    functionName: lwpoly_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - integer_from_wkb_state
    - lwpoly_add_ring
    - ptarray_is_closed_2d
    - lwpoly_free
    - ptarray_free
    - lwerror
    - LWDEBUG
    - lwpoly_construct_empty
    - lwtype_name
    - LWDEBUGF
    - ptarray_from_wkb_state
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_from_wkb_state(wkb_parse_state *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:605,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:611,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:616,1
    - Dst: ptarray_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:620,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:624,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:629,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:630,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:630,1
    - Dst: ptarray_is_closed_z
      Src: /src/postgis/liblwgeom/lwin_wkb.c:634,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:636,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:637,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:637,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwin_wkb.c:642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 643
    functionName: lwtriangle_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - integer_from_wkb_state
    - ptarray_free
    - lwerror
    - lwtriangle_construct
    - ptarray_is_closed_z
    - lwtriangle_construct_empty
    - lwtype_name
    - ptarray_from_wkb_state
    linkageType: ''
    returnType: LWTRIANGLE
    signature: LWTRIANGLE * lwtriangle_from_wkb_state(wkb_parse_state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:650,1
    - Dst: lwcurvepoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:653,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:664,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:665,1
    - Dst: lwgeom_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:670,1
    - Dst: lwcurvepoly_add_ring
      Src: /src/postgis/liblwgeom/lwin_wkb.c:671,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:673,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:674,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 682
    functionName: lwcurvepoly_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - integer_from_wkb_state
    - lwgeom_free
    - lwerror
    - lwcurvepoly_add_ring
    - lwcurvepoly_construct_empty
    - lwgeom_from_wkb_state
    linkageType: ''
    returnType: LWCURVEPOLY
    signature: LWCURVEPOLY * lwcurvepoly_from_wkb_state(wkb_parse_state *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:695,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_wkb.c:698,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:702,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:715,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:716,1
    - Dst: lwgeom_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:721,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_wkb.c:722,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:724,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwin_wkb.c:725,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 733
    functionName: lwcollection_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - integer_from_wkb_state
    - lwgeom_free
    - lwerror
    - lwcollection_construct_empty
    - lwcollection_free
    - LWDEBUGF
    - lwgeom_from_wkb_state
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_from_wkb_state(wkb_parse_state *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:748,1
    - Dst: byte_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:751,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_wkb.c:756,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:757,1
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:772,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:775,1
    - Dst: lwtype_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:776,1
    - Dst: clamp_srid
      Src: /src/postgis/liblwgeom/lwin_wkb.c:781,1
    - Dst: integer_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:781,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_wkb.c:785,1
    - Dst: lwpoint_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:792,1
    - Dst: lwline_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:795,1
    - Dst: lwcircstring_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:798,1
    - Dst: lwpoly_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:801,1
    - Dst: lwtriangle_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:804,1
    - Dst: lwcurvepoly_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:807,1
    - Dst: lwcollection_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:818,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:823,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_wkb.c:823,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - s
    argTypes:
    - wkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 743
    functionDepth: 5
    functionLinenumber: 743
    functionLinenumberEnd: 829
    functionName: lwgeom_from_wkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 2
    functionsReached:
    - integer_from_wkb_state
    - lwcurvepoly_from_wkb_state
    - lwcollection_from_wkb_state
    - byte_from_wkb_state
    - lwerror
    - LWDEBUG
    - lwtype_from_wkb_state
    - lwpoint_from_wkb_state
    - lwline_from_wkb_state
    - lwpoly_from_wkb_state
    - lwtriangle_from_wkb_state
    - clamp_srid
    - lwtype_name
    - lwcircstring_from_wkb_state
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_wkb_state(wkb_parse_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkb_state
      Src: /src/postgis/liblwgeom/lwin_wkb.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - wkb
    - wkb_size
    - check
    argTypes:
    - uint8_t*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 842
    functionDepth: 6
    functionLinenumber: 842
    functionLinenumberEnd: 864
    functionName: lwgeom_from_wkb
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_wkb_state
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_wkb(const uint8_t *wkb, const size_t wkb_size,
      const char check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_wkb.c:874,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwin_wkb.c:878,1
    - Dst: bytes_from_hexbytes
      Src: /src/postgis/liblwgeom/lwin_wkb.c:879,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/lwin_wkb.c:880,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwin_wkb.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hexwkb
    - check
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 866
    functionDepth: 7
    functionLinenumber: 866
    functionLinenumberEnd: 883
    functionName: lwgeom_from_hexwkb
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkb.c
    functionUses: 0
    functionsReached:
    - bytes_from_hexbytes
    - lwerror
    - strlen
    - lwfree
    - lwgeom_from_wkb
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_hexwkb(const char *hexwkb, const char check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pt
    argTypes:
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: to_rad
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_rad(POINT4D *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pt
    argTypes:
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: to_dec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_dec(POINT4D *pt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_crs_to_crs
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:59,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:66,1
    - Dst: proj_get_source_crs
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:68,1
    - Dst: proj_get_type
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:70,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:73,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:74,1
    - Dst: proj_get_ellipsoid
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:79,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:80,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:83,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:84,1
    - Dst: proj_ellipsoid_get_parameters
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:87,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:94,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:95,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:96,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:99,1
    - Dst: proj_normalize_for_visualization
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:103,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:109,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - str_in
    - str_out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: lwproj_from_str
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - strcmp
    - proj_get_ellipsoid
    - proj_get_source_crs
    - lwerror
    - proj_ellipsoid_get_parameters
    - proj_normalize_for_visualization
    - proj_get_type
    - lwalloc
    - proj_destroy
    - proj_create_crs_to_crs
    linkageType: ''
    returnType: LWPROJ
    signature: 'LWPROJ *

      lwproj_from_str(const char* str_in, const char* str_out)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proj_create
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:128,1
    - Dst: proj_is_crs
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:133,1
    - Dst: proj_normalize_for_visualization
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:137,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:142,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - str_pipeline
    - is_forward
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 154
    functionName: lwproj_from_str_pipeline
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - proj_is_crs
    - proj_normalize_for_visualization
    - lwalloc
    - proj_destroy
    - proj_create
    linkageType: ''
    returnType: LWPROJ
    signature: 'LWPROJ *

      lwproj_from_str_pipeline(const char* str_pipeline, bool is_forward)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwproj_from_str
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:159,1
    - Dst: proj_create
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:162,1
    - Dst: proj_errno_reset
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:165,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:166,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:168,1
    - Dst: proj_create
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:170,1
    - Dst: proj_errno_reset
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:173,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:174,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:176,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:177,1
    - Dst: lwgeom_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:180,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:181,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - geom
    - instr
    - outstr
    argTypes:
    - LWGEOM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: lwgeom_transform_from_str
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwproj_from_str
    - lwfree
    - proj_create
    - proj_destroy
    - proj_errno_reset
    - lwgeom_transform
    linkageType: ''
    returnType: int
    signature: int lwgeom_transform_from_str(LWGEOM *geom, const char* instr, const
      char* outstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwproj_from_str_pipeline
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:189,1
    - Dst: proj_create
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:192,1
    - Dst: proj_errno_reset
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:195,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:196,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:198,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:199,1
    - Dst: lwgeom_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:202,1
    - Dst: proj_destroy
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:203,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - geom
    - pipelinestr
    - is_forward
    argTypes:
    - LWGEOM*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: lwgeom_transform_pipeline
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwfree
    - lwproj_from_str_pipeline
    - proj_errno_reset
    - proj_destroy
    - proj_create
    - lwgeom_transform
    linkageType: ''
    returnType: int
    signature: int lwgeom_transform_pipeline(LWGEOM *geom, const char* pipelinestr,
      bool is_forward)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:212,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:214,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:217,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:220,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:223,1
    - Dst: ptarray_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:225,1
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - gbox
    - pj
    argTypes:
    - GBOX*
    - LWPROJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: box3d_transform
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - ptarray_transform
    - ptarray_construct
    - ptarray_set_point4d
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: int
    signature: int box3d_transform(GBOX *gbox, LWPROJ *pj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:236,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:237,1
    - Dst: proj_angular_input
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:243,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:247,1
    - Dst: to_rad
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:248,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:249,1
    - Dst: proj_trans
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:259,1
    - Dst: proj_errno_reset
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:261,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:264,1
    - Dst: proj_errno_string
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:264,1
    - Dst: proj_trans_generic
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:282,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:300,1
    - Dst: proj_errno_reset
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:304,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:307,1
    - Dst: proj_errno_string
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:307,1
    - Dst: proj_angular_output
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:313,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:317,1
    - Dst: to_dec
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:318,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - pa
    - pj
    argTypes:
    - POINTARRAY*
    - LWPROJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 324
    functionName: ptarray_transform
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 1
    functionsReached:
    - to_rad
    - ptarray_point_size
    - ptarray_has_z
    - lwerror
    - proj_angular_input
    - proj_angular_output
    - ptarray_set_point4d
    - to_dec
    - proj_trans_generic
    - proj_errno_reset
    - proj_errno_string
    - proj_trans
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_transform(POINTARRAY *pa, LWPROJ *pj)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:336,1
    - Dst: ptarray_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:347,1
    - Dst: ptarray_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:355,1
    - Dst: lwgeom_transform
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:373,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:379,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_transform.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - geom
    - pj
    argTypes:
    - LWGEOM*
    - LWPROJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 385
    functionName: lwgeom_transform
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_transform.c
    functionUses: 3
    functionsReached:
    - ptarray_transform
    - lwerror
    - lwgeom_is_empty
    - lwtype_name
    - lwgeom_transform
    linkageType: ''
    returnType: int
    signature: int lwgeom_transform(LWGEOM *geom, LWPROJ *pj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: YY_SC_TO_UI
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_SC_TO_UI(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: YY_STATE_EOF
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_STATE_EOF(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 432
    functionName: yyless
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyless(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: unput
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unput(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is_interactive
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: yy_set_interactive
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yy_set_interactive(is_interactive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - at_bol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 582
    functionName: yy_set_bol
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yy_set_bol(at_bol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: YY_AT_BOL
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_AT_BOL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: yymore
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yymore()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: wkt_lexer_unknown
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wkt_lexer_unknown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - result
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1041
    functionName: YY_INPUT
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_INPUT(buf,result,max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1049
    functionName: yyterminate
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyterminate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1059
    functionName: YY_FATAL_ERROR
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YY_FATAL_ERROR(msg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1490,1
    - Dst: yyrealloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1551,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1559,1
    - Dst: YY_INPUT
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1573,1
    - Dst: yyrestart
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1584,1
    - Dst: yyrealloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1601,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1604,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1616
    functionName: yy_get_next_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yyrealloc
    - YY_INPUT
    - YY_FATAL_ERROR
    - yyrestart
    linkageType: ''
    returnType: int
    signature: int yy_get_next_buffer (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: YY_SC_TO_UI
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1645
    functionName: yy_get_previous_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - YY_SC_TO_UI
    linkageType: ''
    returnType: yy_state_type
    signature: yy_state_type yy_get_previous_state (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - yy_current_state
    argTypes:
    - yy_state_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1673
    functionName: yy_try_NUL_trans
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: yy_state_type
    signature: yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: yy_get_next_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1706,1
    - Dst: yyrestart
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1720,1
    - Dst: yywrap
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1726,1
    - Dst: yyinput
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1732,1
    - Dst: input
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1683
    functionDepth: 2
    functionLinenumber: 1683
    functionLinenumberEnd: 1750
    functionName: input
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 2
    functionsReached:
    - yyinput
    - yy_get_next_buffer
    - yywrap
    - input
    - yyrestart
    linkageType: ''
    returnType: int
    signature: int input  (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yyensure_buffer_stack
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1762,1
    - Dst: yy_create_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1764,1
    - Dst: yy_init_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1767,1
    - Dst: yy_load_buffer_state
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input_file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1769
    functionName: yyrestart
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 2
    functionsReached:
    - yy_create_buffer
    - yy_init_buffer
    - yyensure_buffer_stack
    - yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void yyrestart  (FILE * input_file )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yyensure_buffer_stack
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1783,1
    - Dst: yy_load_buffer_state
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - new_buffer
    argTypes:
    - YY_BUFFER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1804
    functionName: yy_switch_to_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yyensure_buffer_stack
    - yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1812
    functionName: yy_load_buffer_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void yy_load_buffer_state  (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yyalloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1824,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1826,1
    - Dst: yyalloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1833,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1835,1
    - Dst: yy_init_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1842
    functionName: yy_create_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 1
    functionsReached:
    - yyalloc
    - yy_init_buffer
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: yyfree
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1858,1
    - Dst: yyfree
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - YY_BUFFER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1861
    functionName: yy_delete_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yyfree
    linkageType: ''
    returnType: void
    signature: void yy_delete_buffer (YY_BUFFER_STATE  b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: yy_flush_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - b
    - file
    argTypes:
    - YY_BUFFER_STATE
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1889
    functionName: yy_init_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 2
    functionsReached:
    - yy_flush_buffer
    linkageType: ''
    returnType: void
    signature: void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yy_load_buffer_state
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - YY_BUFFER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1895
    functionDepth: 1
    functionLinenumber: 1895
    functionLinenumberEnd: 1916
    functionName: yy_flush_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 1
    functionsReached:
    - yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void yy_flush_buffer (YY_BUFFER_STATE  b )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: yyensure_buffer_stack
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1929,1
    - Dst: yy_load_buffer_state
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - new_buffer
    argTypes:
    - YY_BUFFER_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1948
    functionName: yypush_buffer_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yyensure_buffer_stack
    - yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: yy_delete_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1959,1
    - Dst: yy_load_buffer_state
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1968
    functionName: yypop_buffer_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yy_delete_buffer
    - yy_load_buffer_state
    linkageType: ''
    returnType: void
    signature: void yypop_buffer_state (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: yyalloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1984,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1988,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:1990,1
    - Dst: yyrealloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2003,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2008,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 2014
    functionName: yyensure_buffer_stack
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 3
    functionsReached:
    - yyalloc
    - memset
    - yyrealloc
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: void
    signature: void yyensure_buffer_stack (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yyalloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2032,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2034,1
    - Dst: yy_switch_to_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - char*
    - yy_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2049
    functionName: yy_scan_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - yyalloc
    - yy_switch_to_buffer
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yy_scan_bytes
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2062,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - yystr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2063
    functionName: yy_scan_string
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - strlen
    - yy_scan_bytes
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE yy_scan_string (const char * yystr )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: yyalloc
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2081,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2083,1
    - Dst: yy_scan_buffer
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2090,1
    - Dst: YY_FATAL_ERROR
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - yybytes
    - _yybytes_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2100
    functionName: yy_scan_bytes
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 1
    functionsReached:
    - yyalloc
    - yy_scan_buffer
    - YY_FATAL_ERROR
    linkageType: ''
    returnType: YY_BUFFER_STATE
    signature: YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2108,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/lwin_wkt_lex.c:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2110
    functionName: yy_fatal_error
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void yy_fatal_error (const char* msg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2118
    functionName: yyless
    functionSourceFile: /src/postgis/liblwgeom/lwin_wkt_lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: yyless(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_force_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:46,1
    - Dst: lwtriangle_force_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:50,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: lwgeom_force_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwpoly_force_clockwise
    - lwtriangle_force_clockwise
    - lwgeom_force_clockwise
    linkageType: ''
    returnType: void
    signature: void lwgeom_force_clockwise(LWGEOM *lwgeom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:71,1
    - Dst: lwtriangle_is_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:74,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/liblwgeom/lwgeom.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: lwgeom_is_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwtriangle_is_clockwise
    - lwgeom_is_clockwise
    - lwpoly_is_clockwise
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_clockwise(LWGEOM *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:96,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: lwgeom_reverse
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_clone_deep
    - lwgeom_reverse_in_place
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_reverse(const LWGEOM *geom)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:122,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:132,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:145,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:166,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:171,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 176
    functionName: lwgeom_reverse_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - lwerror
    - lwtype_name
    - lwgeom_reverse_in_place
    - ptarray_reverse_in_place
    linkageType: ''
    returnType: void
    signature: void lwgeom_reverse_in_place(LWGEOM *geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: lwgeom_as_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LWLINE
    signature: 'LWLINE *

      lwgeom_as_lwline(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: lwgeom_as_lwcircstring
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: 'LWCIRCSTRING *

      lwgeom_as_lwcircstring(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: lwgeom_as_lwcompound
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWCOMPOUND
    signature: 'LWCOMPOUND *

      lwgeom_as_lwcompound(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: lwgeom_as_lwcurvepoly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWCURVEPOLY
    signature: 'LWCURVEPOLY *

      lwgeom_as_lwcurvepoly(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: lwgeom_as_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      lwgeom_as_lwpoly(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: lwgeom_as_lwtriangle
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwgeom_as_lwtriangle(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: lwgeom_as_lwcollection
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 7
    functionsReached:
    - lwgeom_is_collection
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwgeom_as_lwcollection(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: lwgeom_as_lwmpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwgeom_as_lwmpoint(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: lwgeom_as_lwmline
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWMLINE
    signature: 'LWMLINE *

      lwgeom_as_lwmline(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: lwgeom_as_lwmpoly
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWMPOLY
    signature: 'LWMPOLY *

      lwgeom_as_lwmpoly(const LWGEOM *lwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: lwgeom_as_lwpsurface
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWPSURFACE
    signature: 'LWPSURFACE *

      lwgeom_as_lwpsurface(const LWGEOM *lwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: lwgeom_as_lwtin
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWTIN
    signature: 'LWTIN *

      lwgeom_as_lwtin(const LWGEOM *lwgeom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWTIN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: lwtin_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwtin_as_lwgeom(const LWTIN *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWPSURFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: lwpsurface_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwpsurface_as_lwgeom(const LWPSURFACE *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: lwmpoly_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwmpoly_as_lwgeom(const LWMPOLY *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: lwmline_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwmline_as_lwgeom(const LWMLINE *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: lwmpoint_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwmpoint_as_lwgeom(const LWMPOINT *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: lwcollection_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwcollection_as_lwgeom(const LWCOLLECTION *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: lwcircstring_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwcircstring_as_lwgeom(const LWCIRCSTRING *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWCURVEPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: lwcurvepoly_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwcurvepoly_as_lwgeom(const LWCURVEPOLY *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: lwcompound_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwcompound_as_lwgeom(const LWCOMPOUND *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: lwpoly_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwpoly_as_lwgeom(const LWPOLY *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: lwtriangle_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwtriangle_as_lwgeom(const LWTRIANGLE *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: lwline_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwline_as_lwgeom(const LWLINE *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: lwpoint_as_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *lwpoint_as_lwgeom(const LWPOINT *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: lwtype_multitype
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lwtype_multitype(uint8_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:389,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:391,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:393,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom.c:396,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom.c:397,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom.c:402,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:403,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 414
    functionName: lwgeom_as_multi
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - FLAGS_GET_M
    - lwgeom_clone
    - lwcollection_construct
    - lwalloc
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_as_multi(const LWGEOM *lwgeom)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwcompound_construct_from_lwline
      Src: /src/postgis/liblwgeom/lwgeom.c:434,1
    - Dst: lwcurvepoly_construct_from_lwpoly
      Src: /src/postgis/liblwgeom/lwgeom.c:437,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/lwgeom.c:437,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:441,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:446,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 458
    functionName: lwgeom_as_curve
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_clone
    - lwcurvepoly_construct_from_lwpoly
    - lwcompound_construct_from_lwline
    - lwgeom_as_lwpoly
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_as_curve(const LWGEOM *lwgeom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:471,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:473,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:473,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:478,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom.c:479,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: lwgeom_release
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 8
    functionsReached:
    - lwerror
    - LWDEBUGF
    - lwfree
    - lwtype_name
    linkageType: ''
    returnType: void
    signature: void lwgeom_release(LWGEOM *lwgeom)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:493,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:494,1
    - Dst: lwpoint_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:499,1
    - Dst: lwline_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:501,1
    - Dst: lwcircstring_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:503,1
    - Dst: lwpoly_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:505,1
    - Dst: lwtriangle_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:507,1
    - Dst: lwcollection_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:518,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:520,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: lwgeom_clone
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached:
    - lwline_clone
    - lwerror
    - lwtriangle_clone
    - lwpoint_clone
    - lwcollection_clone
    - lwcircstring_clone
    - lwtype_name
    - lwpoly_clone
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_clone(const LWGEOM *lwgeom)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:531,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:532,1
    - Dst: lwline_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:540,1
    - Dst: lwpoly_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:542,1
    - Dst: lwcollection_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:553,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:555,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 558
    functionName: lwgeom_clone_deep
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 19
    functionsReached:
    - lwline_clone_deep
    - lwerror
    - lwpoly_clone_deep
    - lwcollection_clone_deep
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_clone_deep(const LWGEOM *lwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/lwgeom.c:570,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 10
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: lwgeom_to_ewkt
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached:
    - lwgeom_to_wkt
    - lwerror
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_to_ewkt(const LWGEOM *lwgeom)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:593,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:594,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:595,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom.c:599,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwgeom.c:604,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwgeom.c:604,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom.c:606,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/lwgeom.c:615,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom.c:617,1
    - Dst: lwpoint_same
      Src: /src/postgis/liblwgeom/lwgeom.c:627,1
    - Dst: lwline_same
      Src: /src/postgis/liblwgeom/lwgeom.c:630,1
    - Dst: lwpoly_same
      Src: /src/postgis/liblwgeom/lwgeom.c:633,1
    - Dst: lwtriangle_same
      Src: /src/postgis/liblwgeom/lwgeom.c:636,1
    - Dst: lwcircstring_same
      Src: /src/postgis/liblwgeom/lwgeom.c:639,1
    - Dst: lwcollection_same
      Src: /src/postgis/liblwgeom/lwgeom.c:651,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:654,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 2
    argNames:
    - lwgeom1
    - lwgeom2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 659
    functionName: lwgeom_same
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwcollection_same
    - FLAGS_GET_ZM
    - lwpoint_same
    - LWDEBUG
    - lwerror
    - gbox_same
    - lwcircstring_same
    - lwline_same
    - lwtriangle_same
    - lwtype_name
    - lwpoly_same
    - LWDEBUGF
    linkageType: ''
    returnType: char
    signature: char lwgeom_same(const LWGEOM *lwgeom1, const LWGEOM *lwgeom2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:670,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwgeom.c:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - p
    - cx
    - cy
    - rad
    argTypes:
    - LWPOINT*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 679
    functionName: lwpoint_inside_circle
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - distance2d_pt_pt
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lwpoint_inside_circle(const LWPOINT *p, double cx, double cy, double
      rad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom.c:684,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwgeom.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 687
    functionName: lwgeom_drop_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_BBOX
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwgeom_drop_bbox(LWGEOM *lwgeom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:698,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwgeom.c:701,1
    - Dst: gbox_new
      Src: /src/postgis/liblwgeom/lwgeom.c:702,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwgeom.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 704
    functionName: lwgeom_add_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 6
    functionsReached:
    - FLAGS_SET_BBOX
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - gbox_new
    linkageType: ''
    returnType: void
    signature: void lwgeom_add_bbox(LWGEOM *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:709,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: lwgeom_refresh_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached:
    - lwgeom_drop_bbox
    - lwgeom_add_bbox
    linkageType: ''
    returnType: void
    signature: void lwgeom_refresh_bbox(LWGEOM *lwgeom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:716,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwgeom.c:718,1
    - Dst: gbox_new
      Src: /src/postgis/liblwgeom/lwgeom.c:722,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/lwgeom.c:723,1
    - Dst: gbox_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:727,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:730,1
    - Dst: lwgeom_add_bbox_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - lwgeom
    - gbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 740
    functionName: lwgeom_add_bbox_deep
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_add_bbox_deep
    - lwgeom_is_collection
    - FLAGS_SET_BBOX
    - gbox_clone
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - gbox_new
    linkageType: ''
    returnType: void
    signature: void lwgeom_add_bbox_deep(LWGEOM *lwgeom, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lwg
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: lwgeom_get_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 4
    functionsReached:
    - lwgeom_add_bbox
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      lwgeom_get_bbox(const LWGEOM *lwg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:758,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeom.c:759,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/lwgeom.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lwgeom
    - gbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 762
    functionName: lwgeom_calculate_gbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 8
    functionsReached:
    - lwgeom_calculate_gbox_cartesian
    - lwgeom_calculate_gbox_geodetic
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int lwgeom_calculate_gbox(const LWGEOM *lwgeom, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: lwgeom_drop_srid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwgeom_drop_srid(LWGEOM *lwgeom)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwline_segmentize2d
      Src: /src/postgis/liblwgeom/lwgeom.c:776,1
    - Dst: lwpoly_segmentize2d
      Src: /src/postgis/liblwgeom/lwgeom.c:779,1
    - Dst: lwcollection_segmentize2d
      Src: /src/postgis/liblwgeom/lwgeom.c:784,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeom.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - lwgeom
    - dist
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 770
    functionDepth: 5
    functionLinenumber: 770
    functionLinenumberEnd: 790
    functionName: lwgeom_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_clone
    - lwpoly_segmentize2d
    - lwcollection_segmentize2d
    - lwline_segmentize2d
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_segmentize2d(const LWGEOM *lwgeom, double dist)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 796
    functionName: lwgeom_force_2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_force_dims
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_2d(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - zval
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: lwgeom_force_3dz
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_force_dims
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_3dz(const LWGEOM *geom, double zval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - mval
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: lwgeom_force_3dm
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_force_dims
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_3dm(const LWGEOM *geom, double mval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - geom
    - zval
    - mval
    argTypes:
    - LWGEOM*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: lwgeom_force_4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_force_dims
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_4d(const LWGEOM *geom, double zval, double mval)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:824,1
    - Dst: lwpoint_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:824,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:828,1
    - Dst: lwline_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:828,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:830,1
    - Dst: lwpoly_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:830,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:841,1
    - Dst: lwcollection_force_dims
      Src: /src/postgis/liblwgeom/lwgeom.c:841,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:843,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 5
    argNames:
    - geom
    - hasz
    - hasm
    - zval
    - mval
    argTypes:
    - LWGEOM*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 816
    functionDepth: 5
    functionLinenumber: 816
    functionLinenumberEnd: 846
    functionName: lwgeom_force_dims
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached:
    - lwcollection_as_lwgeom
    - lwerror
    - lwline_as_lwgeom
    - lwpoly_as_lwgeom
    - lwline_force_dims
    - lwpoint_as_lwgeom
    - lwcollection_force_dims
    - lwtype_name
    - lwpoly_force_dims
    - lwpoint_force_dims
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_dims(const LWGEOM *geom, int hasz, int hasm, double zval, double
      mval)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/lwgeom.c:866,1
    - Dst: lwgeom_force_sfs
      Src: /src/postgis/liblwgeom/lwgeom.c:871,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:873,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/lwgeom.c:890,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:894,1
    - Dst: lwpoly_from_lwlines
      Src: /src/postgis/liblwgeom/lwgeom.c:894,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:895,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:902,1
    - Dst: lwpoly_from_lwlines
      Src: /src/postgis/liblwgeom/lwgeom.c:902,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:903,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:907,1
    - Dst: lwgeom_force_sfs
      Src: /src/postgis/liblwgeom/lwgeom.c:917,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - geom
    - version
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 848
    functionDepth: 9
    functionLinenumber: 848
    functionLinenumberEnd: 924
    functionName: lwgeom_force_sfs
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwcollection_as_lwgeom
    - lwgeom_stroke
    - lwpoly_as_lwgeom
    - lwpoly_from_lwlines
    - lwmpoly_as_lwgeom
    - lwgeom_force_sfs
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_force_sfs(LWGEOM *geom, int version)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: lwgeom_get_srid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t lwgeom_get_srid(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom.c:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 938
    functionName: lwgeom_has_z
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 24
    functionsReached:
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int lwgeom_has_z(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 945
    functionName: lwgeom_has_m
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 24
    functionsReached:
    - FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int lwgeom_has_m(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/lwgeom.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: lwgeom_is_solid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - FLAGS_GET_SOLID
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_solid(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 959
    functionName: lwgeom_ndims
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    linkageType: ''
    returnType: int
    signature: int lwgeom_ndims(const LWGEOM *geom)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:972,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:974,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:981,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:986,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom.c:991,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/liblwgeom/lwgeom.c:999,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1002,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1002,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - geom
    - value
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1005
    functionName: lwgeom_set_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwgeom_set_geodetic
    - FLAGS_SET_GEODETIC
    - lwtype_name
    linkageType: ''
    returnType: void
    signature: void lwgeom_set_geodetic(LWGEOM *geom, int value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_longitude_shift
      Src: /src/postgis/liblwgeom/lwgeom.c:1021,1
    - Dst: ptarray_longitude_shift
      Src: /src/postgis/liblwgeom/lwgeom.c:1025,1
    - Dst: ptarray_longitude_shift
      Src: /src/postgis/liblwgeom/lwgeom.c:1030,1
    - Dst: ptarray_longitude_shift
      Src: /src/postgis/liblwgeom/lwgeom.c:1034,1
    - Dst: lwgeom_longitude_shift
      Src: /src/postgis/liblwgeom/lwgeom.c:1044,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1047,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1050
    functionName: lwgeom_longitude_shift
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_longitude_shift
    - ptarray_longitude_shift
    - lwtype_name
    - lwerror
    linkageType: ''
    returnType: void
    signature: void lwgeom_longitude_shift(LWGEOM *lwgeom)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1057,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1064,1
    - Dst: lwpoly_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1066,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1068,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1070,1
    - Dst: lwtin_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1072,1
    - Dst: lwpsurface_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1074,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:1078,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom.c:1080,1
    - Dst: lwgeom_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1094
    functionName: lwgeom_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - lwgeom_as_lwcollection
    - lwcircstring_is_closed
    - lwpoly_is_closed
    - lwline_is_closed
    - lwgeom_is_empty
    - lwcompound_is_closed
    - lwpsurface_is_closed
    - lwtin_is_closed
    - lwgeom_is_closed
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_closed(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: lwgeom_is_collection
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 10
    functionsReached:
    - lwtype_is_collection
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_collection(const LWGEOM *geom)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1121
    functionName: lwgeom_is_unitary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_unitary(const LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1137
    functionName: lwgeom_has_rings
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_has_rings(const LWGEOM *geom)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1166
    functionName: lwtype_is_collection
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwtype_is_collection(uint8_t type)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1193
    functionName: lwtype_get_collectiontype
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwtype_get_collectiontype(uint8_t type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1202,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1202,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1207,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1210,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1213,1
    - Dst: lwcircstring_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1216,1
    - Dst: lwtriangle_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1219,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1222,1
    - Dst: lwmline_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1225,1
    - Dst: lwmpoly_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1228,1
    - Dst: lwpsurface_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1231,1
    - Dst: lwtin_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1234,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1241,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1244,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1196
    functionDepth: 3
    functionLinenumber: 1196
    functionLinenumberEnd: 1247
    functionName: lwgeom_free
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 34
    functionsReached:
    - lwmpoint_free
    - lwmline_free
    - lwpoly_free
    - lwerror
    - lwmpoly_free
    - lwtriangle_free
    - lwpsurface_free
    - lwcollection_free
    - lwpoint_free
    - lwcircstring_free
    - lwtype_name
    - lwline_free
    - LWDEBUGF
    - lwtin_free
    linkageType: ''
    returnType: void
    signature: void lwgeom_free(LWGEOM *lwgeom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom.c:1251,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:1258,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:1272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 1250
        line_start: 1250
        source_file: /src/postgis/liblwgeom/lwgeom.c
    constantsTouched: []
    func_position:
      end: 1281
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1281
    functionName: lwgeom_needs_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 3
    functionsReached:
    - lwgeom_count_vertices
    - assert
    linkageType: ''
    returnType: int
    signature: int lwgeom_needs_bbox(const LWGEOM *geom)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1294,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1295,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1298,1
    - Dst: lwline_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:1308,1
    - Dst: lwpoly_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:1311,1
    - Dst: lwcollection_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:1323,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1326,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1327,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1332
    functionName: lwgeom_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 4
    functionsReached:
    - lwline_count_vertices
    - lwerror
    - lwgeom_is_empty
    - lwpoly_count_vertices
    - lwtype_name
    - lwcollection_count_vertices
    - LWDEBUGF
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwgeom_count_vertices(const LWGEOM *geom)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1345,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1346,1
    - Dst: lwpsurface_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1372,1
    - Dst: lwgeom_dimension
      Src: /src/postgis/liblwgeom/lwgeom.c:1382,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1388,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1339
    functionDepth: 2
    functionLinenumber: 1339
    functionLinenumberEnd: 1392
    functionName: lwgeom_dimension
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - lwgeom_dimension
    - lwerror
    - lwpsurface_is_closed
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwgeom_dimension(const LWGEOM *geom)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1402,1
    - Dst: lwgeom_count_rings
      Src: /src/postgis/liblwgeom/lwgeom.c:1434,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1438,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1438,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1443
    functionName: lwgeom_count_rings
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_count_rings
    - lwerror
    - lwgeom_is_empty
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwgeom_count_rings(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1451
    functionName: lwgeom_has_srid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_has_srid(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/liblwgeom/lwgeom.c:1460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1465
    functionName: lwcollection_dimensionality
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_dimensionality
    linkageType: ''
    returnType: int
    signature: int lwcollection_dimensionality(const LWCOLLECTION *col)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1471,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1472,1
    - Dst: lwgeom_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:1497,1
    - Dst: lwcollection_dimensionality
      Src: /src/postgis/liblwgeom/lwgeom.c:1502,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1505,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1467
    functionDepth: 4
    functionLinenumber: 1467
    functionLinenumberEnd: 1510
    functionName: lwgeom_dimensionality
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwcollection_dimensionality
    - lwgeom_is_closed
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwgeom_dimensionality(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:1514,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - tolerance
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1512
    functionDepth: 4
    functionLinenumber: 1512
    functionLinenumberEnd: 1517
    functionName: lwgeom_remove_repeated_points
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_clone_deep
    - lwgeom_remove_repeated_points_in_place
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_remove_repeated_points(const LWGEOM *in, double tolerance)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1525,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1529,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1530,1
    - Dst: ptarray_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1535,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:1535,1
    - Dst: ptarray_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1539,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwgeom.c:1539,1
    - Dst: ptarray_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1543,1
    - Dst: lwgeom_as_lwcircstring
      Src: /src/postgis/liblwgeom/lwgeom.c:1543,1
    - Dst: ptarray_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1550,1
    - Dst: ptarray_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1555,1
    - Dst: lwgeom_as_lwtriangle
      Src: /src/postgis/liblwgeom/lwgeom.c:1555,1
    - Dst: lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/lwgeom.c:1571,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1576,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1577,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:1584,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - in
    - o1
    - o2
    argTypes:
    - LWGEOM*
    - LWORD
    - LWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1519
    functionDepth: 4
    functionLinenumber: 1519
    functionLinenumberEnd: 1586
    functionName: lwgeom_swap_ordinates
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_as_lwpoint
    - ptarray_swap_ordinates
    - lwgeom_swap_ordinates
    - lwgeom_is_empty
    - lwerror
    - lwgeom_refresh_bbox
    - lwgeom_as_lwtriangle
    - lwgeom_as_lwcircstring
    - lwtype_name
    - LWDEBUGF
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void lwgeom_swap_ordinates(LWGEOM *in, LWORD o1, LWORD o2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom.c:1592,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:1596,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom.c:1599,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - srid
    argTypes:
    - LWGEOM*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1605
    functionName: lwgeom_set_srid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 5
    functionsReached:
    - lwgeom_set_srid
    - LWDEBUGF
    - lwgeom_is_collection
    - lwgeom_as_lwcollection
    linkageType: ''
    returnType: void
    signature: void lwgeom_set_srid(LWGEOM *geom, int32_t srid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1616,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1625
    functionName: cmp_point_x
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int cmp_point_x(const void *pa, const void *pb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1633,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pa
    - pb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1642
    functionName: cmp_point_y
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int cmp_point_y(const void *pa, const void *pb)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1658,1
    - Dst: ptarray_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1675,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1681,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwgeom.c:1697,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1703,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1712,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/lwgeom.c:1720,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1722,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1732,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1734,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1773,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1775,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1777,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1787,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1787,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:1793,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 95
    argCount: 2
    argNames:
    - geom
    - tolerance
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1644
    functionDepth: 4
    functionLinenumber: 1644
    functionLinenumberEnd: 1795
    functionName: lwgeom_remove_repeated_points_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - lwgeom_free
    - getPoint2d_cp
    - ptarray_free
    - lwerror
    - lwgeom_remove_repeated_points_in_place
    - qsort
    - lwgeom_is_empty
    - lwgeom_drop_bbox
    - distance2d_sqr_pt_pt
    - lwpoint_is_empty
    - lwtype_name
    - ptarray_remove_repeated_points_in_place
    - lwpoint_free
    linkageType: ''
    returnType: int
    signature: int lwgeom_remove_repeated_points_in_place(LWGEOM *geom, double tolerance)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwtriangle
      Src: /src/postgis/liblwgeom/lwgeom.c:1813,1
    - Dst: ptarray_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1815,1
    - Dst: ptarray_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1828,1
    - Dst: ptarray_copy_point
      Src: /src/postgis/liblwgeom/lwgeom.c:1837,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwgeom.c:1848,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1848,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:1848,1
    - Dst: ptarray_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1866,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1877,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1884,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1907,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1909,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1911,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:1922,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:1922,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:1929,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 3
    argNames:
    - geom
    - epsilon
    - preserve_collapsed
    argTypes:
    - LWGEOM*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1800
    functionDepth: 4
    functionLinenumber: 1800
    functionLinenumberEnd: 1932
    functionName: lwgeom_simplify_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - getPoint2d_cp
    - ptarray_free
    - lwgeom_simplify_in_place
    - lwerror
    - p2d_same
    - lwgeom_is_empty
    - lwgeom_drop_bbox
    - ptarray_copy_point
    - lwgeom_as_lwtriangle
    - lwtype_name
    - ptarray_simplify_in_place
    linkageType: ''
    returnType: int
    signature: int lwgeom_simplify_in_place(LWGEOM *geom, double epsilon, int preserve_collapsed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:1936,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:1937,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:1938,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:1940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - igeom
    - dist
    - preserve_collapsed
    argTypes:
    - LWGEOM*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1934
    functionDepth: 5
    functionLinenumber: 1934
    functionLinenumberEnd: 1944
    functionName: lwgeom_simplify
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_simplify_in_place
    - lwgeom_free
    - lwgeom_clone_deep
    - lwgeom_is_empty
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_simplify(const LWGEOM *igeom, double dist, int preserve_collapsed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_area
      Src: /src/postgis/liblwgeom/lwgeom.c:1954,1
    - Dst: lwcurvepoly_area
      Src: /src/postgis/liblwgeom/lwgeom.c:1956,1
    - Dst: lwtriangle_area
      Src: /src/postgis/liblwgeom/lwgeom.c:1958,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:1959,1
    - Dst: lwgeom_area
      Src: /src/postgis/liblwgeom/lwgeom.c:1965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1949
    functionDepth: 2
    functionLinenumber: 1949
    functionLinenumberEnd: 1970
    functionName: lwgeom_area
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - lwgeom_is_collection
    - lwpoly_area
    - lwtriangle_area
    - lwgeom_area
    - lwcurvepoly_area
    linkageType: ''
    returnType: double
    signature: double lwgeom_area(const LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_perimeter
      Src: /src/postgis/liblwgeom/lwgeom.c:1976,1
    - Dst: lwcurvepoly_perimeter
      Src: /src/postgis/liblwgeom/lwgeom.c:1978,1
    - Dst: lwtriangle_perimeter
      Src: /src/postgis/liblwgeom/lwgeom.c:1980,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:1981,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/liblwgeom/lwgeom.c:1987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 1992
    functionName: lwgeom_perimeter
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwcurvepoly_perimeter
    - lwgeom_is_collection
    - lwpoly_perimeter
    - lwgeom_perimeter
    - lwtriangle_perimeter
    linkageType: ''
    returnType: double
    signature: double lwgeom_perimeter(const LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_perimeter_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:1998,1
    - Dst: lwcurvepoly_perimeter_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2000,1
    - Dst: lwtriangle_perimeter_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2002,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2003,1
    - Dst: lwgeom_perimeter_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1994
    functionDepth: 2
    functionLinenumber: 1994
    functionLinenumberEnd: 2014
    functionName: lwgeom_perimeter_2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - lwgeom_perimeter_2d
    - lwpoly_perimeter_2d
    - lwtriangle_perimeter_2d
    - lwcurvepoly_perimeter_2d
    linkageType: ''
    returnType: double
    signature: double lwgeom_perimeter_2d(const LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwline_length
      Src: /src/postgis/liblwgeom/lwgeom.c:2020,1
    - Dst: lwcircstring_length
      Src: /src/postgis/liblwgeom/lwgeom.c:2022,1
    - Dst: lwcompound_length
      Src: /src/postgis/liblwgeom/lwgeom.c:2024,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2025,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/lwgeom.c:2031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2016
    functionDepth: 4
    functionLinenumber: 2016
    functionLinenumberEnd: 2036
    functionName: lwgeom_length
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwcircstring_length
    - lwgeom_is_collection
    - lwcompound_length
    - lwline_length
    - lwgeom_length
    linkageType: ''
    returnType: double
    signature: double lwgeom_length(const LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwline_length_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2042,1
    - Dst: lwcircstring_length_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2044,1
    - Dst: lwcompound_length_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2046,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2047,1
    - Dst: lwgeom_length_2d
      Src: /src/postgis/liblwgeom/lwgeom.c:2053,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2038
    functionDepth: 3
    functionLinenumber: 2038
    functionLinenumberEnd: 2058
    functionName: lwgeom_length_2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - lwgeom_length_2d
    - lwcompound_length_2d
    - lwcircstring_length_2d
    - lwline_length_2d
    linkageType: ''
    returnType: double
    signature: double lwgeom_length_2d(const LWGEOM *geom)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_affine
      Src: /src/postgis/liblwgeom/lwgeom.c:2075,1
    - Dst: ptarray_affine
      Src: /src/postgis/liblwgeom/lwgeom.c:2082,1
    - Dst: lwgeom_affine
      Src: /src/postgis/liblwgeom/lwgeom.c:2089,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2094,1
    - Dst: lwgeom_affine
      Src: /src/postgis/liblwgeom/lwgeom.c:2099,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2104,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2104,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:2111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - affine
    argTypes:
    - LWGEOM*
    - AFFINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2112
    functionName: lwgeom_affine
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - lwgeom_is_collection
    - lwerror
    - lwgeom_refresh_bbox
    - ptarray_affine
    - lwtype_name
    - lwgeom_affine
    linkageType: ''
    returnType: void
    signature: void lwgeom_affine(LWGEOM *geom, const AFFINE *affine)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/lwgeom.c:2129,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/lwgeom.c:2136,1
    - Dst: lwgeom_scale
      Src: /src/postgis/liblwgeom/lwgeom.c:2143,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2148,1
    - Dst: lwgeom_scale
      Src: /src/postgis/liblwgeom/lwgeom.c:2153,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2158,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2158,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:2165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - geom
    - factor
    argTypes:
    - LWGEOM*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2114
    functionDepth: 4
    functionLinenumber: 2114
    functionLinenumberEnd: 2166
    functionName: lwgeom_scale
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - ptarray_scale
    - lwgeom_scale
    - lwerror
    - lwgeom_refresh_bbox
    - lwtype_name
    linkageType: ''
    returnType: void
    signature: void lwgeom_scale(LWGEOM *geom, const POINT4D *factor)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2174,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2174,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2176,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2176,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2178,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2178,1
    - Dst: lwcurvepoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2180,1
    - Dst: lwcurvepoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2180,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2182,1
    - Dst: lwcircstring_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2182,1
    - Dst: lwtriangle_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2184,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2184,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2190,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2190,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2192,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - type
    - srid
    - hasz
    - hasm
    argTypes:
    - uint8_t
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2168
    functionDepth: 3
    functionLinenumber: 2168
    functionLinenumberEnd: 2196
    functionName: lwgeom_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwcurvepoly_as_lwgeom
    - lwcircstring_as_lwgeom
    - lwcollection_as_lwgeom
    - lwline_construct_empty
    - lwline_as_lwgeom
    - lwtriangle_as_lwgeom
    - lwcollection_construct_empty
    - lwpoly_as_lwgeom
    - lwerror
    - lwpoly_construct_empty
    - lwpoint_as_lwgeom
    - lwcircstring_construct_empty
    - lwtriangle_construct_empty
    - lwcurvepoly_construct_empty
    - lwtype_name
    - lwpoint_construct_empty
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_construct_empty(uint8_t type, int32_t srid, char hasz, char hasm)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2201,1
    - Dst: ptarray_startpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2207,1
    - Dst: ptarray_startpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2211,1
    - Dst: lwpoly_startpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2213,1
    - Dst: lwcollection_startpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2222,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2224,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - lwgeom
    - pt
    argTypes:
    - LWGEOM*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2198
    functionDepth: 2
    functionLinenumber: 2198
    functionLinenumberEnd: 2227
    functionName: lwgeom_startpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 2
    functionsReached:
    - ptarray_startpoint
    - lwcollection_startpoint
    - lwerror
    - lwgeom_is_empty
    - lwtype_name
    - lwpoly_startpoint
    linkageType: ''
    returnType: int
    signature: int lwgeom_startpoint(const LWGEOM *lwgeom, POINT4D *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rint
      Src: /src/postgis/liblwgeom/lwgeom.c:2233,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeom.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2239
    functionName: snap_to_int
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - fabs
    - rint
    linkageType: ''
    returnType: double
    signature: double snap_to_int(double val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snap_to_int
      Src: /src/postgis/liblwgeom/lwgeom.c:2252,1
    - Dst: snap_to_int
      Src: /src/postgis/liblwgeom/lwgeom.c:2254,1
    - Dst: snap_to_int
      Src: /src/postgis/liblwgeom/lwgeom.c:2259,1
    - Dst: snap_to_int
      Src: /src/postgis/liblwgeom/lwgeom.c:2261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - grid
    argTypes:
    - gridspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2246
    functionDepth: 1
    functionLinenumber: 2246
    functionLinenumberEnd: 2263
    functionName: condition_gridspec_scale
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - snap_to_int
    linkageType: ''
    returnType: void
    signature: void condition_gridspec_scale(gridspec *grid)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2270,1
    - Dst: condition_gridspec_scale
      Src: /src/postgis/liblwgeom/lwgeom.c:2272,1
    - Dst: ptarray_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2279,1
    - Dst: ptarray_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2287,1
    - Dst: ptarray_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2301,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2307,1
    - Dst: ptarray_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2318,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2327,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2347,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2350,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2352,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2362,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2363,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 2
    argNames:
    - geom
    - grid
    argTypes:
    - LWGEOM*
    - gridspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2266
    functionDepth: 4
    functionLinenumber: 2266
    functionLinenumberEnd: 2367
    functionName: lwgeom_grid_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - ptarray_free
    - lwerror
    - lwgeom_grid_in_place
    - lwgeom_is_empty
    - ptarray_grid_in_place
    - condition_gridspec_scale
    - lwtype_name
    linkageType: ''
    returnType: void
    signature: void lwgeom_grid_in_place(LWGEOM *geom, gridspec *grid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2373,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lwgeom
    - grid
    argTypes:
    - LWGEOM*
    - gridspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2370
    functionDepth: 5
    functionLinenumber: 2370
    functionLinenumberEnd: 2376
    functionName: lwgeom_grid
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_grid_in_place
    - lwgeom_clone_deep
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_grid(const LWGEOM *lwgeom, gridspec *grid)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwgeom.c:2400,1
    - Dst: LW_ON_INTERRUPT
      Src: /src/postgis/liblwgeom/lwgeom.c:2404,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeom.c:2407,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2412,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2412,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2417,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2417,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom.c:2435,1
    - Dst: lwgeom_subdivide_recursive
      Src: /src/postgis/liblwgeom/lwgeom.c:2441,1
    - Dst: lwgeom_dimension
      Src: /src/postgis/liblwgeom/lwgeom.c:2445,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2456,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2456,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwgeom.c:2460,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2469,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2469,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeom.c:2491,1
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/lwgeom.c:2491,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:2507,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom.c:2509,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeom.c:2510,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeom.c:2519,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeom.c:2520,1
    - Dst: FP_NEQUALS
      Src: /src/postgis/liblwgeom/lwgeom.c:2527,1
    - Dst: FP_NEQUALS
      Src: /src/postgis/liblwgeom/lwgeom.c:2527,1
    - Dst: FP_NEQUALS
      Src: /src/postgis/liblwgeom/lwgeom.c:2534,1
    - Dst: FP_NEQUALS
      Src: /src/postgis/liblwgeom/lwgeom.c:2534,1
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/liblwgeom/lwgeom.c:2543,1
    - Dst: lwgeom_intersection_prec
      Src: /src/postgis/liblwgeom/lwgeom.c:2545,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2546,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2547,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2548,1
    - Dst: lwgeom_subdivide_recursive
      Src: /src/postgis/liblwgeom/lwgeom.c:2550,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2551,1
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/liblwgeom/lwgeom.c:2555,1
    - Dst: lwgeom_intersection_prec
      Src: /src/postgis/liblwgeom/lwgeom.c:2557,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/liblwgeom/lwgeom.c:2558,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2559,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2560,1
    - Dst: lwgeom_subdivide_recursive
      Src: /src/postgis/liblwgeom/lwgeom.c:2562,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2563,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 6
    argNames:
    - geom
    - dimension
    - maxvertices
    - depth
    - col
    - gridSize
    argTypes:
    - LWGEOM*
    - uint8_t
    - uint32_t
    - uint32_t
    - LWCOLLECTION*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2387
    functionDepth: 11
    functionLinenumber: 2387
    functionLinenumberEnd: 2566
    functionName: lwgeom_subdivide_recursive
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_dimension
    - lwgeom_get_bbox
    - lwgeom_free
    - gbox_duplicate
    - lwgeom_is_collection
    - getPoint2d_cp
    - lwgeom_intersection_prec
    - lwpoly_construct_envelope
    - LW_ON_INTERRUPT
    - FP_NEQUALS
    - ptarray_signed_area
    - lwerror
    - lwgeom_count_vertices
    - lwgeom_simplify_in_place
    - lwtype_name
    - fabs
    - lwgeom_is_empty
    - lwgeom_subdivide_recursive
    - lwgeom_clone_deep
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: void
    signature: "void lwgeom_subdivide_recursive(const LWGEOM *geom,\n\t\t\t   uint8_t
      dimension,\n\t\t\t   uint32_t maxvertices,\n\t\t\t   uint32_t depth,\n\t\t\t
      \  LWCOLLECTION *col,\n\t\t\t   double gridSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2575,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom.c:2575,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom.c:2575,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2577,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2582,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2583,1
    - Dst: lwgeom_subdivide_recursive
      Src: /src/postgis/liblwgeom/lwgeom.c:2586,1
    - Dst: lwgeom_dimension
      Src: /src/postgis/liblwgeom/lwgeom.c:2586,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom.c:2587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - geom
    - maxvertices
    - gridSize
    argTypes:
    - LWGEOM*
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2568
    functionDepth: 12
    functionLinenumber: 2568
    functionLinenumberEnd: 2589
    functionName: lwgeom_subdivide_prec
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_dimension
    - lwerror
    - lwcollection_construct_empty
    - lwgeom_is_empty
    - lwcollection_free
    - lwgeom_subdivide_recursive
    - lwgeom_has_z
    - lwgeom_set_srid
    - lwgeom_has_m
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwgeom_subdivide_prec(const LWGEOM *geom, uint32_t maxvertices, double gridSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_subdivide_prec
      Src: /src/postgis/liblwgeom/lwgeom.c:2594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - maxvertices
    argTypes:
    - LWGEOM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2591
    functionDepth: 13
    functionLinenumber: 2591
    functionLinenumberEnd: 2595
    functionName: lwgeom_subdivide
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwgeom_subdivide_prec
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwgeom_subdivide(const LWGEOM *geom, uint32_t maxvertices)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom.c:2606,1
    - Dst: lwline_is_trajectory
      Src: /src/postgis/liblwgeom/lwgeom.c:2609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2599
    functionDepth: 2
    functionLinenumber: 2599
    functionLinenumberEnd: 2610
    functionName: lwgeom_is_trajectory
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwnotice
    - lwline_is_trajectory
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_trajectory(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2613
    functionName: STATIC_ASSERT
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(COND,MSG)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom.c:2618,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom.c:2639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - d
    - decimal_digits
    argTypes:
    - double
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2641
    functionName: trim_preserve_decimal_digits
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: double
    signature: double trim_preserve_decimal_digits(double d, int32_t decimal_digits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_create_rw
      Src: /src/postgis/liblwgeom/lwgeom.c:2645,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/lwgeom.c:2648,1
    - Dst: lwpointiterator_peek
      Src: /src/postgis/liblwgeom/lwgeom.c:2650,1
    - Dst: trim_preserve_decimal_digits
      Src: /src/postgis/liblwgeom/lwgeom.c:2651,1
    - Dst: trim_preserve_decimal_digits
      Src: /src/postgis/liblwgeom/lwgeom.c:2652,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom.c:2653,1
    - Dst: trim_preserve_decimal_digits
      Src: /src/postgis/liblwgeom/lwgeom.c:2654,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom.c:2655,1
    - Dst: trim_preserve_decimal_digits
      Src: /src/postgis/liblwgeom/lwgeom.c:2656,1
    - Dst: lwpointiterator_modify_next
      Src: /src/postgis/liblwgeom/lwgeom.c:2657,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom.c:2660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - geom
    - prec_x
    - prec_y
    - prec_z
    - prec_m
    argTypes:
    - LWGEOM*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2643
    functionDepth: 7
    functionLinenumber: 2643
    functionLinenumberEnd: 2661
    functionName: lwgeom_trim_bits_in_place
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_peek
    - lwpointiterator_destroy
    - lwpointiterator_has_next
    - lwpointiterator_create_rw
    - lwgeom_has_m
    - lwgeom_has_z
    - lwpointiterator_modify_next
    - trim_preserve_decimal_digits
    linkageType: ''
    returnType: void
    signature: void lwgeom_trim_bits_in_place(LWGEOM* geom, int32_t prec_x, int32_t
      prec_y, int32_t prec_z, int32_t prec_m)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwgeom.c:2666,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom.c:2667,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom.c:2668,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2674,1
    - Dst: lwgeom_is_closed
      Src: /src/postgis/liblwgeom/lwgeom.c:2678,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2678,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2679,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2683,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom.c:2685,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2686,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwgeom.c:2686,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom.c:2687,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2688,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwgeom.c:2688,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom.c:2696,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2701,1
    - Dst: lwgeom_boundary
      Src: /src/postgis/liblwgeom/lwgeom.c:2701,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwgeom.c:2707,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/lwgeom.c:2712,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2723,1
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2726,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom.c:2729,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwgeom.c:2729,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom.c:2731,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2737,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom.c:2738,1
    - Dst: lwmline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2743,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2746,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwgeom.c:2747,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom.c:2747,1
    - Dst: lwgeom_homogenize
      Src: /src/postgis/liblwgeom/lwgeom.c:2751,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2752,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2757,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2760,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom.c:2760,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom.c:2768,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom.c:2771,1
    - Dst: lwgeom_boundary
      Src: /src/postgis/liblwgeom/lwgeom.c:2771,1
    - Dst: lwgeom_homogenize
      Src: /src/postgis/liblwgeom/lwgeom.c:2773,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom.c:2774,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom.c:2779,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom.c:2779,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2663
    functionDepth: 4
    functionLinenumber: 2663
    functionLinenumberEnd: 2782
    functionName: lwgeom_boundary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwgeom_boundary
    - lwgeom_construct_empty
    - getPoint4d
    - lwgeom_has_z
    - lwalloc
    - lwgeom_is_closed
    - lwgeom_as_lwmpoint
    - lwline_construct
    - lwgeom_has_m
    - lwmpoint_add_lwpoint
    - getPoint4d_p
    - lwmpoint_construct_empty
    - lwerror
    - lwcollection_construct_empty
    - ptarray_clone_deep
    - lwgeom_homogenize
    - lwfree
    - lwtype_name
    - memcmp
    - lwmline_construct_empty
    - lwmline_add_lwline
    - lwgeom_get_srid
    - lwgeom_is_empty
    - lwgeom_clone_deep
    - lwpoint_make
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_boundary(LWGEOM *lwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/lwgeom.c:2787,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeom.c:2788,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeom.c:2789,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/lwgeom.c:2791,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/lwgeom.c:2794,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/lwgeom.c:2795,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/lwgeom.c:2796,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/lwgeom.c:2797,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/lwgeom.c:2798,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom.c:2802,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwgeom.c:2806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2784
    functionDepth: 7
    functionLinenumber: 2784
    functionLinenumberEnd: 2808
    functionName: lwgeom_isfinite
    functionSourceFile: /src/postgis/liblwgeom/lwgeom.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_create
    - lwpointiterator_next
    - lwpointiterator_destroy
    - lwpointiterator_has_next
    - lwgeom_has_z
    - isfinite
    - lwgeom_has_m
    linkageType: ''
    returnType: int
    signature: int lwgeom_isfinite(const LWGEOM *lwgeom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_geojson.c:53,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_geojson.c:55,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:56,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_geojson.c:57,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:58,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_geojson.c:59,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:60,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwout_geojson.c:64,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:65,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_geojson.c:66,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:67,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_geojson.c:68,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:69,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_geojson.c:70,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - sb
    - pa
    - i
    - opts
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - uint32_t
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: coordinate_to_geojson
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - stringbuffer_append_double
    - getPoint3d_cp
    - stringbuffer_append_char
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void coordinate_to_geojson(stringbuffer_t *sb, const POINTARRAY *pa,
      uint32_t i, const geojson_opts *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:80,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:84,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:87,1
    - Dst: coordinate_to_geojson
      Src: /src/postgis/liblwgeom/lwout_geojson.c:88,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sb
    - pa
    - opts
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: pointArray_to_geojson
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append_char
    - coordinate_to_geojson
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void pointArray_to_geojson(stringbuffer_t *sb, const POINTARRAY *pa,
      const geojson_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:98,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_geojson.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - opts
    argTypes:
    - stringbuffer_t*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: asgeojson_srs
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_srs(stringbuffer_t *sb, const geojson_opts *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_geojson.c:109,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_geojson.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sb
    - opts
    argTypes:
    - stringbuffer_t*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: asgeojson_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    linkageType: ''
    returnType: void
    signature: void asgeojson_bbox(stringbuffer_t *sb, const geojson_opts *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:132,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:133,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:134,1
    - Dst: coordinate_to_geojson
      Src: /src/postgis/liblwgeom/lwout_geojson.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sb
    - point
    - opts
    - tagged
    argTypes:
    - stringbuffer_t*
    - LWPOINT*
    - geojson_opts*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: asgeojson_point_coords
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - coordinate_to_geojson
    - lwgeom_is_empty
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_point_coords(stringbuffer_t *sb, const LWPOINT *point,
      const geojson_opts *opts, int tagged)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:143,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:144,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:145,1
    - Dst: pointArray_to_geojson
      Src: /src/postgis/liblwgeom/lwout_geojson.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sb
    - line
    - opts
    - tagged
    argTypes:
    - stringbuffer_t*
    - LWLINE*
    - geojson_opts*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 5
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: asgeojson_line_coords
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - pointArray_to_geojson
    - lwgeom_is_empty
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_line_coords(stringbuffer_t *sb, const LWLINE *line,
      const geojson_opts *opts, int tagged)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:155,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:156,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:157,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:160,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:163,1
    - Dst: pointArray_to_geojson
      Src: /src/postgis/liblwgeom/lwout_geojson.c:164,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - sb
    - poly
    - opts
    - tagged
    argTypes:
    - stringbuffer_t*
    - LWPOLY*
    - geojson_opts*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: asgeojson_poly_coords
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - stringbuffer_append_char
    - pointArray_to_geojson
    - lwgeom_is_empty
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_poly_coords(stringbuffer_t *sb, const LWPOLY *poly,
      const geojson_opts *opts, int tagged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:177,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:178,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:179,1
    - Dst: asgeojson_point_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:180,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sb
    - point
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOINT*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: asgeojson_point
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - asgeojson_srs
    - asgeojson_point_coords
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_point(stringbuffer_t *sb, const LWPOINT *point, const
      geojson_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:191,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:192,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:193,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:194,1
    - Dst: lwtriangle_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:195,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:196,1
    - Dst: pointArray_to_geojson
      Src: /src/postgis/liblwgeom/lwout_geojson.c:198,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sb
    - tri
    - opts
    argTypes:
    - stringbuffer_t*
    - LWTRIANGLE*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: asgeojson_triangle
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - lwtriangle_is_empty
    - asgeojson_srs
    - pointArray_to_geojson
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_triangle(stringbuffer_t *sb, const LWTRIANGLE *tri,
      const geojson_opts *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:210,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:211,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:212,1
    - Dst: asgeojson_line_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:213,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sb
    - line
    - opts
    argTypes:
    - stringbuffer_t*
    - LWLINE*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: asgeojson_line
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - asgeojson_srs
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    - asgeojson_line_coords
    linkageType: ''
    returnType: void
    signature: void asgeojson_line(stringbuffer_t *sb, const LWLINE *line, const geojson_opts
      *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:224,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:225,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:226,1
    - Dst: asgeojson_poly_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:227,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sb
    - poly
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOLY*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: asgeojson_poly
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - asgeojson_poly_coords
    - asgeojson_srs
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_poly(stringbuffer_t *sb, const LWPOLY *poly, const geojson_opts
      *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:239,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:240,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:241,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:242,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:244,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:249,1
    - Dst: asgeojson_point_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:250,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sb
    - mpoint
    - opts
    argTypes:
    - stringbuffer_t*
    - LWMPOINT*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: asgeojson_multipoint
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_empty
    - asgeojson_srs
    - asgeojson_point_coords
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_multipoint(stringbuffer_t *sb, const LWMPOINT *mpoint,
      const geojson_opts *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:264,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:265,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:266,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:267,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:269,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:274,1
    - Dst: asgeojson_line_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:275,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sb
    - mline
    - opts
    argTypes:
    - stringbuffer_t*
    - LWMLINE*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 6
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: asgeojson_multiline
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_empty
    - asgeojson_srs
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    - asgeojson_line_coords
    linkageType: ''
    returnType: void
    signature: void asgeojson_multiline(stringbuffer_t *sb, const LWMLINE *mline,
      const geojson_opts *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:287,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:288,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:289,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:290,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:292,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:297,1
    - Dst: asgeojson_poly_coords
      Src: /src/postgis/liblwgeom/lwout_geojson.c:298,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sb
    - mpoly
    - opts
    argTypes:
    - stringbuffer_t*
    - LWMPOLY*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 302
    functionName: asgeojson_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_empty
    - asgeojson_poly_coords
    - asgeojson_srs
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_multipolygon(stringbuffer_t *sb, const LWMPOLY *mpoly,
      const geojson_opts *opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:318,1
    - Dst: asgeojson_srs
      Src: /src/postgis/liblwgeom/lwout_geojson.c:319,1
    - Dst: asgeojson_bbox
      Src: /src/postgis/liblwgeom/lwout_geojson.c:320,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:321,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_geojson.c:323,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_geojson.c:328,1
    - Dst: asgeojson_geometry
      Src: /src/postgis/liblwgeom/lwout_geojson.c:329,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_geojson.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 334
    functionName: asgeojson_collection
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - asgeojson_geometry
    - lwgeom_is_empty
    - asgeojson_srs
    - stringbuffer_append_char
    - asgeojson_bbox
    - stringbuffer_append_len
    linkageType: ''
    returnType: void
    signature: void asgeojson_collection(stringbuffer_t *sb, const LWCOLLECTION *col,
      const geojson_opts *opts)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: asgeojson_point
      Src: /src/postgis/liblwgeom/lwout_geojson.c:342,1
    - Dst: asgeojson_line
      Src: /src/postgis/liblwgeom/lwout_geojson.c:345,1
    - Dst: asgeojson_poly
      Src: /src/postgis/liblwgeom/lwout_geojson.c:348,1
    - Dst: asgeojson_multipoint
      Src: /src/postgis/liblwgeom/lwout_geojson.c:351,1
    - Dst: asgeojson_multiline
      Src: /src/postgis/liblwgeom/lwout_geojson.c:354,1
    - Dst: asgeojson_multipolygon
      Src: /src/postgis/liblwgeom/lwout_geojson.c:357,1
    - Dst: asgeojson_triangle
      Src: /src/postgis/liblwgeom/lwout_geojson.c:360,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_geojson.c:365,1
    - Dst: asgeojson_collection
      Src: /src/postgis/liblwgeom/lwout_geojson.c:367,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_geojson.c:370,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_geojson.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - sb
    - geom
    - opts
    argTypes:
    - stringbuffer_t*
    - LWGEOM*
    - geojson_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 336
    functionDepth: 7
    functionLinenumber: 336
    functionLinenumberEnd: 372
    functionName: asgeojson_geometry
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 1
    functionsReached:
    - asgeojson_multipoint
    - asgeojson_poly
    - lwerror
    - asgeojson_line
    - asgeojson_point
    - asgeojson_multipolygon
    - asgeojson_triangle
    - lwtype_name
    - asgeojson_multiline
    - asgeojson_collection
    linkageType: ''
    returnType: void
    signature: void asgeojson_geometry(stringbuffer_t *sb, const LWGEOM *geom, const
      geojson_opts *opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_geojson.c:384,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_geojson.c:386,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/lwout_geojson.c:393,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_geojson.c:400,1
    - Dst: asgeojson_geometry
      Src: /src/postgis/liblwgeom/lwout_geojson.c:402,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_geojson.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - geom
    - srs
    - precision
    - has_bbox
    argTypes:
    - LWGEOM*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 377
    functionDepth: 8
    functionLinenumber: 377
    functionLinenumberEnd: 407
    functionName: lwgeom_to_geojson
    functionSourceFile: /src/postgis/liblwgeom/lwout_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_gbox_cartesian
    - memset
    - asgeojson_geometry
    - stringbuffer_init_varlena
    - stringbuffer_getvarlena
    - FLAGS_GET_Z
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_geojson(const LWGEOM *geom, const char *srs, int precision, int has_bbox)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:38,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:40,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:45,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:74,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:77,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/lwin_encoded_polyline.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - encodedpolyline
    - precision
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: lwgeom_from_encoded_polyline
    functionSourceFile: /src/postgis/liblwgeom/lwin_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_append_point
    - lwgeom_add_bbox
    - strlen
    - pow
    - lwline_construct
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_from_encoded_polyline(const char *encodedpolyline, int precision)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_twkb.c:35,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:63,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_twkb.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: lwgeom_twkb_type
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwtype_name
    - LWDEBUG
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lwgeom_twkb_type(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:78,1
    - Dst: varint_s64_encode_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:81,1
    - Dst: varint_s64_encode_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - ndims
    argTypes:
    - TWKB_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: sizeof_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - varint_s64_encode_buf
    - LWDEBUGF
    linkageType: ''
    returnType: size_t
    signature: size_t sizeof_bbox(TWKB_STATE *ts, int ndims)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:93,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:96,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ts
    - ndims
    argTypes:
    - TWKB_STATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: write_bbox
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - bytebuffer_append_varint
    - LWDEBUGF
    linkageType: ''
    returnType: void
    signature: void write_bbox(TWKB_STATE *ts, int ndims)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwout_twkb.c:109,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:118,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:123,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:124,1
    - Dst: bytebuffer_init_with_size
      Src: /src/postgis/liblwgeom/lwout_twkb.c:137,1
    - Dst: bytebuffer_append_byte
      Src: /src/postgis/liblwgeom/lwout_twkb.c:154,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwout_twkb.c:160,1
    - Dst: llround
      Src: /src/postgis/liblwgeom/lwout_twkb.c:170,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:171,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/lwout_twkb.c:172,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:191,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:214,1
    - Dst: bytebuffer_append_bytebuffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:216,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:219,1
    - Dst: varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:226,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - pa
    - globals
    - ts
    - register_npoints
    - minpoints
    argTypes:
    - POINTARRAY*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 230
    functionName: ptarray_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - bytebuffer_append_varint
    - bytebuffer_destroy_buffer
    - bytebuffer_append_uvarint
    - bytebuffer_init_with_size
    - bytebuffer_append_bytebuffer
    - getPoint_internal
    - varint_u64_encode_buf
    - llround
    - llabs
    - LWDEBUGF
    - bytebuffer_append_byte
    linkageType: ''
    returnType: int
    signature: int ptarray_to_twkb_buf(const POINTARRAY *pa, TWKB_GLOBALS *globals,
      TWKB_STATE *ts, int register_npoints, uint32_t minpoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:238,1
    - Dst: ptarray_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pt
    - globals
    - ts
    argTypes:
    - LWPOINT*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: lwpoint_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - ptarray_to_twkb_buf
    linkageType: ''
    returnType: int
    signature: int lwpoint_to_twkb_buf(const LWPOINT *pt, TWKB_GLOBALS *globals, TWKB_STATE
      *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:251,1
    - Dst: ptarray_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - line
    - globals
    - ts
    argTypes:
    - LWLINE*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: lwline_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - ptarray_to_twkb_buf
    linkageType: ''
    returnType: int
    signature: int lwline_to_twkb_buf(const LWLINE *line, TWKB_GLOBALS *globals, TWKB_STATE
      *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:261,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:262,1
    - Dst: ptarray_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tri
    - globals
    - ts
    argTypes:
    - LWTRIANGLE*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: lwtriangle_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - ptarray_to_twkb_buf
    - bytebuffer_append_uvarint
    linkageType: ''
    returnType: int
    signature: int lwtriangle_to_twkb_buf(const LWTRIANGLE *tri, TWKB_GLOBALS *globals,
      TWKB_STATE *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:278,1
    - Dst: ptarray_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - poly
    - globals
    - ts
    argTypes:
    - LWPOLY*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: lwpoly_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - bytebuffer_append_uvarint
    - ptarray_to_twkb_buf
    linkageType: ''
    returnType: int
    signature: int lwpoly_to_twkb_buf(const LWPOLY *poly, TWKB_GLOBALS *globals, TWKB_STATE
      *ts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:300,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:301,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_twkb.c:307,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:312,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_twkb.c:320,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:323,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_twkb.c:333,1
    - Dst: lwgeom_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:336,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - col
    - globals
    - ts
    argTypes:
    - LWCOLLECTION*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 339
    functionName: lwmulti_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - bytebuffer_append_varint
    - bytebuffer_append_uvarint
    - lwgeom_is_empty
    - LWDEBUGF
    - lwgeom_to_twkb_buf
    linkageType: ''
    returnType: int
    signature: int lwmulti_to_twkb_buf(const LWCOLLECTION *col, TWKB_GLOBALS *globals,
      TWKB_STATE *ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:349,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:350,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:353,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:359,1
    - Dst: lwgeom_write_to_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - col
    - globals
    - ts
    argTypes:
    - LWCOLLECTION*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 371
    functionName: lwcollection_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_write_to_buffer
    - bytebuffer_append_varint
    - LWDEBUGF
    - bytebuffer_append_uvarint
    linkageType: ''
    returnType: int
    signature: int lwcollection_to_twkb_buf(const LWCOLLECTION *col, TWKB_GLOBALS
      *globals, TWKB_STATE *ts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:380,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:386,1
    - Dst: lwpoint_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:387,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:391,1
    - Dst: lwline_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:392,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:396,1
    - Dst: lwtriangle_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:397,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:402,1
    - Dst: lwpoly_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:403,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:411,1
    - Dst: lwmulti_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:412,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:417,1
    - Dst: lwcollection_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:418,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:422,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_twkb.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - geom
    - globals
    - ts
    argTypes:
    - LWGEOM*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 426
    functionName: lwgeom_to_twkb_buf
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 1
    functionsReached:
    - lwcollection_to_twkb_buf
    - lwtriangle_to_twkb_buf
    - lwline_to_twkb_buf
    - lwmulti_to_twkb_buf
    - lwerror
    - lwtype_name
    - lwpoly_to_twkb_buf
    - LWDEBUGF
    - lwpoint_to_twkb_buf
    linkageType: ''
    returnType: int
    signature: int lwgeom_to_twkb_buf(const LWGEOM *geom, TWKB_GLOBALS *globals, TWKB_STATE
      *ts)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_twkb.c:437,1
    - Dst: bytebuffer_init_with_size
      Src: /src/postgis/liblwgeom/lwout_twkb.c:442,1
    - Dst: bytebuffer_init_with_size
      Src: /src/postgis/liblwgeom/lwout_twkb.c:443,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/liblwgeom/lwout_twkb.c:446,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_twkb.c:447,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwout_twkb.c:450,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwout_twkb.c:451,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwout_twkb.c:458,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwout_twkb.c:463,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwout_twkb.c:465,1
    - Dst: abs
      Src: /src/postgis/liblwgeom/lwout_twkb.c:478,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:479,1
    - Dst: TYPE_PREC_SET_TYPE
      Src: /src/postgis/liblwgeom/lwout_twkb.c:482,1
    - Dst: lwgeom_twkb_type
      Src: /src/postgis/liblwgeom/lwout_twkb.c:482,1
    - Dst: TYPE_PREC_SET_PREC
      Src: /src/postgis/liblwgeom/lwout_twkb.c:484,1
    - Dst: zigzag8
      Src: /src/postgis/liblwgeom/lwout_twkb.c:484,1
    - Dst: bytebuffer_append_byte
      Src: /src/postgis/liblwgeom/lwout_twkb.c:486,1
    - Dst: FIRST_BYTE_SET_BBOXES
      Src: /src/postgis/liblwgeom/lwout_twkb.c:490,1
    - Dst: FIRST_BYTE_SET_SIZES
      Src: /src/postgis/liblwgeom/lwout_twkb.c:492,1
    - Dst: FIRST_BYTE_SET_IDLIST
      Src: /src/postgis/liblwgeom/lwout_twkb.c:494,1
    - Dst: FIRST_BYTE_SET_EXTENDED
      Src: /src/postgis/liblwgeom/lwout_twkb.c:496,1
    - Dst: FIRST_BYTE_SET_EMPTY
      Src: /src/postgis/liblwgeom/lwout_twkb.c:498,1
    - Dst: bytebuffer_append_byte
      Src: /src/postgis/liblwgeom/lwout_twkb.c:500,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:509,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:512,1
    - Dst: HIGHER_DIM_SET_HASZ
      Src: /src/postgis/liblwgeom/lwout_twkb.c:514,1
    - Dst: HIGHER_DIM_SET_HASM
      Src: /src/postgis/liblwgeom/lwout_twkb.c:515,1
    - Dst: HIGHER_DIM_SET_PRECZ
      Src: /src/postgis/liblwgeom/lwout_twkb.c:516,1
    - Dst: HIGHER_DIM_SET_PRECM
      Src: /src/postgis/liblwgeom/lwout_twkb.c:517,1
    - Dst: bytebuffer_append_byte
      Src: /src/postgis/liblwgeom/lwout_twkb.c:518,1
    - Dst: bytebuffer_append_byte
      Src: /src/postgis/liblwgeom/lwout_twkb.c:528,1
    - Dst: bytebuffer_append_bytebuffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:530,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:531,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:532,1
    - Dst: lwgeom_to_twkb_buf
      Src: /src/postgis/liblwgeom/lwout_twkb.c:537,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_twkb.c:544,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_twkb.c:558,1
    - Dst: sizeof_bbox
      Src: /src/postgis/liblwgeom/lwout_twkb.c:559,1
    - Dst: bytebuffer_getlength
      Src: /src/postgis/liblwgeom/lwout_twkb.c:567,1
    - Dst: bytebuffer_append_uvarint
      Src: /src/postgis/liblwgeom/lwout_twkb.c:569,1
    - Dst: write_bbox
      Src: /src/postgis/liblwgeom/lwout_twkb.c:573,1
    - Dst: bytebuffer_append_bytebuffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:575,1
    - Dst: bytebuffer_append_bytebuffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:576,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:578,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:579,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 3
    argNames:
    - geom
    - globals
    - parent_state
    argTypes:
    - LWGEOM*
    - TWKB_GLOBALS*
    - TWKB_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 581
    functionName: lwgeom_write_to_buffer
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 1
    functionsReached:
    - FIRST_BYTE_SET_BBOXES
    - lwgeom_has_z
    - HIGHER_DIM_SET_PRECM
    - bytebuffer_append_byte
    - HIGHER_DIM_SET_HASM
    - lwgeom_has_m
    - bytebuffer_getlength
    - abs
    - memset
    - bytebuffer_append_uvarint
    - FIRST_BYTE_SET_EMPTY
    - bytebuffer_append_bytebuffer
    - lwgeom_to_twkb_buf
    - lwgeom_twkb_type
    - lwgeom_ndims
    - FIRST_BYTE_SET_SIZES
    - HIGHER_DIM_SET_HASZ
    - lwerror
    - bytebuffer_init_with_size
    - zigzag8
    - pow
    - TYPE_PREC_SET_TYPE
    - bytebuffer_destroy_buffer
    - TYPE_PREC_SET_PREC
    - LWDEBUG
    - lwgeom_is_empty
    - sizeof_bbox
    - write_bbox
    - HIGHER_DIM_SET_PRECZ
    - FIRST_BYTE_SET_EXTENDED
    - FIRST_BYTE_SET_IDLIST
    linkageType: ''
    returnType: int
    signature: int lwgeom_write_to_buffer(const LWGEOM *geom, TWKB_GLOBALS *globals,
      TWKB_STATE *parent_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:596,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwout_twkb.c:597,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_twkb.c:603,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_twkb.c:604,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwout_twkb.c:611,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:613,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwout_twkb.c:619,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_twkb.c:620,1
    - Dst: bytebuffer_init_with_size
      Src: /src/postgis/liblwgeom/lwout_twkb.c:627,1
    - Dst: lwgeom_write_to_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:628,1
    - Dst: bytebuffer_get_buffer_varlena
      Src: /src/postgis/liblwgeom/lwout_twkb.c:630,1
    - Dst: bytebuffer_destroy_buffer
      Src: /src/postgis/liblwgeom/lwout_twkb.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 6
    argNames:
    - geom
    - idlist
    - variant
    - precision_xy
    - precision_z
    - precision_m
    argTypes:
    - LWGEOM*
    - int64_t*
    - uint8_t
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 588
    functionDepth: 7
    functionLinenumber: 588
    functionLinenumberEnd: 633
    functionName: lwgeom_to_twkb_with_idlist
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - memset
    - lwgeom_is_collection
    - bytebuffer_destroy_buffer
    - LWDEBUG
    - lwerror
    - bytebuffer_init_with_size
    - bytebuffer_get_buffer_varlena
    - lwgeom_write_to_buffer
    - LWDEBUGF
    linkageType: ''
    returnType: lwvarlena_t
    signature: "lwvarlena_t *\nlwgeom_to_twkb_with_idlist(const LWGEOM *geom,\n\t\t\t
      \  int64_t *idlist,\n\t\t\t   uint8_t variant,\n\t\t\t   int8_t precision_xy,\n\t\t\t
      \  int8_t precision_z,\n\t\t\t   int8_t precision_m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_twkb_with_idlist
      Src: /src/postgis/liblwgeom/lwout_twkb.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - geom
    - variant
    - precision_xy
    - precision_z
    - precision_m
    argTypes:
    - LWGEOM*
    - uint8_t
    - int8_t
    - int8_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 635
    functionDepth: 8
    functionLinenumber: 635
    functionLinenumberEnd: 639
    functionName: lwgeom_to_twkb
    functionSourceFile: /src/postgis/liblwgeom/lwout_twkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_twkb_with_idlist
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_twkb(const LWGEOM *geom, uint8_t variant, int8_t precision_xy, int8_t
      precision_z, int8_t precision_m)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - next
    argTypes:
    - twkb_parse_state*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: twkb_parse_state_advance
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: void
    signature: void twkb_parse_state_advance(twkb_parse_state *s, size_t next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_s64_decode
      Src: /src/postgis/liblwgeom/lwin_twkb.c:96,1
    - Dst: twkb_parse_state_advance
      Src: /src/postgis/liblwgeom/lwin_twkb.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: twkb_parse_state_varint
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - varint_s64_decode
    - twkb_parse_state_advance
    linkageType: ''
    returnType: int64_t
    signature: int64_t twkb_parse_state_varint(twkb_parse_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_u64_decode
      Src: /src/postgis/liblwgeom/lwin_twkb.c:104,1
    - Dst: twkb_parse_state_advance
      Src: /src/postgis/liblwgeom/lwin_twkb.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: twkb_parse_state_uvarint
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - varint_u64_decode
    - twkb_parse_state_advance
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t twkb_parse_state_uvarint(twkb_parse_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_s64_decode
      Src: /src/postgis/liblwgeom/lwin_twkb.c:112,1
    - Dst: twkb_parse_state_advance
      Src: /src/postgis/liblwgeom/lwin_twkb.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - factor
    argTypes:
    - twkb_parse_state*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: twkb_parse_state_double
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - varint_s64_decode
    - twkb_parse_state_advance
    linkageType: ''
    returnType: double
    signature: double twkb_parse_state_double(twkb_parse_state *s, double factor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_size
      Src: /src/postgis/liblwgeom/lwin_twkb.c:119,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:122,1
    - Dst: twkb_parse_state_advance
      Src: /src/postgis/liblwgeom/lwin_twkb.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: twkb_parse_state_varint_skip
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    - twkb_parse_state_advance
    - varint_size
    linkageType: ''
    returnType: void
    signature: void twkb_parse_state_varint_skip(twkb_parse_state *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - twkb_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: lwtype_from_twkb_type
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwtype_from_twkb_type(uint8_t twkb_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: twkb_parse_state_advance
      Src: /src/postgis/liblwgeom/lwin_twkb.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: byte_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - twkb_parse_state_advance
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t byte_from_twkb_state(twkb_parse_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:179,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:180,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:184,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwin_twkb.c:186,1
    - Dst: twkb_parse_state_varint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:192,1
    - Dst: twkb_parse_state_varint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:196,1
    - Dst: twkb_parse_state_varint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:202,1
    - Dst: twkb_parse_state_varint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - s
    - npoints
    argTypes:
    - twkb_parse_state*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 216
    functionName: ptarray_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - LWDEBUG
    - ptarray_construct
    - twkb_parse_state_varint
    - LWDEBUGF
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_from_twkb_state(twkb_parse_state *s, uint32_t
      npoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:226,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:229,1
    - Dst: ptarray_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:231,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwin_twkb.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: lwpoint_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - ptarray_from_twkb_state
    - lwpoint_construct
    - lwpoint_construct_empty
    - LWDEBUG
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwpoint_from_twkb_state(twkb_parse_state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:243,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:246,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:249,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:252,1
    - Dst: ptarray_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:255,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:258,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:262,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_twkb.c:262,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwin_twkb.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: lwline_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwline_construct_empty
    - ptarray_from_twkb_state
    - lwerror
    - lwtype_name
    - lwline_construct
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_from_twkb_state(twkb_parse_state *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:278,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:281,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:284,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:287,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:289,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:298,1
    - Dst: ptarray_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:299,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwin_twkb.c:306,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwin_twkb.c:309,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwin_twkb.c:310,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:316,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_twkb.c:316,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:317,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_twkb.c:317,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwin_twkb.c:322,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:324,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 330
    functionName: lwpoly_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwpoly_add_ring
    - twkb_parse_state_uvarint
    - ptarray_is_closed_2d
    - LWDEBUG
    - lwerror
    - ptarray_from_twkb_state
    - ptarray_append_point
    - lwpoly_construct_empty
    - lwtype_name
    - LWDEBUGF
    - getPoint4d_p
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_from_twkb_state(twkb_parse_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:340,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:342,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:348,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:349,1
    - Dst: twkb_parse_state_varint_skip
      Src: /src/postgis/liblwgeom/lwin_twkb.c:355,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:360,1
    - Dst: lwpoint_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:360,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:361,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 369
    functionName: lwmultipoint_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwpoint_from_twkb_state
    - lwerror
    - lwcollection_construct_empty
    - twkb_parse_state_varint_skip
    - lwpoint_as_lwgeom
    - LWDEBUGF
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwmultipoint_from_twkb_state(twkb_parse_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:378,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:380,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:386,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:388,1
    - Dst: twkb_parse_state_varint_skip
      Src: /src/postgis/liblwgeom/lwin_twkb.c:394,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:399,1
    - Dst: lwline_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:399,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:400,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 408
    functionName: lwmultiline_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwline_from_twkb_state
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwerror
    - lwline_as_lwgeom
    - lwcollection_construct_empty
    - twkb_parse_state_varint_skip
    - LWDEBUGF
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwmultiline_from_twkb_state(twkb_parse_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:417,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:419,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:425,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:426,1
    - Dst: twkb_parse_state_varint_skip
      Src: /src/postgis/liblwgeom/lwin_twkb.c:432,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:437,1
    - Dst: lwpoly_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:437,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:438,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 446
    functionName: lwmultipoly_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - lwpoly_from_twkb_state
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwerror
    - lwcollection_construct_empty
    - twkb_parse_state_varint_skip
    - lwpoly_as_lwgeom
    - LWDEBUGF
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwmultipoly_from_twkb_state(twkb_parse_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwin_twkb.c:456,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:458,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:464,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:466,1
    - Dst: twkb_parse_state_varint_skip
      Src: /src/postgis/liblwgeom/lwin_twkb.c:472,1
    - Dst: lwgeom_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:477,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:478,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 487
    functionName: lwcollection_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwerror
    - lwcollection_construct_empty
    - twkb_parse_state_varint_skip
    - lwgeom_from_twkb_state
    - LWDEBUGF
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_from_twkb_state(twkb_parse_state *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:492,1
    - Dst: byte_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:497,1
    - Dst: byte_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:498,1
    - Dst: unzigzag8
      Src: /src/postgis/liblwgeom/lwin_twkb.c:502,1
    - Dst: lwtype_from_twkb_type
      Src: /src/postgis/liblwgeom/lwin_twkb.c:505,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwin_twkb.c:508,1
    - Dst: byte_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:522,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwin_twkb.c:531,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwin_twkb.c:532,1
    - Dst: twkb_parse_state_uvarint
      Src: /src/postgis/liblwgeom/lwin_twkb.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 552
    functionName: header_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - twkb_parse_state_uvarint
    - LWDEBUG
    - lwtype_from_twkb_type
    - pow
    - unzigzag8
    - byte_from_twkb_state
    linkageType: ''
    returnType: void
    signature: void header_from_twkb_state(twkb_parse_state *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: header_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:571,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwin_twkb.c:585,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwin_twkb.c:586,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:589,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:590,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:592,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:593,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:597,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:598,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:603,1
    - Dst: twkb_parse_state_double
      Src: /src/postgis/liblwgeom/lwin_twkb.c:604,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:612,1
    - Dst: lwpoint_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:612,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:615,1
    - Dst: lwline_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:615,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:618,1
    - Dst: lwpoly_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:618,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:621,1
    - Dst: lwmultipoint_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:621,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:624,1
    - Dst: lwmultiline_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:624,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:627,1
    - Dst: lwmultipoly_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:627,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwin_twkb.c:630,1
    - Dst: lwcollection_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:630,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwin_twkb.c:634,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwin_twkb.c:634,1
    - Dst: gbox_clone
      Src: /src/postgis/liblwgeom/lwin_twkb.c:639,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - s
    argTypes:
    - twkb_parse_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 642
    functionName: lwgeom_from_twkb_state
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 1
    functionsReached:
    - lwline_from_twkb_state
    - memset
    - lwpoly_from_twkb_state
    - lwcollection_from_twkb_state
    - lwcollection_as_lwgeom
    - lwpoint_from_twkb_state
    - lwline_as_lwgeom
    - header_from_twkb_state
    - lwmultipoly_from_twkb_state
    - lwpoly_as_lwgeom
    - lwerror
    - lwmultiline_from_twkb_state
    - gbox_clone
    - lwmultipoint_from_twkb_state
    - lwflags
    - lwpoint_as_lwgeom
    - lwtype_name
    - twkb_parse_state_double
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_twkb_state(twkb_parse_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwin_twkb.c:659,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwin_twkb.c:660,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwin_twkb.c:663,1
    - Dst: lwgeom_from_twkb_state
      Src: /src/postgis/liblwgeom/lwin_twkb.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - twkb
    - twkb_size
    - check
    argTypes:
    - uint8_t*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 654
    functionDepth: 7
    functionLinenumber: 654
    functionLinenumberEnd: 673
    functionName: lwgeom_from_twkb
    functionSourceFile: /src/postgis/liblwgeom/lwin_twkb.c
    functionUses: 0
    functionsReached:
    - memset
    - LWDEBUGF
    - lwgeom_from_twkb_state
    - LWDEBUG
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_twkb(const uint8_t *twkb, size_t twkb_size, char
      check)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwchaikins.c:38,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwchaikins.c:38,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:40,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwchaikins.c:40,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwchaikins.c:40,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwchaikins.c:44,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwchaikins.c:48,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwchaikins.c:54,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwchaikins.c:55,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwchaikins.c:84,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/lwchaikins.c:91,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwchaikins.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - inpts
    - preserve_endpoint
    - isclosed
    argTypes:
    - POINTARRAY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 99
    functionName: ptarray_chaikin
    functionSourceFile: /src/postgis/liblwgeom/lwchaikins.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_has_z
    - ptarray_append_point
    - FLAGS_GET_M
    - getPoint4d
    - memcpy
    - ptarray_has_m
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_chaikin(POINTARRAY *inpts, int preserve_endpoint,
      int isclosed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:107,1
    - Dst: lwline_clone
      Src: /src/postgis/liblwgeom/lwchaikins.c:108,1
    - Dst: ptarray_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:113,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwchaikins.c:115,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwchaikins.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - iline
    - n_iterations
    argTypes:
    - LWLINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: lwline_chaikin
    functionSourceFile: /src/postgis/liblwgeom/lwchaikins.c
    functionUses: 0
    functionsReached:
    - lwline_clone
    - ptarray_free
    - ptarray_chaikin
    - lwline_is_empty
    - lwline_construct
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_chaikin(const LWLINE *iline, int n_iterations)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:131,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwchaikins.c:131,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwchaikins.c:131,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:133,1
    - Dst: ptarray_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:140,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwchaikins.c:142,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwchaikins.c:147,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ipoly
    - n_iterations
    - preserve_endpoint
    argTypes:
    - LWPOLY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 159
    functionName: lwpoly_chaikin
    functionSourceFile: /src/postgis/liblwgeom/lwchaikins.c
    functionUses: 0
    functionsReached:
    - lwpoly_add_ring
    - ptarray_free
    - FLAGS_GET_M
    - lwpoly_is_empty
    - lwpoly_construct_empty
    - ptarray_chaikin
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_chaikin(const LWPOLY *ipoly, int n_iterations, int
      preserve_endpoint)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwchaikins.c:164,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:167,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwchaikins.c:167,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwchaikins.c:167,1
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/lwchaikins.c:169,1
    - Dst: lwgeom_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:174,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwchaikins.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - igeom
    - n_iterations
    - preserve_endpoint
    argTypes:
    - LWCOLLECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: lwcollection_chaikin
    functionSourceFile: /src/postgis/liblwgeom/lwchaikins.c
    functionUses: 0
    functionsReached:
    - lwcollection_is_empty
    - LWDEBUG
    - lwcollection_construct_empty
    - FLAGS_GET_M
    - lwgeom_chaikin
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_chaikin(const LWCOLLECTION *igeom, int
      n_iterations, int preserve_endpoint)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwchaikins.c:184,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwchaikins.c:189,1
    - Dst: lwline_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:191,1
    - Dst: lwpoly_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:193,1
    - Dst: lwcollection_chaikin
      Src: /src/postgis/liblwgeom/lwchaikins.c:197,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwchaikins.c:199,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwchaikins.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - igeom
    - n_iterations
    - preserve_endpoint
    argTypes:
    - LWGEOM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: lwgeom_chaikin
    functionSourceFile: /src/postgis/liblwgeom/lwchaikins.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - lwerror
    - lwcollection_chaikin
    - lwline_chaikin
    - lwgeom_clone
    - lwtype_name
    - lwpoly_chaikin
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_chaikin(const LWGEOM *igeom, int n_iterations, int
      preserve_endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: stringlist_capacity_in_bytes
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t stringlist_capacity_in_bytes(size_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringlist.c:39,1
    - Dst: stringlist_capacity_in_bytes
      Src: /src/postgis/liblwgeom/stringlist.c:39,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/stringlist.c:40,1
    - Dst: stringlist_capacity_in_bytes
      Src: /src/postgis/liblwgeom/stringlist.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - stringlist_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: stringlist_init_with_size
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - memset
    - lwalloc
    - stringlist_capacity_in_bytes
    linkageType: ''
    returnType: void
    signature: void stringlist_init_with_size(stringlist_t *s, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_init_with_size
      Src: /src/postgis/liblwgeom/stringlist.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: stringlist_init
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_init_with_size
    linkageType: ''
    returnType: void
    signature: void stringlist_init(stringlist_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/stringlist.c:55,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/stringlist.c:56,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/stringlist.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: stringlist_release
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - memset
    - lwfree
    linkageType: ''
    returnType: void
    signature: void stringlist_release(stringlist_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/stringlist.c:64,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/stringlist.c:65,1
    - Dst: stringlist_init_with_size
      Src: /src/postgis/liblwgeom/stringlist.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stringlist_create_with_size
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - memset
    - stringlist_init_with_size
    - lwalloc
    linkageType: ''
    returnType: stringlist_t
    signature: 'stringlist_t *

      stringlist_create_with_size(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_create_with_size
      Src: /src/postgis/liblwgeom/stringlist.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: stringlist_create
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_create_with_size
    linkageType: ''
    returnType: stringlist_t
    signature: 'stringlist_t *

      stringlist_create(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_release
      Src: /src/postgis/liblwgeom/stringlist.c:79,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/stringlist.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: stringlist_destroy
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_release
    - lwfree
    linkageType: ''
    returnType: void
    signature: void stringlist_destroy(stringlist_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/stringlist.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: stringlist_cmp
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int stringlist_cmp(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_init
      Src: /src/postgis/liblwgeom/stringlist.c:97,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/stringlist.c:102,1
    - Dst: stringlist_capacity_in_bytes
      Src: /src/postgis/liblwgeom/stringlist.c:102,1
    - Dst: lwstrdup
      Src: /src/postgis/liblwgeom/stringlist.c:104,1
    - Dst: stringlist_sort
      Src: /src/postgis/liblwgeom/stringlist.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - s
    - string
    - dosort
    argTypes:
    - stringlist_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: stringlist_add_string_internal
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_sort
    - lwstrdup
    - stringlist_init
    - lwrealloc
    - stringlist_capacity_in_bytes
    linkageType: ''
    returnType: void
    signature: void stringlist_add_string_internal(stringlist_t *s, const char* string,
      int dosort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_add_string_internal
      Src: /src/postgis/liblwgeom/stringlist.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - string
    argTypes:
    - stringlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: stringlist_add_string
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_add_string_internal
    linkageType: ''
    returnType: void
    signature: void stringlist_add_string(stringlist_t *s, const char* string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_add_string_internal
      Src: /src/postgis/liblwgeom/stringlist.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - string
    argTypes:
    - stringlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: stringlist_add_string_nosort
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - stringlist_add_string_internal
    linkageType: ''
    returnType: void
    signature: void stringlist_add_string_nosort(stringlist_t *s, const char* string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postgis/liblwgeom/stringlist.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: stringlist_sort
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void stringlist_sort(stringlist_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/postgis/liblwgeom/stringlist.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - stringlist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: stringlist_find
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char
    signature: 'char *

      stringlist_find(stringlist_t *s, const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: stringlist_length
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t stringlist_length(stringlist_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stringlist_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: stringlist_get
    functionSourceFile: /src/postgis/liblwgeom/stringlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      stringlist_get(stringlist_t *s, size_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: distance2d_sqr_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double distance2d_sqr_pt_pt(const POINT2D *p1, const POINT2D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: distance3d_sqr_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double distance3d_sqr_pt_pt(const POINT3D *p1, const POINT3D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwinline.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: ptarray_point_size
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 21
    functionsReached:
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t ptarray_point_size(const POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwinline.h:80,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwinline.h:81,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwinline.h:82,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/lwinline.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts:
    - condition: (pa)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/postgis/liblwgeom/lwinline.h
    - condition: (n <= pa->maxpoints)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/liblwgeom/lwinline.h
    - condition: (n <= pa->npoints)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/postgis/liblwgeom/lwinline.h
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: getPoint_internal
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 31
    functionsReached:
    - assert
    - ptarray_point_size
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      getPoint_internal(const POINTARRAY *pa, uint32_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwinline.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: getPoint2d_cp
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 38
    functionsReached:
    - getPoint_internal
    linkageType: ''
    returnType: POINT2D
    signature: 'POINT2D *

      getPoint2d_cp(const POINTARRAY *pa, uint32_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwinline.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: getPoint3d_cp
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 3
    functionsReached:
    - getPoint_internal
    linkageType: ''
    returnType: POINT3D
    signature: 'POINT3D *

      getPoint3d_cp(const POINTARRAY *pa, uint32_t n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwinline.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: getPoint4d_cp
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 1
    functionsReached:
    - getPoint_internal
    linkageType: ''
    returnType: POINT4D
    signature: 'POINT4D *

      getPoint4d_cp(const POINTARRAY *pa, uint32_t n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: lwgeom_as_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwgeom_as_lwpoint(const LWGEOM *lwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: lwgeom_get_type
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwgeom_get_type(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: lwpoint_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwpoint_is_empty(const LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: lwline_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwline_is_empty(const LWLINE *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - circ
    argTypes:
    - LWCIRCSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: lwcircstring_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwcircstring_is_empty(const LWCIRCSTRING *circ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: lwpoly_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwpoly_is_empty(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: lwtriangle_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwtriangle_is_empty(const LWTRIANGLE *triangle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: lwcollection_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 4
    functionsReached:
    - lwgeom_is_empty
    linkageType: ''
    returnType: int
    signature: int lwcollection_is_empty(const LWCOLLECTION *col)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:204,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:207,1
    - Dst: lwcircstring_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:210,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:213,1
    - Dst: lwtriangle_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:216,1
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/lwinline.h:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 234
    functionName: lwgeom_is_empty
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 75
    functionsReached:
    - lwcollection_is_empty
    - lwtriangle_is_empty
    - lwpoly_is_empty
    - lwcircstring_is_empty
    - lwpoint_is_empty
    - lwline_is_empty
    linkageType: ''
    returnType: int
    signature: int lwgeom_is_empty(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: uint64_interleave_2
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uint64_interleave_2(uint64_t x, uint64_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint64_interleave_2
      Src: /src/postgis/liblwgeom/lwinline.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 2
    argNames:
    - px
    - py
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 333
    functionName: uint32_hilbert
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 1
    functionsReached:
    - uint64_interleave_2
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t uint32_hilbert(uint32_t px, uint32_t py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptrsrc
    - ','
    - ptrori
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: POSTGIS_FREE_IF_COPY_P
    functionSourceFile: /src/postgis/liblwgeom/lwinline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_FREE_IF_COPY_P(ptrsrc, ptrori)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/intervaltree.c:30,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/intervaltree.c:31,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/intervaltree.c:37,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/intervaltree.c:40,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/intervaltree.c:41,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/intervaltree.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - itree
    argTypes:
    - IntervalTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: itree_free
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void itree_free(IntervalTree *itree)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: itree_num_nodes_pointarray
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t itree_num_nodes_pointarray(const POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itree_num_nodes_pointarray
      Src: /src/postgis/liblwgeom/intervaltree.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: itree_num_nodes_polygon
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_num_nodes_pointarray
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t itree_num_nodes_polygon(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itree_num_nodes_polygon
      Src: /src/postgis/liblwgeom/intervaltree.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mpoly
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: itree_num_nodes_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_num_nodes_polygon
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t itree_num_nodes_multipolygon(const LWMPOLY *mpoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_count_rings
      Src: /src/postgis/liblwgeom/intervaltree.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mpoly
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: itree_num_rings
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - lwgeom_count_rings
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t itree_num_rings(const LWMPOLY *mpoly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/intervaltree.c:103,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/intervaltree.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - itree
    argTypes:
    - IntervalTree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: itree_new_node
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - lwerror
    - memset
    linkageType: ''
    returnType: IntervalTreeNode
    signature: 'IntervalTreeNode *

      itree_new_node(IntervalTree *itree)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: itree_new_node
      Src: /src/postgis/liblwgeom/intervaltree.c:149,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/intervaltree.c:153,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/intervaltree.c:154,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/intervaltree.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - itree
    - nodes_remaining
    argTypes:
    - IntervalTree*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 165
    functionName: itree_merge_nodes
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    - itree_new_node
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t itree_merge_nodes(IntervalTree *itree, uint32_t nodes_remaining)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:175,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:176,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:177,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pt1
    - pt2
    argTypes:
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: itree_edge_invalid
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - isfinite
    linkageType: ''
    returnType: int
    signature: int itree_edge_invalid(const POINT2D *pt1, const POINT2D *pt2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/intervaltree.c:193,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/intervaltree.c:198,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/intervaltree.c:199,1
    - Dst: itree_edge_invalid
      Src: /src/postgis/liblwgeom/intervaltree.c:202,1
    - Dst: itree_new_node
      Src: /src/postgis/liblwgeom/intervaltree.c:206,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/intervaltree.c:207,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/intervaltree.c:208,1
    - Dst: itree_merge_nodes
      Src: /src/postgis/liblwgeom/intervaltree.c:216,1
    - Dst: ptarray_clone
      Src: /src/postgis/liblwgeom/intervaltree.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - itree
    - pa
    argTypes:
    - IntervalTree*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 234
    functionName: itree_add_pointarray
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - itree_edge_invalid
    - getPoint2d_cp
    - lwerror
    - ptarray_clone
    - itree_new_node
    - FP_MAX
    - itree_merge_nodes
    linkageType: ''
    returnType: void
    signature: void itree_add_pointarray(IntervalTree *itree, const POINTARRAY *pa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: itree_num_nodes_polygon
      Src: /src/postgis/liblwgeom/intervaltree.c:242,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:243,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:246,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:247,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:248,1
    - Dst: itree_add_pointarray
      Src: /src/postgis/liblwgeom/intervaltree.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - itree
    - poly
    argTypes:
    - IntervalTree*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: itree_add_polygon
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_num_nodes_polygon
    - lwalloc0
    - itree_add_pointarray
    linkageType: ''
    returnType: void
    signature: void itree_add_polygon(IntervalTree *itree, const LWPOLY *poly)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: itree_num_nodes_multipolygon
      Src: /src/postgis/liblwgeom/intervaltree.c:272,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:273,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:276,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:277,1
    - Dst: itree_num_rings
      Src: /src/postgis/liblwgeom/intervaltree.c:277,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:278,1
    - Dst: itree_num_rings
      Src: /src/postgis/liblwgeom/intervaltree.c:278,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/intervaltree.c:285,1
    - Dst: itree_add_pointarray
      Src: /src/postgis/liblwgeom/intervaltree.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - itree
    - mpoly
    argTypes:
    - IntervalTree*
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 304
    functionName: itree_add_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - lwalloc0
    - itree_num_rings
    - lwpoly_is_empty
    - itree_num_nodes_multipolygon
    - itree_add_pointarray
    linkageType: ''
    returnType: void
    signature: void itree_add_multipolygon(IntervalTree *itree, const LWMPOLY *mpoly)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/intervaltree.c:310,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/intervaltree.c:311,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:313,1
    - Dst: itree_add_multipolygon
      Src: /src/postgis/liblwgeom/intervaltree.c:314,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/liblwgeom/intervaltree.c:314,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/intervaltree.c:317,1
    - Dst: lwalloc0
      Src: /src/postgis/liblwgeom/intervaltree.c:319,1
    - Dst: itree_add_polygon
      Src: /src/postgis/liblwgeom/intervaltree.c:320,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/intervaltree.c:320,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/intervaltree.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 328
    functionName: itree_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_add_multipolygon
    - lwalloc0
    - lwgeom_as_lwmpoly
    - lwerror
    - lwgeom_as_lwpoly
    - lwgeom_get_type
    - itree_add_polygon
    linkageType: ''
    returnType: IntervalTree
    signature: 'IntervalTree *

      itree_from_lwgeom(const LWGEOM *geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - seg1
    - seg2
    - point
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: itree_segment_side
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double itree_segment_side(const POINT2D *seg1, const POINT2D *seg2,
      const POINT2D *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/intervaltree.c:359,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/intervaltree.c:360,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/intervaltree.c:361,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/intervaltree.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - seg1
    - seg2
    - point
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: itree_point_on_segment
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - FP_MAX
    - FP_MIN
    linkageType: ''
    returnType: int
    signature: int itree_point_on_segment(const POINT2D *seg1, const POINT2D *seg2,
      const POINT2D *point)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FP_CONTAINS_INCL
      Src: /src/postgis/liblwgeom/intervaltree.c:382,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/intervaltree.c:389,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/intervaltree.c:390,1
    - Dst: itree_segment_side
      Src: /src/postgis/liblwgeom/intervaltree.c:391,1
    - Dst: itree_point_on_segment
      Src: /src/postgis/liblwgeom/intervaltree.c:400,1
    - Dst: itree_point_in_ring_recursive
      Src: /src/postgis/liblwgeom/intervaltree.c:430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - node
    - pa
    - pt
    - winding_number
    argTypes:
    - IntervalTreeNode*
    - POINTARRAY*
    - POINT2D*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 437
    functionName: itree_point_in_ring_recursive
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    - FP_CONTAINS_INCL
    - itree_segment_side
    - itree_point_in_ring_recursive
    - itree_point_on_segment
    linkageType: ''
    returnType: IntervalTreeResult
    signature: "IntervalTreeResult itree_point_in_ring_recursive(\n\tconst IntervalTreeNode
      *node,\n\tconst POINTARRAY *pa,\n\tconst POINT2D *pt,\n\tint *winding_number)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: itree_point_in_ring_recursive
      Src: /src/postgis/liblwgeom/intervaltree.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - itree
    - ringNumber
    - pt
    argTypes:
    - IntervalTree*
    - uint32_t
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: itree_point_in_ring
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_ring_recursive
    linkageType: ''
    returnType: IntervalTreeResult
    signature: IntervalTreeResult itree_point_in_ring(const IntervalTree *itree, uint32_t
      ringNumber, const POINT2D *pt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/intervaltree.c:473,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/intervaltree.c:477,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:478,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/intervaltree.c:478,1
    - Dst: itree_point_in_ring
      Src: /src/postgis/liblwgeom/intervaltree.c:490,1
    - Dst: itree_point_in_ring
      Src: /src/postgis/liblwgeom/intervaltree.c:501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - itree
    - point
    argTypes:
    - IntervalTree*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 526
    functionName: itree_point_in_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/intervaltree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_ring
    - isfinite
    - getPoint2d_cp
    - lwpoint_is_empty
    linkageType: ''
    returnType: IntervalTreeResult
    signature: IntervalTreeResult itree_point_in_multipolygon(const IntervalTree *itree,
      const LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distanceline
      Src: /src/postgis/liblwgeom/measures.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: lwgeom_closest_line
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lw_dist2d_distanceline
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_closest_line(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distanceline
      Src: /src/postgis/liblwgeom/measures.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: lwgeom_furthest_line
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lw_dist2d_distanceline
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_furthest_line(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distancepoint
      Src: /src/postgis/liblwgeom/measures.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: lwgeom_closest_point
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lw_dist2d_distancepoint
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_closest_point(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distancepoint
      Src: /src/postgis/liblwgeom/measures.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: lwgeom_furthest_point
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lw_dist2d_distancepoint
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_furthest_point(const LWGEOM *lw1, const LWGEOM *lw2)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dl
    - mode
    argTypes:
    - DISTPTS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: lw_dist2d_distpts_init
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lw_dist2d_distpts_init(DISTPTS *dl, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:97,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures.c:99,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:102,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures.c:103,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:109,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures.c:110,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/measures.c:119,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/measures.c:120,1
    - Dst: lwline_from_ptarray
      Src: /src/postgis/liblwgeom/measures.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - lw1
    - lw2
    - srid
    - mode
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 125
    functionName: lw_dist2d_distanceline
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 3
    functionsReached:
    - LWDEBUG
    - lwerror
    - lwcollection_construct_empty
    - lwline_from_ptarray
    - lw_dist2d_comp
    - lwpoint_make2d
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lw_dist2d_distanceline(const LWGEOM *lw1, const LWGEOM *lw2, int32_t srid, int
      mode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:142,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures.c:144,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:147,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures.c:148,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:152,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/measures.c:153,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/measures.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - lw1
    - lw2
    - srid
    - mode
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: lw_dist2d_distancepoint
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 3
    functionsReached:
    - LWDEBUG
    - lwerror
    - lwcollection_construct_empty
    - lw_dist2d_comp
    - lwpoint_make2d
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lw_dist2d_distancepoint(const LWGEOM *lw1, const LWGEOM *lw2, int32_t srid,
      int mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:170,1
    - Dst: lwgeom_maxdistance2d_tolerance
      Src: /src/postgis/liblwgeom/measures.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: lwgeom_maxdistance2d
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_maxdistance2d_tolerance
    - LWDEBUG
    linkageType: ''
    returnType: double
    signature: double lwgeom_maxdistance2d(const LWGEOM *lw1, const LWGEOM *lw2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:184,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures.c:188,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - lw1
    - lw2
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: lwgeom_maxdistance2d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - lwerror
    - lw_dist2d_comp
    - LWDEBUG
    linkageType: ''
    returnType: double
    signature: double lwgeom_maxdistance2d_tolerance(const LWGEOM *lw1, const LWGEOM
      *lw2, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/measures.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lw1
    - lw2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: lwgeom_mindistance2d
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_mindistance2d_tolerance
    linkageType: ''
    returnType: double
    signature: double lwgeom_mindistance2d(const LWGEOM *lw1, const LWGEOM *lw2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:213,1
    - Dst: lw_dist2d_comp
      Src: /src/postgis/liblwgeom/measures.c:217,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - lw1
    - lw2
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: lwgeom_mindistance2d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 4
    functionsReached:
    - lwerror
    - lw_dist2d_comp
    - LWDEBUG
    linkageType: ''
    returnType: double
    signature: double lwgeom_mindistance2d_tolerance(const LWGEOM *lw1, const LWGEOM
      *lw2, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lw1
    - lw2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: lw_dist2d_comp
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 6
    functionsReached:
    - lw_dist2d_recursive
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_comp(const LWGEOM *lw1, const LWGEOM *lw2, DISTPTS *dl)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: lw_dist2d_is_collection
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_is_collection(const LWGEOM *g)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:281,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:283,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:285,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/measures.c:286,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:289,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:291,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/measures.c:292,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:299,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures.c:304,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:307,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:309,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:310,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:316,1
    - Dst: lw_dist2d_is_collection
      Src: /src/postgis/liblwgeom/measures.c:321,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:323,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:324,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/measures.c:330,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/measures.c:333,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures.c:336,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/measures.c:336,1
    - Dst: lw_dist2d_check_overlap
      Src: /src/postgis/liblwgeom/measures.c:339,1
    - Dst: lw_dist2d_distribute_fast
      Src: /src/postgis/liblwgeom/measures.c:343,1
    - Dst: lw_dist2d_distribute_bruteforce
      Src: /src/postgis/liblwgeom/measures.c:348,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:350,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:353,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 3
    argNames:
    - lwg1
    - lwg2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 358
    functionName: lw_dist2d_recursive
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - lw_dist2d_check_overlap
    - lw_dist2d_distribute_bruteforce
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lw_dist2d_distribute_fast
    - lwgeom_is_empty
    - lw_dist2d_is_collection
    - lwgeom_add_bbox
    - lw_dist2d_recursive
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_recursive(const LWGEOM *lwg1, const LWGEOM *lwg2, DISTPTS
      *dl)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_point_point
      Src: /src/postgis/liblwgeom/measures.c:375,1
    - Dst: lw_dist2d_point_line
      Src: /src/postgis/liblwgeom/measures.c:377,1
    - Dst: lw_dist2d_point_tri
      Src: /src/postgis/liblwgeom/measures.c:379,1
    - Dst: lw_dist2d_point_poly
      Src: /src/postgis/liblwgeom/measures.c:381,1
    - Dst: lw_dist2d_point_circstring
      Src: /src/postgis/liblwgeom/measures.c:383,1
    - Dst: lw_dist2d_point_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:385,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:387,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:387,1
    - Dst: lw_dist2d_point_line
      Src: /src/postgis/liblwgeom/measures.c:398,1
    - Dst: lw_dist2d_line_line
      Src: /src/postgis/liblwgeom/measures.c:400,1
    - Dst: lw_dist2d_line_tri
      Src: /src/postgis/liblwgeom/measures.c:402,1
    - Dst: lw_dist2d_line_poly
      Src: /src/postgis/liblwgeom/measures.c:404,1
    - Dst: lw_dist2d_line_circstring
      Src: /src/postgis/liblwgeom/measures.c:406,1
    - Dst: lw_dist2d_line_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:408,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:410,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:410,1
    - Dst: lw_dist2d_point_tri
      Src: /src/postgis/liblwgeom/measures.c:421,1
    - Dst: lw_dist2d_line_tri
      Src: /src/postgis/liblwgeom/measures.c:424,1
    - Dst: lw_dist2d_tri_tri
      Src: /src/postgis/liblwgeom/measures.c:426,1
    - Dst: lw_dist2d_tri_poly
      Src: /src/postgis/liblwgeom/measures.c:428,1
    - Dst: lw_dist2d_tri_circstring
      Src: /src/postgis/liblwgeom/measures.c:430,1
    - Dst: lw_dist2d_tri_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:432,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:434,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:434,1
    - Dst: lw_dist2d_point_circstring
      Src: /src/postgis/liblwgeom/measures.c:445,1
    - Dst: lw_dist2d_line_circstring
      Src: /src/postgis/liblwgeom/measures.c:448,1
    - Dst: lw_dist2d_tri_circstring
      Src: /src/postgis/liblwgeom/measures.c:451,1
    - Dst: lw_dist2d_circstring_poly
      Src: /src/postgis/liblwgeom/measures.c:453,1
    - Dst: lw_dist2d_circstring_circstring
      Src: /src/postgis/liblwgeom/measures.c:455,1
    - Dst: lw_dist2d_circstring_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:457,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:459,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:459,1
    - Dst: lw_dist2d_point_poly
      Src: /src/postgis/liblwgeom/measures.c:469,1
    - Dst: lw_dist2d_line_poly
      Src: /src/postgis/liblwgeom/measures.c:471,1
    - Dst: lw_dist2d_tri_poly
      Src: /src/postgis/liblwgeom/measures.c:473,1
    - Dst: lw_dist2d_circstring_poly
      Src: /src/postgis/liblwgeom/measures.c:475,1
    - Dst: lw_dist2d_poly_poly
      Src: /src/postgis/liblwgeom/measures.c:478,1
    - Dst: lw_dist2d_poly_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:481,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:483,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:483,1
    - Dst: lw_dist2d_point_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:493,1
    - Dst: lw_dist2d_line_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:495,1
    - Dst: lw_dist2d_tri_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:497,1
    - Dst: lw_dist2d_poly_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:499,1
    - Dst: lw_dist2d_circstring_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:501,1
    - Dst: lw_dist2d_curvepoly_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:504,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:506,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:506,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:512,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 137
    argCount: 3
    argNames:
    - lwg1
    - lwg2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 518
    functionName: lw_dist2d_distribute_bruteforce
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_line_line
    - lw_dist2d_circstring_poly
    - lw_dist2d_point_curvepoly
    - lw_dist2d_point_line
    - lw_dist2d_circstring_curvepoly
    - lw_dist2d_line_poly
    - lw_dist2d_point_point
    - lw_dist2d_tri_poly
    - lw_dist2d_poly_curvepoly
    - lw_dist2d_point_poly
    - lw_dist2d_circstring_circstring
    - lw_dist2d_tri_curvepoly
    - lw_dist2d_curvepoly_curvepoly
    - lw_dist2d_line_curvepoly
    - lwerror
    - lw_dist2d_point_tri
    - lw_dist2d_poly_poly
    - lw_dist2d_tri_tri
    - lw_dist2d_line_circstring
    - lwtype_name
    - lw_dist2d_line_tri
    - lw_dist2d_tri_circstring
    - lw_dist2d_point_circstring
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_distribute_bruteforce(const LWGEOM *lwg1, const LWGEOM
      *lwg2, DISTPTS *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:524,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/measures.c:526,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/measures.c:528,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:534,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - lwg1
    - lwg2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 521
    functionDepth: 7
    functionLinenumber: 521
    functionLinenumberEnd: 539
    functionName: lw_dist2d_check_overlap
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lwgeom_calculate_gbox
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_check_overlap(LWGEOM *lwg1, LWGEOM *lwg2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:549,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:563,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:563,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:578,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/measures.c:578,1
    - Dst: lw_dist2d_fast_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:582,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - lwg1
    - lwg2
    - dl
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 583
    functionName: lw_dist2d_distribute_fast
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lwerror
    - LWDEBUGF
    - lw_dist2d_fast_ptarray_ptarray
    - lwtype_name
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_distribute_fast(LWGEOM *lwg1, LWGEOM *lwg2, DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:602,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:603,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - point1
    - point2
    - dl
    argTypes:
    - LWPOINT*
    - LWPOINT*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: lw_dist2d_point_point
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_pt
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_point(LWPOINT *point1, LWPOINT *point2, DISTPTS
      *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:612,1
    - Dst: lw_dist2d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - point
    - line
    - dl
    argTypes:
    - LWPOINT*
    - LWLINE*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: lw_dist2d_point_line
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_ptarray
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_line(LWPOINT *point, LWLINE *line, DISTPTS *dl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:619,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:621,1
    - Dst: lw_dist2d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - point
    - tri
    - dl
    argTypes:
    - LWPOINT*
    - LWTRIANGLE*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: lw_dist2d_point_tri
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_ptarray
    - ptarray_contains_point
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_tri(LWPOINT *point, LWTRIANGLE *tri, DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:636,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/measures.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - point
    - circ
    - dl
    argTypes:
    - LWPOINT*
    - LWCIRCSTRING*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: lw_dist2d_point_circstring
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_ptarrayarc
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_circstring(LWPOINT *point, LWCIRCSTRING *circ,
      DISTPTS *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:648,1
    - Dst: lw_dist2d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures.c:652,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:655,1
    - Dst: lw_dist2d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures.c:656,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:665,1
    - Dst: lw_dist2d_pt_ptarray
      Src: /src/postgis/liblwgeom/measures.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - point
    - poly
    - dl
    argTypes:
    - LWPOINT*
    - LWPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 673
    functionName: lw_dist2d_point_poly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_ptarray
    - getPoint2d_cp
    - ptarray_contains_point
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_poly(LWPOINT *point, LWPOLY *poly, DISTPTS *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:678,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:681,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:684,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:685,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:692,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - point
    - poly
    - dl
    argTypes:
    - LWPOINT*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 700
    functionName: lw_dist2d_point_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint2d_cp
    - lw_dist2d_recursive
    - lwgeom_contains_point
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_point_curvepoly(LWPOINT *point, LWCURVEPOLY *poly, DISTPTS
      *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line1
    - line2
    - dl
    argTypes:
    - LWLINE*
    - LWLINE*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: lw_dist2d_line_line
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_line_line(LWLINE *line1, LWLINE *line2, DISTPTS *dl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:713,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:715,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - line
    - tri
    - dl
    argTypes:
    - LWLINE*
    - LWTRIANGLE*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: lw_dist2d_line_tri
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - getPoint2d_cp
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_line_tri(LWLINE *line, LWTRIANGLE *tri, DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/measures.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line1
    - line2
    - dl
    argTypes:
    - LWLINE*
    - LWCIRCSTRING*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: lw_dist2d_line_circstring
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_ptarray_ptarrayarc
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_line_circstring(LWLINE *line1, LWCIRCSTRING *line2, DISTPTS
      *dl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:747,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:750,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:751,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:755,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - line
    - poly
    - dl
    argTypes:
    - LWLINE*
    - LWPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 776
    functionName: lw_dist2d_line_poly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - getPoint2d_cp
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_line_poly(LWLINE *line, LWPOLY *poly, DISTPTS *dl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:781,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:784,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:785,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:789,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - line
    - poly
    - dl
    argTypes:
    - LWLINE*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 810
    functionName: lw_dist2d_line_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_recursive
    - getPoint2d_cp
    - lwgeom_contains_point
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_line_curvepoly(LWLINE *line, LWCURVEPOLY *poly, DISTPTS
      *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:817,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:818,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:826,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:827,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tri1
    - tri2
    - dl
    argTypes:
    - LWTRIANGLE*
    - LWTRIANGLE*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 836
    functionName: lw_dist2d_tri_tri
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - getPoint2d_cp
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_tri_tri(LWTRIANGLE *tri1, LWTRIANGLE *tri2, DISTPTS *dl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:842,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:846,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:849,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:851,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:859,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:860,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:871,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - tri
    - poly
    - dl
    argTypes:
    - LWTRIANGLE*
    - LWPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 889
    functionName: lw_dist2d_tri_poly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - getPoint2d_cp
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_tri_poly(LWTRIANGLE *tri, LWPOLY *poly, DISTPTS *dl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:896,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:898,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:903,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 890
    functionDepth: 3
    functionLinenumber: 890
    functionLinenumberEnd: 909
    functionName: lw_curvering_getfirstpoint2d_cp
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - lwerror
    - getPoint2d_cp
    linkageType: ''
    returnType: POINT2D
    signature: 'POINT2D *

      lw_curvering_getfirstpoint2d_cp(LWGEOM *geom)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:914,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:918,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:921,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:923,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:926,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:926,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:937,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:947,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - tri
    - poly
    - dl
    argTypes:
    - LWTRIANGLE*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 955
    functionName: lw_dist2d_tri_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_recursive
    - lw_curvering_getfirstpoint2d_cp
    - getPoint2d_cp
    - lwgeom_contains_point
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_tri_curvepoly(LWTRIANGLE *tri, LWCURVEPOLY *poly, DISTPTS
      *dl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:960,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:961,1
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/measures.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tri
    - line
    - dl
    argTypes:
    - LWTRIANGLE*
    - LWCIRCSTRING*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 970
    functionName: lw_dist2d_tri_circstring
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_curvering_getfirstpoint2d_cp
    - lw_dist2d_ptarray_ptarrayarc
    - ptarray_contains_point
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_tri_circstring(LWTRIANGLE *tri, LWCIRCSTRING *line, DISTPTS
      *dl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:986,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:990,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:995,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:996,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:998,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:999,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:1000,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1005,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1007,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:1008,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1012,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1014,1
    - Dst: lw_dist2d_ptarray_ptarray
      Src: /src/postgis/liblwgeom/measures.c:1015,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1019,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1020,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1028,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1029,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1037,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - poly1
    - poly2
    - dl
    argTypes:
    - LWPOLY*
    - LWPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1039
    functionName: lw_dist2d_poly_poly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - getPoint2d_cp
    - LWDEBUG
    - lwerror
    - lw_dist2d_ptarray_ptarray
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_poly_poly(LWPOLY *poly1, LWPOLY *poly2, DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcurvepoly_construct_from_lwpoly
      Src: /src/postgis/liblwgeom/measures.c:1044,1
    - Dst: lw_dist2d_curvepoly_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:1045,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/measures.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - poly1
    - curvepoly2
    - dl
    argTypes:
    - LWPOLY*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1041
    functionDepth: 4
    functionLinenumber: 1041
    functionLinenumberEnd: 1048
    functionName: lw_dist2d_poly_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_curvepoly_curvepoly
    - lwgeom_free
    - lwcurvepoly_construct_from_lwpoly
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_poly_curvepoly(LWPOLY *poly1, LWCURVEPOLY *curvepoly2,
      DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcurvepoly_construct_from_lwpoly
      Src: /src/postgis/liblwgeom/measures.c:1053,1
    - Dst: lw_dist2d_line_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:1054,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/measures.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - circ
    - poly
    - dl
    argTypes:
    - LWCIRCSTRING*
    - LWPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1050
    functionDepth: 5
    functionLinenumber: 1050
    functionLinenumberEnd: 1057
    functionName: lw_dist2d_circstring_poly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_line_curvepoly
    - lwgeom_free
    - lwcurvepoly_construct_from_lwpoly
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_circstring_poly(LWCIRCSTRING *circ, LWPOLY *poly, DISTPTS
      *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_line_curvepoly
      Src: /src/postgis/liblwgeom/measures.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - circ
    - poly
    - dl
    argTypes:
    - LWCIRCSTRING*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 5
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: lw_dist2d_circstring_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_line_curvepoly
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_circstring_curvepoly(LWCIRCSTRING *circ, LWCURVEPOLY
      *poly, DISTPTS *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_ptarrayarc_ptarrayarc
      Src: /src/postgis/liblwgeom/measures.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - line1
    - line2
    - dl
    argTypes:
    - LWCIRCSTRING*
    - LWCIRCSTRING*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: lw_dist2d_circstring_circstring
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_ptarrayarc_ptarrayarc
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_circstring_circstring(LWCIRCSTRING *line1, LWCIRCSTRING
      *line2, DISTPTS *dl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:1078,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1083,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1084,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1086,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1087,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:1088,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1093,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1095,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:1096,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1100,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1102,1
    - Dst: lw_dist2d_recursive
      Src: /src/postgis/liblwgeom/measures.c:1103,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1107,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1108,1
    - Dst: lw_curvering_getfirstpoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1116,1
    - Dst: lwgeom_contains_point
      Src: /src/postgis/liblwgeom/measures.c:1117,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - poly1
    - poly2
    - dl
    argTypes:
    - LWCURVEPOLY*
    - LWCURVEPOLY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1071
    functionDepth: 4
    functionLinenumber: 1071
    functionLinenumberEnd: 1127
    functionName: lw_dist2d_curvepoly_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - lw_dist2d_recursive
    - lw_curvering_getfirstpoint2d_cp
    - lwgeom_contains_point
    - lwerror
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_curvepoly_curvepoly(LWCURVEPOLY *poly1, LWCURVEPOLY *poly2,
      DISTPTS *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1139,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:1141,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1143,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:1146,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1151,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1152,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p
    - pa
    - dl
    argTypes:
    - POINT2D*
    - POINTARRAY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1133
    functionDepth: 3
    functionLinenumber: 1133
    functionLinenumberEnd: 1163
    functionName: lw_dist2d_pt_ptarray
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 3
    functionsReached:
    - getPoint2d_cp
    - LWDEBUG
    - lw_dist2d_pt_seg
    - lw_dist2d_pt_pt
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pt_ptarray(const POINT2D *p, POINTARRAY *pa, DISTPTS
      *dl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:1178,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1182,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1188,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1192,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1194,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1200,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1201,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - p
    - pa
    - dl
    argTypes:
    - POINT2D*
    - POINTARRAY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1169
    functionDepth: 3
    functionLinenumber: 1169
    functionLinenumberEnd: 1213
    functionName: lw_dist2d_pt_ptarrayarc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    - LWDEBUG
    - lwerror
    - lw_dist2d_pt_pt
    - lw_dist2d_pt_arc
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pt_ptarrayarc(const POINT2D *p, const POINTARRAY *pa,
      DISTPTS *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:1226,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1234,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1237,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1238,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1244,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1247,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1248,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1251,1
    - Dst: lw_dist2d_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:1253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - l1
    - l2
    - dl
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1262
    functionName: lw_dist2d_ptarray_ptarray
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 6
    functionsReached:
    - lw_dist2d_pt_pt
    - LWDEBUGF
    - getPoint2d_cp
    - lw_dist2d_seg_seg
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_ptarray_ptarray(POINTARRAY *l1, POINTARRAY *l2, DISTPTS
      *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:1278,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1282,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1288,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1293,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1296,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1297,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1300,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1301,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/measures.c:1304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pa
    - pb
    - dl
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1316
    functionName: lw_dist2d_ptarray_ptarrayarc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - lwerror
    - lw_dist2d_seg_arc
    - LWDEBUGF
    - getPoint2d_cp
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_ptarray_ptarrayarc(const POINTARRAY *pa, const POINTARRAY
      *pb, DISTPTS *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:1333,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1337,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1342,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1345,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1346,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1347,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1350,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:1351,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/measures.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pa
    - pb
    - dl
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1366
    functionName: lw_dist2d_ptarrayarc_ptarrayarc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lwerror
    - LWDEBUGF
    - getPoint2d_cp
    - lw_dist2d_arc_arc
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_ptarrayarc_ptarrayarc(const POINTARRAY *pa, const POINTARRAY
      *pb, DISTPTS *dl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1389,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1392,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1393,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/measures.c:1396,1
    - Dst: lw_dist2d_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:1400,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/measures.c:1403,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1404,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1405,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:1419,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:1420,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1430,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/measures.c:1431,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1442,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/measures.c:1443,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1460,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/measures.c:1461,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1481,1
    - Dst: lw_pt_in_seg
      Src: /src/postgis/liblwgeom/measures.c:1482,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1486,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1498,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1499,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1505,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1506,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1512,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1513,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1514,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1515,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 6
    argNames:
    - A1
    - A2
    - B1
    - B2
    - B3
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1372
    functionDepth: 3
    functionLinenumber: 1372
    functionLinenumberEnd: 1520
    functionName: lw_dist2d_seg_arc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 3
    functionsReached:
    - lwerror
    - lw_dist2d_pt_seg
    - lw_arc_center
    - lw_dist2d_pt_pt
    - lw_pt_in_arc
    - lw_pt_in_seg
    - lw_dist2d_seg_seg
    - lw_dist2d_distpts_init
    - lw_arc_is_pt
    - lw_dist2d_pt_arc
    - sqrt
    linkageType: ''
    returnType: int
    signature: "int lw_dist2d_seg_arc(const POINT2D *A1,\n\t\t  const POINT2D *A2,\n\t\t
      \ const POINT2D *B1,\n\t\t  const POINT2D *B2,\n\t\t  const POINT2D *B3,\n\t\t
      \ DISTPTS *dl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1530,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1533,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1534,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/measures.c:1537,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1541,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1544,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/measures.c:1547,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/measures.c:1560,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1560,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1562,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1567,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - P
    - A1
    - A2
    - A3
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1571
    functionName: lw_dist2d_pt_arc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 4
    functionsReached:
    - lwerror
    - p2d_same
    - lw_dist2d_pt_seg
    - lw_arc_center
    - lw_dist2d_pt_pt
    - lw_pt_in_arc
    - lw_arc_is_pt
    - distance2d_pt_pt
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pt_arc(const POINT2D *P, const POINT2D *A1, const POINT2D
      *A2, const POINT2D *A3, DISTPTS *dl)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1600,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1605,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1605,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1606,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1607,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1608,1
    - Dst: lw_arc_is_pt
      Src: /src/postgis/liblwgeom/measures.c:1609,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1610,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/measures.c:1613,1
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/measures.c:1614,1
    - Dst: lw_dist2d_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:1618,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/measures.c:1622,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/measures.c:1626,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1629,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/measures.c:1632,1
    - Dst: lw_dist2d_arc_arc_concentric
      Src: /src/postgis/liblwgeom/measures.c:1633,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1664,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1665,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1690,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1691,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1697,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:1708,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1719,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1720,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1734,1
    - Dst: lw_pt_in_arc
      Src: /src/postgis/liblwgeom/measures.c:1735,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/measures.c:1746,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1754,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1755,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1762,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/measures.c:1763,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1769,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1770,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1771,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1772,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 7
    argNames:
    - A1
    - A2
    - A3
    - B1
    - B2
    - B3
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1585
    functionDepth: 4
    functionLinenumber: 1585
    functionLinenumberEnd: 1777
    functionName: lw_dist2d_arc_arc
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 3
    functionsReached:
    - sqrt
    - lwerror
    - lw_arc_center
    - lw_dist2d_arc_arc_concentric
    - lw_dist2d_pt_pt
    - lw_pt_in_arc
    - lw_dist2d_seg_arc
    - lw_dist2d_seg_seg
    - lw_arc_is_pt
    - distance2d_pt_pt
    - lw_dist2d_pt_arc
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: "int lw_dist2d_arc_arc(const POINT2D *A1,\n\t\t  const POINT2D *A2,\n\t\t
      \ const POINT2D *A3,\n\t\t  const POINT2D *B1,\n\t\t  const POINT2D *B2,\n\t\t
      \ const POINT2D *B3,\n\t\t  DISTPTS *dl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1800,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1801,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1808,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1816,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1817,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1824,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1835,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1841,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures.c:1845,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1851,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures.c:1855,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1860,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1865,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures.c:1869,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/measures.c:1876,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures.c:1880,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1886,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1890,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1898,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:1906,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:1916,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 89
    argCount: 10
    argNames:
    - A1
    - A2
    - A3
    - radius_A
    - B1
    - B2
    - B3
    - radius_B
    - CENTER
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - double
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - double
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1779
    functionDepth: 2
    functionLinenumber: 1779
    functionLinenumberEnd: 1919
    functionName: lw_dist2d_arc_arc_concentric
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_segment_side
    - fabs
    - sqrt
    - distance2d_sqr_pt_pt
    linkageType: ''
    returnType: int
    signature: "int lw_dist2d_arc_arc_concentric(const POINT2D *A1,\n\t\t\t     const
      POINT2D *A2,\n\t\t\t     const POINT2D *A3,\n\t\t\t     double radius_A,\n\t\t\t
      \    const POINT2D *B1,\n\t\t\t     const POINT2D *B2,\n\t\t\t     const POINT2D
      *B3,\n\t\t\t     double radius_B,\n\t\t\t     const POINT2D *CENTER,\n\t\t\t
      \    DISTPTS *dl)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1935,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1942,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1975,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1975,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1979,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1979,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1990,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1990,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1994,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:1994,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 5
    argNames:
    - A
    - B
    - C
    - D
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1926
    functionDepth: 1
    functionLinenumber: 1926
    functionLinenumberEnd: 2028
    functionName: lw_dist2d_seg_seg
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 4
    functionsReached:
    - lw_dist2d_pt_seg
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_seg_seg(const POINT2D *A, const POINT2D *B, const POINT2D
      *C, const POINT2D *D, DISTPTS *dl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/measures.c:2060,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/measures.c:2061,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:2063,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2090,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2097,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2114,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2122,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/measures.c:2133,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/measures.c:2134,1
    - Dst: lw_dist2d_pre_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:2138,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2140,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2141,1
    - Dst: lw_dist2d_pre_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:2148,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2150,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2151,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2155,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/measures.c:2156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 70
    argCount: 5
    argNames:
    - l1
    - l2
    - dl
    - box1
    - box2
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - DISTPTS*
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2045
    functionDepth: 3
    functionLinenumber: 2045
    functionLinenumberEnd: 2158
    functionName: lw_dist2d_fast_ptarray_ptarray
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pre_seg_seg
    - getPoint2d_cp
    - LWDEBUG
    - qsort
    - lwalloc
    - lwfree
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_fast_ptarray_ptarray(POINTARRAY *l1, POINTARRAY *l2,
      DISTPTS *dl, GBOX *box1, GBOX *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2166
    functionName: struct_cmp_by_measure
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int struct_cmp_by_measure(const void *a, const void *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:2178,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2180,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2181,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2182,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:2183,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2196,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2199,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2209,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2219,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2225,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2228,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2238,1
    - Dst: lw_dist2d_selected_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:2240,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2245,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/measures.c:2256,1
    - Dst: lw_dist2d_selected_seg_seg
      Src: /src/postgis/liblwgeom/measures.c:2258,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:2261,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 6
    argNames:
    - l1
    - l2
    - list1
    - list2
    - k
    - dl
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - LISTSTRUCT*
    - LISTSTRUCT*
    - double
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2169
    functionDepth: 3
    functionLinenumber: 2169
    functionLinenumberEnd: 2267
    functionName: lw_dist2d_pre_seg_seg
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - getPoint2d_cp
    - LWDEBUG
    - lw_dist2d_selected_seg_seg
    - lw_dist2d_pt_pt
    - sqrt
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pre_seg_seg(POINTARRAY *l1, POINTARRAY *l2, LISTSTRUCT
      *list1, LISTSTRUCT *list2, double k, DISTPTS *dl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2280,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2287,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2290,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2290,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2294,1
    - Dst: lw_dist2d_pt_seg
      Src: /src/postgis/liblwgeom/measures.c:2294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - A
    - B
    - C
    - D
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2298
    functionName: lw_dist2d_selected_seg_seg
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - lw_dist2d_pt_seg
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_selected_seg_seg(const POINT2D *A, const POINT2D *B,
      const POINT2D *C, const POINT2D *D, DISTPTS *dl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:2320,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/measures.c:2325,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2326,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/measures.c:2348,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2355,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2357,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2361,1
    - Dst: lw_dist2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2363,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/measures.c:2386,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:2386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - p
    - A
    - B
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2315
    functionDepth: 1
    functionLinenumber: 2315
    functionLinenumberEnd: 2408
    functionName: lw_dist2d_pt_seg
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 7
    functionsReached:
    - LWDEBUG
    - fabs
    - lw_dist2d_pt_pt
    - LWDEBUGF
    - sqrt
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pt_seg(const POINT2D *p, const POINT2D *A, const POINT2D
      *B, DISTPTS *dl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/measures.c:2417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - thep1
    - thep2
    - dl
    argTypes:
    - POINT2D*
    - POINT2D*
    - DISTPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2438
    functionName: lw_dist2d_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 11
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: int
    signature: int lw_dist2d_pt_pt(const POINT2D *thep1, const POINT2D *thep2, DISTPTS
      *dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/postgis/liblwgeom/measures.c:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2451
    functionName: distance2d_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 12
    functionsReached:
    - hypot
    linkageType: ''
    returnType: double
    signature: double distance2d_pt_pt(const POINT2D *p1, const POINT2D *p2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2459,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2484,1
    - Dst: distance2d_sqr_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - C
    - A
    - B
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2502
    functionName: distance2d_sqr_pt_seg
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - distance2d_sqr_pt_pt
    linkageType: ''
    returnType: double
    signature: double distance2d_sqr_pt_seg(const POINT2D *C, const POINT2D *A, const
      POINT2D *B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/postgis/liblwgeom/measures.c:2513,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/measures.c:2513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - A
    - B
    - d
    argTypes:
    - POINT2D*
    - POINT2D*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2515
    functionName: azimuth_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 0
    functionsReached:
    - atan2
    - fmod
    linkageType: ''
    returnType: int
    signature: int azimuth_pt_pt(const POINT2D *A, const POINT2D *B, double *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/postgis/liblwgeom/measures.c:2527,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/measures.c:2534,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/measures.c:2535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - P
    - distance
    - azimuth
    - R
    argTypes:
    - POINT2D*
    - double
    - double
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2539
    functionName: project_pt
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 1
    functionsReached:
    - cos
    - sin
    - floor
    linkageType: ''
    returnType: int
    signature: int project_pt(const POINT2D *P, double distance, double azimuth, POINT2D
      *R)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/measures.c:2549,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/measures.c:2557,1
    - Dst: isfinite
      Src: /src/postgis/liblwgeom/measures.c:2558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - A
    - B
    - distance
    - R
    argTypes:
    - POINT4D*
    - POINT4D*
    - double
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2560
    functionName: project_pt_pt
    functionSourceFile: /src/postgis/liblwgeom/measures.c
    functionUses: 2
    functionsReached:
    - distance2d_pt_pt
    - isfinite
    linkageType: ''
    returnType: int
    signature: int project_pt_pt(const POINT4D *A, const POINT4D *B, double distance,
      POINT4D *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:44,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:44,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: point3d_equals
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int point3d_equals(const POINT3D *p1, const POINT3D *p2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:58,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - lon
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: longitude_radians_normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: double
    signature: double longitude_radians_normalize(double lon)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:82,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lat
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: latitude_radians_normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: double
    signature: double latitude_radians_normalize(double lat)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:109,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lon
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: longitude_degrees_normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: double
    signature: double longitude_degrees_normalize(double lon)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:137,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lat
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: latitude_degrees_normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: double
    signature: double latitude_degrees_normalize(double lat)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - shift
    argTypes:
    - GEOGRAPHIC_POINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: point_shift
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_shift(GEOGRAPHIC_POINT *p, double shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:172,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: geographic_point_equals
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int geographic_point_equals(const GEOGRAPHIC_POINT *g1, const GEOGRAPHIC_POINT
      *g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:182,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/lwgeodetic.c:182,1
    - Dst: longitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:183,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/lwgeodetic.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lon
    - lat
    - g
    argTypes:
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: geographic_point_init
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - latitude_radians_normalize
    - deg2rad
    - longitude_radians_normalize
    linkageType: ''
    returnType: void
    signature: void geographic_point_init(double lon, double lat, GEOGRAPHIC_POINT
      *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeodetic.c:198,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:206,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:210,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: gbox_angular_height
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - normalize
    - memcpy
    - asin
    linkageType: ''
    returnType: double
    signature: double gbox_angular_height(const GBOX* gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeodetic.c:225,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:230,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:246,1
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 263
    functionName: gbox_angular_width
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - acos
    - sqrt
    - memcpy
    linkageType: ''
    returnType: double
    signature: double gbox_angular_width(const GBOX* gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeodetic.c:276,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:288,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:298,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:300,1
    - Dst: longitude_degrees_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:301,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:301,1
    - Dst: latitude_degrees_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:302,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - gbox
    - out
    argTypes:
    - GBOX*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 305
    functionName: gbox_centroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - rad2deg
    - longitude_degrees_normalize
    - latitude_degrees_normalize
    - normalize
    - cart2geog
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gbox_centroid(const GBOX* gbox, POINT2D* out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/lwgeodetic.c:320,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:321,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:322,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic.c:323,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:332,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:338,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:344,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:357,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:362,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:367,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:380,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:385,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:390,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 399
    functionName: gbox_check_poles
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - lwfree
    - LWDEBUGF
    - gbox_to_string
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int gbox_check_poles(GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:406,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:406,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:407,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:407,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - p
    argTypes:
    - GEOGRAPHIC_POINT*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: geog2cart
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void geog2cart(const GEOGRAPHIC_POINT *g, POINT3D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:416,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - g
    argTypes:
    - POINT3D*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: cart2geog
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - atan2
    - asin
    linkageType: ''
    returnType: void
    signature: void cart2geog(const POINT3D *p, GEOGRAPHIC_POINT *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:427,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:428,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:429,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - g
    - p
    argTypes:
    - POINT2D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 431
    functionName: ll2cart
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void ll2cart(const POINT2D *g, POINT3D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: dot_product
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double dot_product(const POINT3D *p1, const POINT3D *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: cross_product
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cross_product(const POINT3D *a, const POINT3D *b, POINT3D *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: vector_sum
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_sum(const POINT3D *a, const POINT3D *b, POINT3D *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 482
    functionName: vector_difference
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_difference(const POINT3D *a, const POINT3D *b, POINT3D
      *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - n
    - scale
    argTypes:
    - POINT3D*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: vector_scale
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_scale(POINT3D *n, double scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:510,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:511,1
    - Dst: cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:512,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:514,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:515,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 519
    functionName: vector_angle
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - atan2
    - cross_product
    - normalize
    - dot_product
    linkageType: ''
    returnType: double
    signature: double vector_angle(const POINT3D* v1, const POINT3D* v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:526,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: normalize2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_IS_ZERO
    - sqrt
    linkageType: ''
    returnType: void
    signature: void normalize2d(POINT2D *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:543,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic.c:549,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:550,1
    - Dst: vector_difference
      Src: /src/postgis/liblwgeom/lwgeodetic.c:555,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:556,1
    - Dst: cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:565,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - P1
    - P2
    - normal
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 567
    functionName: unit_normal
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - cross_product
    - vector_difference
    - normalize
    - vector_sum
    - dot_product
    linkageType: ''
    returnType: void
    signature: void unit_normal(const POINT3D *P1, const POINT3D *P2, POINT3D *normal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:576,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:577,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:583,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 4
    argNames:
    - v1
    - v2
    - angle
    - n
    argTypes:
    - POINT3D*
    - POINT3D*
    - double
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 610
    functionName: vector_rotate
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - unit_normal
    - cos
    - normalize
    - sin
    linkageType: ''
    returnType: void
    signature: void vector_rotate(const POINT3D* v1, const POINT3D* v2, double angle,
      POINT3D* n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:617,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 627
    functionName: normalize
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 7
    functionsReached:
    - FP_IS_ZERO
    - sqrt
    linkageType: ''
    returnType: void
    signature: void normalize(POINT3D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:638,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:639,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:640,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:641,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:642,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:643,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:648,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:648,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - q
    - a
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 649
    functionName: robust_cross_product
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - sin
    - cos
    linkageType: ''
    returnType: void
    signature: void robust_cross_product(const GEOGRAPHIC_POINT *p, const GEOGRAPHIC_POINT
      *q, POINT3D *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: x_to_z
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void x_to_z(POINT3D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: y_to_z
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void y_to_z(POINT3D *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:668,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:669,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:670,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:671,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 686
    functionName: crosses_dateline
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - fabs
    - FP_EQUALS
    - SIGNUM
    linkageType: ''
    returnType: int
    signature: int crosses_dateline(const GEOGRAPHIC_POINT *s, const GEOGRAPHIC_POINT
      *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:699,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:700,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:701,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:703,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:704,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:705,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 715
    functionName: edge_point_side
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - normalize
    - FP_IS_ZERO
    - robust_cross_product
    - LWDEBUGF
    - dot_product
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int edge_point_side(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_point_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: edge_point_on_plane
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - edge_point_side
    linkageType: ''
    returnType: int
    signature: int edge_point_on_plane(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:740,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:741,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:745,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic.c:747,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:748,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:750,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:751,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:753,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:754,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:756,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:756,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:771,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:773,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 778
    functionName: edge_point_in_cone
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - fabs
    - normalize
    - vector_sum
    - LWDEBUGF
    - dot_product
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int edge_point_in_cone(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:787,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:787,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:788,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:788,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:788,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:791,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:792,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:793,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:800,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:802,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:804,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:819,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:819,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:819,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:819,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:821,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:823,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:827,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:831,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:834,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:837,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:840,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:845,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic.c:846,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:854,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwgeodetic.c:855,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:863,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:863,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:865,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:884,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:888,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 890
    functionName: edge_contains_coplanar_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - LWDEBUG
    - fabs
    - SIGNUM
    - FP_MAX
    - LWDEBUGF
    - FP_EQUALS
    linkageType: ''
    returnType: int
    signature: int edge_contains_coplanar_point(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:901,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:901,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:903,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:904,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:905,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:906,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:907,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:909,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:909,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:910,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:911,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 914
    functionName: sphere_distance
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - cos
    - sqrt
    - sin
    - POW2
    - atan2
    - FP_EQUALS
    linkageType: ''
    returnType: double
    signature: double sphere_distance(const GEOGRAPHIC_POINT *s, const GEOGRAPHIC_POINT
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:921,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic.c:921,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: sphere_distance_cartesian
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - acos
    - dot_product
    linkageType: ''
    returnType: double
    signature: double sphere_distance_cartesian(const POINT3D *s, const POINT3D *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:933,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:933,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:936,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:936,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:936,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:936,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:936,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:937,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:939,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:941,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:943,1
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:944,1
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:947,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - s
    - e
    - d
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 953
    functionName: sphere_direction
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - acos
    - fabs
    - sin
    - FP_IS_ZERO
    - cos
    - LWDEBUGF
    - FP_EQUALS
    linkageType: ''
    returnType: double
    signature: double sphere_direction(const GEOGRAPHIC_POINT *s, const GEOGRAPHIC_POINT
      *e, double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:969,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:970,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:971,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/lwgeodetic.c:972,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/lwgeodetic.c:973,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:974,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:976,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:976,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:976,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:976,1
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:977,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:977,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 978
    functionName: sphere_excess
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - tan
    - sphere_direction
    - sphere_distance
    - fabs
    - atan
    - SIGNUM
    - sqrt
    linkageType: ''
    returnType: double
    signature: double sphere_excess(const GEOGRAPHIC_POINT *a, const GEOGRAPHIC_POINT
      *b, const GEOGRAPHIC_POINT *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:988,1
    - Dst: edge_point_on_plane
      Src: /src/postgis/liblwgeom/lwgeodetic.c:988,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:991,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - e
    - p
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 4
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: edge_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - edge_point_on_plane
    - LWDEBUG
    - edge_point_in_cone
    linkageType: ''
    returnType: int
    signature: int edge_contains_point(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1003,1
    - Dst: acos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1004,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1005,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1006,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1011,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1013,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - z
    - top
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1021
    functionName: z_to_latitude
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - acos
    - fabs
    - SIGNUM
    - FP_IS_ZERO
    - LWDEBUGF
    linkageType: ''
    returnType: double
    signature: double z_to_latitude(double z, int top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1032,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1033,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1034,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1035,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1036,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1037,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1038,1
    - Dst: z_to_latitude
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1039,1
    - Dst: z_to_latitude
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1041,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1043,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - start
    - end
    - g_top
    - g_bottom
    argTypes:
    - POINT3D*
    - POINT3D*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1046
    functionName: clairaut_cartesian
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - unit_normal
    - LWDEBUG
    - cart2geog
    - LWDEBUGF
    - z_to_latitude
    linkageType: ''
    returnType: int
    signature: int clairaut_cartesian(const POINT3D *start, const POINT3D *end, GEOGRAPHIC_POINT
      *g_top, GEOGRAPHIC_POINT *g_bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1057,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1058,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1059,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1060,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1061,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1062,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1063,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1064,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1065,1
    - Dst: z_to_latitude
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1066,1
    - Dst: z_to_latitude
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1068,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1070,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - start
    - end
    - g_top
    - g_bottom
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1073
    functionName: clairaut_geographic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - normalize
    - robust_cross_product
    - cart2geog
    - LWDEBUGF
    - z_to_latitude
    linkageType: ''
    returnType: int
    signature: int clairaut_geographic(const GEOGRAPHIC_POINT *start, const GEOGRAPHIC_POINT
      *end, GEOGRAPHIC_POINT *g_top, GEOGRAPHIC_POINT *g_bottom)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1082,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1083,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1085,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1085,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1085,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1085,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1085,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1086,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1086,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1086,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1086,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1086,1
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1088,1
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1093,1
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1098,1
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1103,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1109,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1110,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1111,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1112,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1113,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1114,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1115,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1115,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1115,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1116,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1116,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1116,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1118,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1118,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1122,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1127,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1132,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1137,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1143,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1144,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1145,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1145,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1146,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1147,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1148,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1148,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1148,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1149,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1149,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1155,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1162,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 3
    argNames:
    - e1
    - e2
    - g
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1168
    functionName: edge_intersection
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - unit_normal
    - edge_contains_point
    - sqrt
    - LWDEBUG
    - fabs
    - atan2
    - normalize
    - geographic_point_equals
    - robust_cross_product
    - rad2deg
    - LWDEBUGF
    - FP_EQUALS
    - dot_product
    linkageType: ''
    returnType: int
    signature: int edge_intersection(const GEOGRAPHIC_EDGE *e1, const GEOGRAPHIC_EDGE
      *e2, GEOGRAPHIC_POINT *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1177,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1182,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1185,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1186,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1187,1
    - Dst: vector_scale
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1188,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1188,1
    - Dst: vector_difference
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1189,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1190,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1191,1
    - Dst: edge_point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1192,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1194,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1196,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - e
    - gp
    - closest
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1216
    functionName: edge_distance_to_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - edge_point_in_cone
    - vector_difference
    - sphere_distance
    - normalize
    - cart2geog
    - geographic_point_equals
    - vector_scale
    - robust_cross_product
    - dot_product
    - geog2cart
    linkageType: ''
    returnType: double
    signature: double edge_distance_to_point(const GEOGRAPHIC_EDGE *e, const GEOGRAPHIC_POINT
      *gp, GEOGRAPHIC_POINT *closest)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1227,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1228,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1229,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - e1
    - e2
    - closest1
    - closest2
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_EDGE*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1223
    functionDepth: 4
    functionLinenumber: 1223
    functionLinenumberEnd: 1261
    functionName: edge_distance_to_edge
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - edge_distance_to_point
    linkageType: ''
    returnType: double
    signature: double edge_distance_to_edge(const GEOGRAPHIC_EDGE *e1, const GEOGRAPHIC_EDGE
      *e2, GEOGRAPHIC_POINT *closest1, GEOGRAPHIC_POINT *closest2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1275,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1279,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1279,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1285,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1288,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - r
    - distance
    - azimuth
    - n
    argTypes:
    - GEOGRAPHIC_POINT*
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1295
    functionName: sphere_project
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - sin
    - isnan
    - cos
    - atan2
    - FP_EQUALS
    - asin
    linkageType: ''
    returnType: int
    signature: int sphere_project(const GEOGRAPHIC_POINT *r, double distance, double
      azimuth, GEOGRAPHIC_POINT *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1303,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1307,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1309,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1310,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1311,1
    - Dst: gbox_init_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1312,1
    - Dst: gbox_merge_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1313,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1319,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1321,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1329,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1330,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1344,1
    - Dst: gbox_merge_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - e
    - gbox
    argTypes:
    - GEOGRAPHIC_EDGE*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1298
    functionDepth: 2
    functionLinenumber: 1298
    functionLinenumberEnd: 1348
    functionName: edge_calculate_gbox_slow
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - sphere_distance
    - gbox_init_point3d
    - normalize
    - FP_IS_ZERO
    - gbox_merge_point3d
    - FP_EQUALS
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int edge_calculate_gbox_slow(const GEOGRAPHIC_EDGE *e, GBOX *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1370,1
    - Dst: gbox_merge_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1371,1
    - Dst: p3d_same
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1374,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1378,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1378,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1378,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1380,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1385,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1386,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1391,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1392,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1395,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1402,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1408,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1409,1
    - Dst: normalize2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1410,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1415,1
    - Dst: gbox_merge_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - A1
    - A2
    - gbox
    argTypes:
    - POINT3D*
    - POINT3D*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1362
    functionDepth: 2
    functionLinenumber: 1362
    functionLinenumberEnd: 1427
    functionName: edge_calculate_gbox
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - unit_normal
    - lw_segment_side
    - memset
    - lwerror
    - gbox_init_point3d
    - normalize2d
    - p3d_same
    - gbox_merge_point3d
    - FP_EQUALS
    - dot_product
    linkageType: ''
    returnType: int
    signature: int edge_calculate_gbox(const POINT3D *A1, const POINT3D *A2, GBOX
      *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1447,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1456,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1457,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1459,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1460,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1461,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1462,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1464,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1465,1
    - Dst: cross_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1467,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1468,1
    - Dst: vector_scale
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1470,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1472,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1473,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1475,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1476,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - poly
    - pt_outside
    argTypes:
    - LWPOLY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1441
    functionDepth: 3
    functionLinenumber: 1441
    functionLinenumberEnd: 1479
    functionName: lwpoly_pt_outside_hack
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - cross_product
    - rad2deg
    - lwgeom_is_empty
    - normalize
    - vector_scale
    - vector_sum
    - cart2geog
    - geographic_point_init
    - geog2cart
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int lwpoly_pt_outside_hack(const LWPOLY *poly, POINT2D *pt_outside)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gbox_pt_outside
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1487,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1492,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1493,1
    - Dst: lwpoly_pt_outside_hack
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - poly
    - pt_outside
    argTypes:
    - LWPOLY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1500
    functionName: lwpoly_pt_outside
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - lwpoly_pt_outside_hack
    - gbox_pt_outside
    - lwgeom_calculate_gbox_geodetic
    linkageType: ''
    returnType: int
    signature: int lwpoly_pt_outside(const LWPOLY *poly, POINT2D *pt_outside)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1559,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1562,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1563,1
    - Dst: gbox_contains_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1564,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1566,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1568,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1569,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1570,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1571,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 2
    argNames:
    - gbox
    - pt_outside
    argTypes:
    - GBOX*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1584
    functionName: gbox_pt_outside
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - rad2deg
    - LWDEBUG
    - gbox_contains_point3d
    - normalize
    - cart2geog
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int gbox_pt_outside(const GBOX *gbox, POINT2D *pt_outside)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1601,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1606,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1616,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1620,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1621,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1622,1
    - Dst: ptarray_segmentize_sphere_edge_recursive
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1626,1
    - Dst: ptarray_segmentize_sphere_edge_recursive
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 7
    argNames:
    - p1
    - p2
    - v1
    - v2
    - d
    - max_seg_length
    - pa
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT4D*
    - POINT4D*
    - double
    - double
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1587
    functionDepth: 3
    functionLinenumber: 1587
    functionLinenumberEnd: 1630
    functionName: ptarray_segmentize_sphere_edge_recursive
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - ptarray_segmentize_sphere_edge_recursive
    - rad2deg
    - ptarray_append_point
    - normalize
    - cart2geog
    linkageType: ''
    returnType: int
    signature: "int ptarray_segmentize_sphere_edge_recursive (\n\tconst POINT3D *p1,
      const POINT3D *p2, /* 3-space points we are interpolating between */\n\tconst
      POINT4D *v1, const POINT4D *v2, /* real values and z/m values */\n\tdouble d,
      double max_seg_length, /* current segment length and segment limit */\n\tPOINTARRAY
      *pa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1641,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1642,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1650,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1652,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1655,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1660,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1661,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1662,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1663,1
    - Dst: p4d_same
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1666,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1670,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1674,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1675,1
    - Dst: ptarray_segmentize_sphere_edge_recursive
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1677,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1682,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pa_in
    - max_seg_length
    argTypes:
    - POINTARRAY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1637
    functionDepth: 4
    functionLinenumber: 1637
    functionLinenumberEnd: 1688
    functionName: ptarray_segmentize_sphere
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - geographic_point_init
    - ptarray_segmentize_sphere_edge_recursive
    - ptarray_has_z
    - lwerror
    - sphere_distance
    - ptarray_append_point
    - p4d_same
    - ptarray_has_m
    - getPoint4d_p
    - geog2cart
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      ptarray_segmentize_sphere(const POINTARRAY *pa_in, double max_seg_length)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1710,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1711,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1717,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1720,1
    - Dst: ptarray_segmentize_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1721,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1722,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1722,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1725,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1726,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1726,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1726,1
    - Dst: ptarray_segmentize_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1729,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1730,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1732,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1737,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1738,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1738,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1738,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1741,1
    - Dst: lwgeom_segmentize_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1741,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1743,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1746,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1747,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1751,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - lwg_in
    - max_seg_length
    argTypes:
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1696
    functionDepth: 5
    functionLinenumber: 1696
    functionLinenumberEnd: 1753
    functionName: lwgeom_segmentize_sphere
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwpoly_add_ring
    - lwline_as_lwgeom
    - lwpoly_construct_empty
    - lwgeom_has_z
    - lwgeom_segmentize_sphere
    - lwline_construct
    - lwgeom_has_m
    - lwgeom_as_lwline
    - lwgeom_as_lwpoly
    - lwerror
    - lwcollection_construct_empty
    - lwpoly_as_lwgeom
    - lwtype_name
    - lwgeom_as_lwcollection
    - lwcollection_as_lwgeom
    - lwgeom_is_empty
    - lwgeom_clone
    - lwgeom_clone_deep
    - ptarray_segmentize_sphere
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_segmentize_sphere(const LWGEOM *lwg_in, double max_seg_length)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1777,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1778,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1779,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1780,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1782,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1790,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1813,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1814,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1817,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1818,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1824,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1825,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1827,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1850,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1864,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1869,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1870,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1871,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1877,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1878,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1879,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1882,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1883,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1884,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1890,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1891,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1892,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1894,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1895,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1896,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1897,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1899,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1901,1
    - Dst: edge_distance_to_edge
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1904,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1905,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1921,1
    - Dst: LW_ON_INTERRUPT
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1935,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1937,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1942,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 103
    argCount: 5
    argNames:
    - pa1
    - pa2
    - s
    - tolerance
    - check_intersection
    argTypes:
    - POINTARRAY*
    - POINTARRAY*
    - SPHEROID*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1756
    functionDepth: 5
    functionLinenumber: 1756
    functionLinenumberEnd: 1943
    functionName: ptarray_distance_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - edge_distance_to_edge
    - getPoint2d_cp
    - edge_distance_to_point
    - LWDEBUG
    - sphere_distance
    - edge_intersects
    - spheroid_distance
    - LW_ON_INTERRUPT
    - LWDEBUGF
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: double
    signature: double ptarray_distance_spheroid(const POINTARRAY *pa1, const POINTARRAY
      *pa2, const SPHEROID *s, double tolerance, int check_intersection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1953,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lwgeom
    - spheroid
    argTypes:
    - LWGEOM*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1950
    functionDepth: 1
    functionLinenumber: 1950
    functionLinenumberEnd: 1955
    functionName: lwgeom_area_sphere
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - spheroid_init
    - lwgeom_area_spheroid
    linkageType: ''
    returnType: double
    signature: double lwgeom_area_sphere(const LWGEOM *lwgeom, const SPHEROID *spheroid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1982,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1987,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1992,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1993,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1994,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1994,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1995,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1995,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1996,1
    - Dst: spheroid_project
      Src: /src/postgis/liblwgeom/lwgeodetic.c:1999,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2001,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2002,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2007,1
    - Dst: longitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2007,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2008,1
    - Dst: latitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2008,1
    - Dst: lwpoint_get_z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2009,1
    - Dst: lwpoint_get_m
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2010,1
    - Dst: lwpoint_make
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2011,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2012,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - r
    - spheroid
    - distance
    - azimuth
    argTypes:
    - LWPOINT*
    - SPHEROID*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1967
    functionDepth: 3
    functionLinenumber: 1967
    functionLinenumberEnd: 2014
    functionName: lwgeom_project_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - geographic_point_init
    - lwpoint_get_y
    - lwerror
    - longitude_radians_normalize
    - lwgeom_has_m
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - spheroid_project
    - latitude_radians_normalize
    - lwgeom_set_geodetic
    - lwpoint_make
    - rad2deg
    - LWDEBUGF
    - lwpoint_get_z
    - lwpoint_get_x
    - lwpoint_get_m
    - floor
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwgeom_project_spheroid(const LWPOINT *r, const SPHEROID
      *spheroid, double distance, double azimuth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_azumith_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2018,1
    - Dst: lwgeom_project_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - from
    - to
    - spheroid
    - distance
    argTypes:
    - LWPOINT*
    - LWPOINT*
    - SPHEROID*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2016
    functionDepth: 4
    functionLinenumber: 2016
    functionLinenumberEnd: 2021
    functionName: lwgeom_project_spheroid_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_project_spheroid
    - lwgeom_azumith_spheroid
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwgeom_project_spheroid_lwpoint(const LWPOINT *from, const
      LWPOINT *to, const SPHEROID *spheroid, double distance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2038,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2039,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2040,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2043,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2044,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2045,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2048,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2048,1
    - Dst: spheroid_direction
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - r
    - s
    - spheroid
    argTypes:
    - LWPOINT*
    - LWPOINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2032
    functionDepth: 2
    functionLinenumber: 2032
    functionLinenumberEnd: 2058
    functionName: lwgeom_azumith_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwpoint_get_y
    - lwpoint_get_x
    - spheroid_direction
    - FP_EQUALS
    - geographic_point_init
    linkageType: ''
    returnType: double
    signature: double lwgeom_azumith_spheroid(const LWPOINT *r, const LWPOINT *s,
      const SPHEROID *spheroid)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2072,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2073,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2075,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2076,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2078,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2082,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2082,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2091,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2094,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2097,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2100,1
    - Dst: gbox_overlaps
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2103,1
    - Dst: ptarray_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2122,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2145,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2148,1
    - Dst: ptarray_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2156,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2185,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2187,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2190,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2193,1
    - Dst: ptarray_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2198,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2199,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2205,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2221,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2222,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2225,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2226,1
    - Dst: ptarray_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2234,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2249,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2257,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2268,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2276,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2286,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2286,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2286,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 108
    argCount: 4
    argNames:
    - lwgeom1
    - lwgeom2
    - spheroid
    - tolerance
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - SPHEROID*
    - double
    assertStmts:
    - condition: (lwgeom1)
      pos:
        line_end: 2074
        line_start: 2074
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    - condition: (lwgeom2)
      pos:
        line_end: 2075
        line_start: 2075
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2289
      start: 2066
    functionDepth: 6
    functionLinenumber: 2066
    functionLinenumberEnd: 2289
    functionName: lwgeom_distance_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - gbox_init
    - assert
    - getPoint2d_cp
    - lwgeom_calculate_gbox_geodetic
    - LWDEBUG
    - lwerror
    - lwgeom_is_empty
    - lwpoly_covers_point2d
    - lwtype_is_collection
    - gbox_overlaps
    - ptarray_distance_spheroid
    - lwgeom_distance_spheroid
    - lwtype_name
    - LWDEBUGF
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: double
    signature: double lwgeom_distance_spheroid(const LWGEOM *lwgeom1, const LWGEOM
      *lwgeom2, const SPHEROID *spheroid, double tolerance)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2298,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2299,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2309,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2317,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2323,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2330,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2331,1
    - Dst: lwpoly_covers_lwline
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2335,1
    - Dst: lwpoly_covers_lwpoly
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2339,1
    - Dst: lwline_covers_lwpoint
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2343,1
    - Dst: lwline_covers_lwline
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2347,1
    - Dst: lwpoint_same
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2351,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2355,1
    - Dst: lwgeom_covers_lwgeom_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2362,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2371,1
    - Dst: lwgeom_covers_lwgeom_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2378,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2387,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 2
    argNames:
    - lwgeom1
    - lwgeom2
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts:
    - condition: (lwgeom1)
      pos:
        line_end: 2297
        line_start: 2297
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    - condition: (lwgeom2)
      pos:
        line_end: 2298
        line_start: 2298
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2390
      start: 2292
    functionDepth: 2
    functionLinenumber: 2292
    functionLinenumberEnd: 2390
    functionName: lwgeom_covers_lwgeom_sphere
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwgeom_covers_lwgeom_sphere
    - assert
    - lwpoint_same
    - lwgeom_calculate_gbox_geodetic
    - LWDEBUG
    - lwerror
    - lwline_covers_lwpoint
    - lwpoly_covers_point2d
    - lwtype_is_collection
    - lwline_covers_lwline
    - getPoint2d_p
    - lwpoly_covers_lwpoly
    - lwpoly_covers_lwline
    linkageType: ''
    returnType: int
    signature: int lwgeom_covers_lwgeom_sphere(const LWGEOM *lwgeom1, const LWGEOM
      *lwgeom2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2411,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2413,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2421,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2424,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2425,1
    - Dst: gbox_contains_point3d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2426,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2428,1
    - Dst: lwpoly_pt_outside
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2433,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2435,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2436,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2438,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2439,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2440,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2441,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2442,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2443,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2447,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2449,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2453,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2458,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2460,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2464,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2468,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - poly
    - pt_to_test
    argTypes:
    - LWPOLY*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2397
    functionDepth: 11
    functionLinenumber: 2397
    functionLinenumberEnd: 2474
    functionName: lwpoly_covers_point2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - ptarray_contains_point_sphere
    - lwgeom_calculate_gbox_geodetic
    - LWDEBUG
    - lwgeom_is_empty
    - gbox_contains_point3d
    - lwpoly_pt_outside
    - lwfree
    - lwgeom_to_ewkt
    - gbox_to_string
    - LWDEBUGF
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int lwpoly_covers_point2d(const LWPOLY *poly, const POINT2D *pt_to_test)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2486,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2488,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2493,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2495,1
    - Dst: lwpoly_covers_pointarray
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2502,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2504,1
    - Dst: lwpoly_intersects_line
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2512,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - poly1
    - poly2
    argTypes:
    - LWPOLY*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2481
    functionDepth: 3
    functionLinenumber: 2481
    functionLinenumberEnd: 2521
    functionName: lwpoly_covers_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwpoly_covers_pointarray
    - lwgeom_is_empty
    - lwpoly_intersects_line
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lwpoly_covers_lwpoly(const LWPOLY *poly1, const LWPOLY *poly2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2529,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2531,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2536,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2538,1
    - Dst: lwpoly_covers_pointarray
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2542,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2544,1
    - Dst: lwpoly_intersects_line
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2549,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - poly
    - line
    argTypes:
    - LWPOLY*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2526
    functionDepth: 3
    functionLinenumber: 2526
    functionLinenumberEnd: 2557
    functionName: lwpoly_covers_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwpoly_covers_pointarray
    - lwgeom_is_empty
    - lwpoly_intersects_line
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lwpoly_covers_lwline(const LWPOLY *poly, const LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2566,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2568,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lwpoly
    - pta
    argTypes:
    - LWPOLY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2562
    functionDepth: 12
    functionLinenumber: 2562
    functionLinenumberEnd: 2575
    functionName: lwpoly_covers_pointarray
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - getPoint2d_cp
    - lwpoly_covers_point2d
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int lwpoly_covers_pointarray(const LWPOLY* lwpoly, const POINTARRAY*
      pta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2589,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2590,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2593,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2594,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2598,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2599,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2602,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2603,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - lwpoly
    - line
    argTypes:
    - LWPOLY*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2581
    functionDepth: 3
    functionLinenumber: 2581
    functionLinenumberEnd: 2618
    functionName: lwpoly_intersects_line
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - edge_intersects
    - getPoint2d_cp
    - ll2cart
    linkageType: ''
    returnType: int
    signature: int lwpoly_intersects_line(const LWPOLY* lwpoly, const POINTARRAY*
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2631,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2632,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2634,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2635,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2637,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2637,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2637,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - lwline
    - lwpoint
    argTypes:
    - LWLINE*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2623
    functionDepth: 5
    functionLinenumber: 2623
    functionLinenumberEnd: 2645
    functionName: lwline_covers_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - geographic_point_init
    - edge_contains_point
    - getPoint2d_cp
    - lwpoint_get_y
    - lwpoint_get_x
    linkageType: ''
    returnType: int
    signature: int lwline_covers_lwpoint(const LWLINE* lwline, const LWPOINT* lwpoint)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwline_covers_lwpoint
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2661,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2661,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2663,1
    - Dst: lwline_covers_lwpoint
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2668,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2668,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2670,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2679,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2680,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2681,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2682,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2684,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2685,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2686,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2696,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2701,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2702,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2703,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2706,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2714,1
    - Dst: edge_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2724,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - lwline1
    - lwline2
    argTypes:
    - LWLINE*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2652
    functionDepth: 6
    functionLinenumber: 2652
    functionLinenumberEnd: 2735
    functionName: lwline_covers_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - edge_contains_point
    - getPoint2d_cp
    - LWDEBUG
    - lwline_covers_lwpoint
    - lwline_get_lwpoint
    - geographic_point_init
    linkageType: ''
    returnType: int
    signature: int lwline_covers_lwline(const LWLINE* lwline1, const LWLINE* lwline2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2745,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2746,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2748,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2755,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2756,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2763,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2764,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2769,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2770,1
    - Dst: edge_calculate_gbox
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2772,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2777,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - pa
    - gbox
    argTypes:
    - POINTARRAY*
    - GBOX*
    assertStmts:
    - condition: (gbox)
      pos:
        line_end: 2744
        line_start: 2744
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    - condition: (pa)
      pos:
        line_end: 2745
        line_start: 2745
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2790
      start: 2737
    functionDepth: 3
    functionLinenumber: 2737
    functionLinenumberEnd: 2790
    functionName: ptarray_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - getPoint2d_cp
    - gbox_init
    - gbox_duplicate
    - gbox_merge
    - ll2cart
    - edge_calculate_gbox
    linkageType: ''
    returnType: int
    signature: int ptarray_calculate_gbox_geodetic(const POINTARRAY *pa, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2794,1
    - Dst: ptarray_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - point
    - gbox
    argTypes:
    - LWPOINT*
    - GBOX*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 2793
        line_start: 2793
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2796
      start: 2792
    functionDepth: 4
    functionLinenumber: 2792
    functionLinenumberEnd: 2796
    functionName: lwpoint_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwpoint_calculate_gbox_geodetic(const LWPOINT *point, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2800,1
    - Dst: ptarray_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - line
    - gbox
    argTypes:
    - LWLINE*
    - GBOX*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 2799
        line_start: 2799
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2802
      start: 2798
    functionDepth: 4
    functionLinenumber: 2798
    functionLinenumberEnd: 2802
    functionName: lwline_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwline_calculate_gbox_geodetic(const LWLINE *line, GBOX *gbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2809,1
    - Dst: ptarray_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2815,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2819,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2824,1
    - Dst: gbox_check_poles
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - poly
    - gbox
    argTypes:
    - LWPOLY*
    - GBOX*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 2808
        line_start: 2808
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2832
      start: 2804
    functionDepth: 4
    functionLinenumber: 2804
    functionLinenumberEnd: 2832
    functionName: lwpolygon_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_geodetic
    - assert
    - gbox_duplicate
    - gbox_merge
    - gbox_check_poles
    linkageType: ''
    returnType: int
    signature: int lwpolygon_calculate_gbox_geodetic(const LWPOLY *poly, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2836,1
    - Dst: ptarray_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - triangle
    - gbox
    argTypes:
    - LWTRIANGLE*
    - GBOX*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 2835
        line_start: 2835
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2838
      start: 2834
    functionDepth: 4
    functionLinenumber: 2834
    functionLinenumberEnd: 2838
    functionName: lwtriangle_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_calculate_gbox_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwtriangle_calculate_gbox_geodetic(const LWTRIANGLE *triangle,
      GBOX *gbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2847,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2855,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2859,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2860,1
    - Dst: gbox_duplicate
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2863,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - coll
    - gbox
    argTypes:
    - LWCOLLECTION*
    - GBOX*
    assertStmts:
    - condition: (coll)
      pos:
        line_end: 2846
        line_start: 2846
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2874
      start: 2841
    functionDepth: 2
    functionLinenumber: 2841
    functionLinenumberEnd: 2874
    functionName: lwcollection_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - gbox_duplicate
    - gbox_copy
    - lwgeom_calculate_gbox_geodetic
    - gbox_merge
    - lwfree
    linkageType: ''
    returnType: int
    signature: int lwcollection_calculate_gbox_geodetic(const LWCOLLECTION *coll,
      GBOX *gbox)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2879,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2882,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2882,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2882,1
    - Dst: lwpoint_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2887,1
    - Dst: lwline_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2890,1
    - Dst: lwpolygon_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2893,1
    - Dst: lwtriangle_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2896,1
    - Dst: lwcollection_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2904,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2907,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - geom
    - gbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2876
    functionDepth: 5
    functionLinenumber: 2876
    functionLinenumberEnd: 2912
    functionName: lwgeom_calculate_gbox_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 6
    functionsReached:
    - lwcollection_calculate_gbox_geodetic
    - lwpolygon_calculate_gbox_geodetic
    - lwerror
    - FLAGS_GET_M
    - lwflags
    - lwpoint_calculate_gbox_geodetic
    - lwtype_name
    - lwline_calculate_gbox_geodetic
    - LWDEBUGF
    - lwtriangle_calculate_gbox_geodetic
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int lwgeom_calculate_gbox_geodetic(const LWGEOM *geom, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2921,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts:
    - condition: (pa)
      pos:
        line_end: 2920
        line_start: 2920
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2932
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2932
    functionName: ptarray_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - getPoint2d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_check_geodetic(const POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2936,1
    - Dst: ptarray_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 2935
        line_start: 2935
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2938
      start: 2934
    functionDepth: 2
    functionLinenumber: 2934
    functionLinenumberEnd: 2938
    functionName: lwpoint_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_check_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwpoint_check_geodetic(const LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2942,1
    - Dst: ptarray_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 2941
        line_start: 2941
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2944
      start: 2940
    functionDepth: 2
    functionLinenumber: 2940
    functionLinenumberEnd: 2944
    functionName: lwline_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_check_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwline_check_geodetic(const LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2949,1
    - Dst: ptarray_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 2948
        line_start: 2948
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2957
      start: 2946
    functionDepth: 2
    functionLinenumber: 2946
    functionLinenumberEnd: 2957
    functionName: lwpoly_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_check_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwpoly_check_geodetic(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2961,1
    - Dst: ptarray_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 2960
        line_start: 2960
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2963
      start: 2959
    functionDepth: 2
    functionLinenumber: 2959
    functionLinenumberEnd: 2963
    functionName: lwtriangle_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - ptarray_check_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwtriangle_check_geodetic(const LWTRIANGLE *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2969,1
    - Dst: lwgeom_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 2977
      start: 2966
    functionDepth: 1
    functionLinenumber: 2966
    functionLinenumberEnd: 2977
    functionName: lwcollection_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - lwgeom_check_geodetic
    linkageType: ''
    returnType: int
    signature: int lwcollection_check_geodetic(const LWCOLLECTION *col)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2981,1
    - Dst: lwpoint_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2987,1
    - Dst: lwline_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2989,1
    - Dst: lwpoly_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2991,1
    - Dst: lwtriangle_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:2993,1
    - Dst: lwcollection_check_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3000,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3002,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2979
    functionDepth: 3
    functionLinenumber: 2979
    functionLinenumberEnd: 3006
    functionName: lwgeom_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwcollection_check_geodetic
    - lwline_check_geodetic
    - lwpoint_check_geodetic
    - lwtriangle_check_geodetic
    - lwerror
    - lwgeom_is_empty
    - lwtype_name
    - lwpoly_check_geodetic
    linkageType: ''
    returnType: int
    signature: int lwgeom_check_geodetic(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3014,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3018,1
    - Dst: longitude_degrees_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3021,1
    - Dst: latitude_degrees_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3022,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts:
    - condition: (pa)
      pos:
        line_end: 3013
        line_start: 3013
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3028
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3028
    functionName: ptarray_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - longitude_degrees_normalize
    - latitude_degrees_normalize
    - ptarray_set_point4d
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_force_geodetic(POINTARRAY *pa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3032,1
    - Dst: ptarray_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 3031
        line_start: 3031
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3034
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3034
    functionName: lwpoint_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - ptarray_force_geodetic
    linkageType: ''
    returnType: int
    signature: int lwpoint_force_geodetic(LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3038,1
    - Dst: ptarray_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 3037
        line_start: 3037
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3040
      start: 3036
    functionDepth: 2
    functionLinenumber: 3036
    functionLinenumberEnd: 3040
    functionName: lwline_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - ptarray_force_geodetic
    linkageType: ''
    returnType: int
    signature: int lwline_force_geodetic(LWLINE *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3046,1
    - Dst: ptarray_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 3045
        line_start: 3045
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3054
      start: 3042
    functionDepth: 2
    functionLinenumber: 3042
    functionLinenumberEnd: 3054
    functionName: lwpoly_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - assert
    - ptarray_force_geodetic
    linkageType: ''
    returnType: int
    signature: int lwpoly_force_geodetic(LWPOLY *poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3060,1
    - Dst: lwgeom_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 3059
        line_start: 3059
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3068
      start: 3056
    functionDepth: 1
    functionLinenumber: 3056
    functionLinenumberEnd: 3068
    functionName: lwcollection_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_force_geodetic
    - assert
    linkageType: ''
    returnType: int
    signature: int lwcollection_force_geodetic(LWCOLLECTION *col)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3072,1
    - Dst: lwpoint_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3075,1
    - Dst: lwline_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3077,1
    - Dst: lwpoly_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3079,1
    - Dst: lwcollection_force_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3084,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3086,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3070
    functionDepth: 3
    functionLinenumber: 3070
    functionLinenumberEnd: 3089
    functionName: lwgeom_force_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwpoint_force_geodetic
    - lwpoly_force_geodetic
    - lwline_force_geodetic
    - lwgeom_get_type
    - lwcollection_force_geodetic
    linkageType: ''
    returnType: int
    signature: int lwgeom_force_geodetic(LWGEOM *geom)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3107,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3110,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3111,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3119,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3120,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3126,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3129,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pa
    - s
    argTypes:
    - POINTARRAY*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3092
    functionDepth: 2
    functionLinenumber: 3092
    functionLinenumberEnd: 3143
    functionName: ptarray_length_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - sphere_distance
    - spheroid_distance
    - sqrt
    - geographic_point_init
    - FLAGS_GET_Z
    - getPoint4d_p
    linkageType: ''
    returnType: double
    signature: double ptarray_length_spheroid(const POINTARRAY *pa, const SPHEROID
      *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3151,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3154,1
    - Dst: ptarray_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3163,1
    - Dst: ptarray_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3170,1
    - Dst: ptarray_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3176,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3178,1
    - Dst: lwgeom_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3184,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - geom
    - s
    argTypes:
    - LWGEOM*
    - SPHEROID*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 3150
        line_start: 3150
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3191
      start: 3145
    functionDepth: 3
    functionLinenumber: 3145
    functionLinenumberEnd: 3191
    functionName: lwgeom_length_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - assert
    - lwerror
    - lwgeom_is_empty
    - lwtype_is_collection
    - lwgeom_length_spheroid
    - ptarray_length_spheroid
    linkageType: ''
    returnType: double
    signature: double lwgeom_length_spheroid(const LWGEOM *geom, const SPHEROID *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3210,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3214,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3243
    functionName: ptarray_nudge_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - lwerror
    - ptarray_set_point4d
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_nudge_geodetic(POINTARRAY *pa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3258,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3261,1
    - Dst: ptarray_nudge_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3267,1
    - Dst: ptarray_nudge_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3270,1
    - Dst: ptarray_nudge_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3277,1
    - Dst: ptarray_nudge_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3284,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3286,1
    - Dst: lwgeom_nudge_geodetic
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3292,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3298,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 3257
        line_start: 3257
        source_file: /src/postgis/liblwgeom/lwgeodetic.c
    constantsTouched: []
    func_position:
      end: 3300
      start: 3251
    functionDepth: 3
    functionLinenumber: 3251
    functionLinenumberEnd: 3300
    functionName: lwgeom_nudge_geodetic
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - assert
    - ptarray_nudge_geodetic
    - lwerror
    - lwgeom_nudge_geodetic
    - lwgeom_is_empty
    - lwtype_is_collection
    - lwtype_name
    linkageType: ''
    returnType: int
    signature: int lwgeom_nudge_geodetic(LWGEOM *geom)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: point3d_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3313,1
    - Dst: point3d_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3313,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3317,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3318,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3321,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3324,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3327,1
    - Dst: vector_difference
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3351,1
    - Dst: vector_difference
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3352,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3353,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3354,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - A1
    - A2
    - P
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3306
    functionDepth: 2
    functionLinenumber: 3306
    functionLinenumberEnd: 3365
    functionName: point_in_cone
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - vector_difference
    - fabs
    - normalize
    - point3d_equals
    - vector_sum
    - dot_product
    linkageType: ''
    returnType: int
    signature: int point_in_cone(const POINT3D *A1, const POINT3D *A2, const POINT3D
      *P)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3376,1
    - Dst: FP_IS_ZERO
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3373
    functionDepth: 1
    functionLinenumber: 3373
    functionLinenumberEnd: 3382
    functionName: dot_product_side
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FP_IS_ZERO
    - dot_product
    linkageType: ''
    returnType: int
    signature: int dot_product_side(const POINT3D *p, const POINT3D *q)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3397,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3398,1
    - Dst: dot_product
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3401,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3410,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3413,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3413,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3414,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3414,1
    - Dst: dot_product_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3424,1
    - Dst: dot_product_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3425,1
    - Dst: dot_product_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3426,1
    - Dst: dot_product_side
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3427,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3448,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3449,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3449,1
    - Dst: vector_scale
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3455,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3456,1
    - Dst: point_in_cone
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3456,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 4
    argNames:
    - A1
    - A2
    - B1
    - B2
    argTypes:
    - POINT3D*
    - POINT3D*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3388
    functionDepth: 3
    functionLinenumber: 3388
    functionLinenumberEnd: 3492
    functionName: edge_intersects
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 2
    functionsReached:
    - unit_normal
    - point_in_cone
    - dot_product_side
    - fabs
    - vector_scale
    - dot_product
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t edge_intersects(const POINT3D *A1, const POINT3D *A2, const
      POINT3D *B1, const POINT3D *B2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3514,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3515,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3518,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3519,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3524,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3525,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3528,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3529,1
    - Dst: point3d_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3532,1
    - Dst: point3d_equals
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3538,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3544,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3561,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3567,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3572,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3579,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - pa
    - pt_outside
    - pt_to_test
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3588
      start: 3502
    functionDepth: 4
    functionLinenumber: 3502
    functionLinenumberEnd: 3588
    functionName: ptarray_contains_point_sphere
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached:
    - edge_intersects
    - point3d_equals
    - getPoint2d_p
    - ll2cart
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int ptarray_contains_point_sphere(const POINTARRAY *pa, const POINT2D
      *pt_outside, const POINT2D *pt_to_test)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3610,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3624,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3625,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3626,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3627,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3628,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3629,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3630,1
    - Dst: CORNER_SET
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3631,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3639,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3644,1
    - Dst: vector_angle
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3653,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3663,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3694,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3695,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3698,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3699,1
    - Dst: remainder
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3700,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3709,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3710,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3711,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3712,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3713,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3714,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/lwgeodetic.c:3715,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 2
    argNames:
    - gbox_geocentric
    - gbox_planar
    argTypes:
    - GBOX*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3718
      start: 3596
    functionDepth: 2
    functionLinenumber: 3596
    functionLinenumberEnd: 3718
    functionName: gbox_geocentric_get_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_GEODETIC
    - CORNER_SET
    - rad2deg
    - lwerror
    - sin
    - normalize
    - vector_angle
    - remainder
    - cos
    - cart2geog
    - FLAGS_SET_M
    - asin
    linkageType: ''
    returnType: int
    signature: int gbox_geocentric_get_gbox_cartesian(const GBOX *gbox_geocentric,
      GBOX *gbox_planar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ii
    - ','
    - xx
    - ','
    - yy
    - ','
    - zz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3619
      start: 3614
    functionDepth: 0
    functionLinenumber: 3614
    functionLinenumberEnd: 3619
    functionName: CORNER_SET
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CORNER_SET(ii, xx, yy, zz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - value
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: encodeToBits
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encodeToBits(double value, double min, double max)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 9
    argNames:
    - xa
    - ya
    - xb
    - yb
    - xmin
    - ymin
    - xmax
    - ymax
    - straightPosition
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: encodeToBitsStraight
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encodeToBitsStraight(double xa, double ya, double xb, double yb,
      double xmin, double ymin, double xmax, double ymax, int straightPosition)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:167,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:168,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:171,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:174,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:179,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:180,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:190,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:193,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:194,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:202,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:205,1
    - Dst: encodeToBits
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:206,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:227,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:228,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:229,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:233,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:234,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:235,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:251,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:263,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:264,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:280,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:281,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:289,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:299,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:300,1
    - Dst: encodeToBitsStraight
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:307,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 128
    argCount: 4
    argNames:
    - points
    - bounds
    - closed
    - cartesian_hint
    argTypes:
    - POINTARRAY*
    - GBOX*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 315
    functionName: removePoints
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached:
    - encodeToBits
    - encodeToBitsStraight
    - ptarray_set_point4d
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void removePoints(POINTARRAY *points, GBOX *bounds, bool closed, bool
      cartesian_hint)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: removePoints
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:325,1
    - Dst: removePoints
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:334,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:342,1
    - Dst: removePoints
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:353,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:364,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:370,1
    - Dst: removePoints
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:386,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:397,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:403,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c:414,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - geom
    - bbox
    - cartesian_hint
    argTypes:
    - LWGEOM*
    - GBOX*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 419
    functionName: lwgeom_remove_irrelevant_points_for_view
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached:
    - removePoints
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwgeom_remove_irrelevant_points_for_view(LWGEOM *geom, GBOX *bbox,
      bool cartesian_hint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - a
    - b
    argTypes:
    - SPHEROID*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: spheroid_init
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void spheroid_init(SPHEROID *s, double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:51,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:52,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:52,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alpha
    - s
    argTypes:
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: spheroid_mu2
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - POW2
    - cos
    linkageType: ''
    returnType: double
    signature: double spheroid_mu2(double alpha, const SPHEROID *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u2
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: spheroid_big_a
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double spheroid_big_a(double u2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u2
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: spheroid_big_b
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double spheroid_big_b(double u2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwspheroid.c:84,1
    - Dst: geod_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:87,1
    - Dst: geod_inverse
      Src: /src/postgis/liblwgeom/lwspheroid.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: spheroid_distance
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 2
    functionsReached:
    - geod_init
    - geographic_point_equals
    - geod_inverse
    linkageType: ''
    returnType: double
    signature: double spheroid_distance(const GEOGRAPHIC_POINT *a, const GEOGRAPHIC_POINT
      *b, const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:108,1
    - Dst: geod_inverse
      Src: /src/postgis/liblwgeom/lwspheroid.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: spheroid_direction
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 1
    functionsReached:
    - geod_init
    - geod_inverse
    linkageType: ''
    returnType: double
    signature: double spheroid_direction(const GEOGRAPHIC_POINT *a, const GEOGRAPHIC_POINT
      *b, const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:131,1
    - Dst: geod_direct
      Src: /src/postgis/liblwgeom/lwspheroid.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - r
    - spheroid
    - distance
    - azimuth
    - g
    argTypes:
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: spheroid_project
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 1
    functionsReached:
    - geod_direct
    - geod_init
    linkageType: ''
    returnType: int
    signature: int spheroid_project(const GEOGRAPHIC_POINT *r, const SPHEROID *spheroid,
      double distance, double azimuth, GEOGRAPHIC_POINT *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geod_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:149,1
    - Dst: geod_polygon_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:151,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwspheroid.c:159,1
    - Dst: geod_polygon_addpoint
      Src: /src/postgis/liblwgeom/lwspheroid.c:160,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:161,1
    - Dst: geod_polygon_compute
      Src: /src/postgis/liblwgeom/lwspheroid.c:163,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwspheroid.c:166,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:169,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pa
    - spheroid
    argTypes:
    - POINTARRAY*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: ptarray_area_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - geod_polygon_addpoint
    - lwerror
    - fabs
    - geod_polygon_compute
    - geod_init
    - geod_polygon_init
    - getPoint2d_p
    - LWDEBUGF
    linkageType: ''
    returnType: double
    signature: double ptarray_area_spheroid(const POINTARRAY *pa, const SPHEROID *spheroid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_equals
      Src: /src/postgis/liblwgeom/lwspheroid.c:207,1
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwspheroid.c:212,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwspheroid.c:212,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:213,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:214,1
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwspheroid.c:215,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwspheroid.c:215,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:216,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:217,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:222,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:223,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:224,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:225,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwspheroid.c:226,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:228,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:229,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwspheroid.c:237,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:239,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:239,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:240,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:250,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:250,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:251,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:251,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:254,1
    - Dst: spheroid_mu2
      Src: /src/postgis/liblwgeom/lwspheroid.c:256,1
    - Dst: spheroid_big_a
      Src: /src/postgis/liblwgeom/lwspheroid.c:257,1
    - Dst: spheroid_big_b
      Src: /src/postgis/liblwgeom/lwspheroid.c:258,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:259,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:260,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwspheroid.c:267,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwspheroid.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - a
    - b
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 272
    functionName: spheroid_distance
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 2
    functionsReached:
    - tan
    - spheroid_big_a
    - sin
    - fabs
    - spheroid_big_b
    - POW2
    - lwerror
    - sphere_distance
    - atan
    - spheroid_mu2
    - geographic_point_equals
    - cos
    - atan2
    - sqrt
    - asin
    linkageType: ''
    returnType: double
    signature: double spheroid_distance(const GEOGRAPHIC_POINT *a, const GEOGRAPHIC_POINT
      *b, const SPHEROID *spheroid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwspheroid.c:292,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwspheroid.c:292,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:293,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:294,1
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwspheroid.c:295,1
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwspheroid.c:295,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:296,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:297,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:304,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:304,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:305,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:305,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwspheroid.c:306,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:307,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:308,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:309,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:309,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwspheroid.c:317,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:319,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:319,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:320,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:330,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:330,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:331,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:331,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:334,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:336,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:336,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - r
    - s
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 347
    functionName: spheroid_direction
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 1
    functionsReached:
    - tan
    - sin
    - fabs
    - POW2
    - atan
    - cos
    - atan2
    - sqrt
    - asin
    linkageType: ''
    returnType: double
    signature: double spheroid_direction(const GEOGRAPHIC_POINT *r, const GEOGRAPHIC_POINT
      *s, const SPHEROID *spheroid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/postgis/liblwgeom/lwspheroid.c:367,1
    - Dst: atan
      Src: /src/postgis/liblwgeom/lwspheroid.c:368,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:384,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:384,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:385,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:385,1
    - Dst: asin
      Src: /src/postgis/liblwgeom/lwspheroid.c:386,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:387,1
    - Dst: spheroid_mu2
      Src: /src/postgis/liblwgeom/lwspheroid.c:389,1
    - Dst: spheroid_big_a
      Src: /src/postgis/liblwgeom/lwspheroid.c:390,1
    - Dst: spheroid_big_b
      Src: /src/postgis/liblwgeom/lwspheroid.c:391,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:397,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:402,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:404,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:404,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:404,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:404,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:404,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:405,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwspheroid.c:405,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:405,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:406,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:406,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:406,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:406,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:406,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:407,1
    - Dst: atan2
      Src: /src/postgis/liblwgeom/lwspheroid.c:408,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:408,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:408,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:408,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:408,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:409,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:409,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:409,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:411,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:412,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:412,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:412,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - r
    - spheroid
    - distance
    - azimuth
    - g
    argTypes:
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 417
    functionName: spheroid_project
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 1
    functionsReached:
    - tan
    - spheroid_big_a
    - sin
    - spheroid_big_b
    - fabs
    - POW2
    - atan
    - spheroid_mu2
    - cos
    - atan2
    - sqrt
    - asin
    linkageType: ''
    returnType: int
    signature: int spheroid_project(const GEOGRAPHIC_POINT *r, const SPHEROID *spheroid,
      double distance, double azimuth, GEOGRAPHIC_POINT *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwspheroid.c:422,1
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:422,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - latitude
    - spheroid
    argTypes:
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: spheroid_prime_vertical_radius_of_curvature
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - POW2
    - sqrt
    - sin
    linkageType: ''
    returnType: double
    signature: double spheroid_prime_vertical_radius_of_curvature(double latitude,
      const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_prime_vertical_radius_of_curvature
      Src: /src/postgis/liblwgeom/lwspheroid.c:427,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/lwspheroid.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - latitude
    - deltaLongitude
    - spheroid
    argTypes:
    - double
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: spheroid_parallel_arc_length
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - spheroid_prime_vertical_radius_of_curvature
    - cos
    linkageType: ''
    returnType: double
    signature: double spheroid_parallel_arc_length(double latitude, double deltaLongitude,
      const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POW2
      Src: /src/postgis/liblwgeom/lwspheroid.c:444,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwspheroid.c:445,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:446,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/lwspheroid.c:447,1
    - Dst: log
      Src: /src/postgis/liblwgeom/lwspheroid.c:451,1
    - Dst: log
      Src: /src/postgis/liblwgeom/lwspheroid.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - southWestCorner
    - northEastCorner
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: spheroid_boundingbox_area
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - POW2
    - sqrt
    - log
    - sin
    linkageType: ''
    returnType: double
    signature: double spheroid_boundingbox_area(const GEOGRAPHIC_POINT *southWestCorner,
      const GEOGRAPHIC_POINT *northEastCorner, const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwspheroid.c:470,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwspheroid.c:471,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwspheroid.c:472,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:473,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:474,1
    - Dst: spheroid_boundingbox_area
      Src: /src/postgis/liblwgeom/lwspheroid.c:475,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:476,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwspheroid.c:478,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwspheroid.c:479,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwspheroid.c:480,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwspheroid.c:481,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:482,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:483,1
    - Dst: spheroid_boundingbox_area
      Src: /src/postgis/liblwgeom/lwspheroid.c:484,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:485,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:488,1
    - Dst: spheroid_parallel_arc_length
      Src: /src/postgis/liblwgeom/lwspheroid.c:489,1
    - Dst: spheroid_parallel_arc_length
      Src: /src/postgis/liblwgeom/lwspheroid.c:490,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:491,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:492,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwspheroid.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 4
    argNames:
    - a
    - b
    - latitude_min
    - spheroid
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 497
    functionName: spheroid_striparea
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - spheroid_boundingbox_area
    - SIGNUM
    - FP_MAX
    - LWDEBUGF
    - spheroid_parallel_arc_length
    linkageType: ''
    returnType: double
    signature: double spheroid_striparea(const GEOGRAPHIC_POINT *a, const GEOGRAPHIC_POINT
      *b, double latitude_min, const SPHEROID *spheroid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwspheroid.c:510,1
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/lwspheroid.c:517,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwspheroid.c:519,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/lwspheroid.c:519,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwspheroid.c:520,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:526,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:531,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/lwspheroid.c:532,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:532,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:536,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/lwspheroid.c:537,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwspheroid.c:541,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:542,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:549,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwspheroid.c:551,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwspheroid.c:552,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:564,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:566,1
    - Dst: crosses_dateline
      Src: /src/postgis/liblwgeom/lwspheroid.c:566,1
    - Dst: crosses_dateline
      Src: /src/postgis/liblwgeom/lwspheroid.c:568,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:577,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:578,1
    - Dst: point_shift
      Src: /src/postgis/liblwgeom/lwspheroid.c:579,1
    - Dst: point_shift
      Src: /src/postgis/liblwgeom/lwspheroid.c:580,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:581,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:586,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:588,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:589,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:590,1
    - Dst: spheroid_striparea
      Src: /src/postgis/liblwgeom/lwspheroid.c:596,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:597,1
    - Dst: floor
      Src: /src/postgis/liblwgeom/lwspheroid.c:603,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwspheroid.c:604,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:607,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:608,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:610,1
    - Dst: spheroid_direction
      Src: /src/postgis/liblwgeom/lwspheroid.c:614,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:616,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:617,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:619,1
    - Dst: spheroid_project
      Src: /src/postgis/liblwgeom/lwspheroid.c:620,1
    - Dst: spheroid_striparea
      Src: /src/postgis/liblwgeom/lwspheroid.c:621,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:622,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwspheroid.c:624,1
    - Dst: spheroid_striparea
      Src: /src/postgis/liblwgeom/lwspheroid.c:628,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwspheroid.c:636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 2
    argNames:
    - pa
    - spheroid
    argTypes:
    - POINTARRAY*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 637
    functionName: ptarray_area_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 0
    functionsReached:
    - deg2rad
    - lwerror
    - fabs
    - crosses_dateline
    - SIGNUM
    - spheroid_distance
    - floor
    - lwflags
    - spheroid_direction
    - spheroid_project
    - getPoint2d_p
    - point_shift
    - ptarray_calculate_gbox_cartesian
    - LWDEBUGF
    - geographic_point_init
    - spheroid_striparea
    linkageType: ''
    returnType: double
    signature: double ptarray_area_spheroid(const POINTARRAY *pa, const SPHEROID *spheroid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwspheroid.c:651,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwspheroid.c:654,1
    - Dst: ptarray_area_spheroid
      Src: /src/postgis/liblwgeom/lwspheroid.c:676,1
    - Dst: ptarray_area_spheroid
      Src: /src/postgis/liblwgeom/lwspheroid.c:681,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/lwspheroid.c:695,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - lwgeom
    - spheroid
    argTypes:
    - LWGEOM*
    - SPHEROID*
    assertStmts:
    - condition: (lwgeom)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/postgis/liblwgeom/lwspheroid.c
    constantsTouched: []
    func_position:
      end: 702
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 702
    functionName: lwgeom_area_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwspheroid.c
    functionUses: 2
    functionsReached:
    - assert
    - lwgeom_is_empty
    - lwgeom_area_spheroid
    - ptarray_area_spheroid
    linkageType: ''
    returnType: double
    signature: double lwgeom_area_spheroid(const LWGEOM *lwgeom, const SPHEROID *spheroid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwtin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mobj
    - obj
    argTypes:
    - LWTIN*
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: lwtin_add_lwtriangle
    functionSourceFile: /src/postgis/liblwgeom/lwtin.c
    functionUses: 0
    functionsReached:
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWTIN
    signature: LWTIN * lwtin_add_lwtriangle(LWTIN *mobj, const LWTRIANGLE *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:44,1
    - Dst: lwtriangle_free
      Src: /src/postgis/liblwgeom/lwtin.c:48,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:51,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - tin
    argTypes:
    - LWTIN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: lwtin_free
    functionSourceFile: /src/postgis/liblwgeom/lwtin.c
    functionUses: 1
    functionsReached:
    - lwtriangle_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwtin_free(LWTIN *tin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtin.c:63,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtin.c:65,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtin.c:66,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwtin.c:66,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtin.c:67,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtin.c:68,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwtin.c:73,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtin.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tin
    argTypes:
    - LWTIN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: printLWTIN
    functionSourceFile: /src/postgis/liblwgeom/lwtin.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWTIN(LWTIN *tin)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwtin.c:103,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtin.c:108,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwtin.c:116,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwtin.c:117,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwtin.c:125,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:143,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:165,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:178,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtin.c:182,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - tin
    argTypes:
    - LWTIN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 188
    functionName: lwtin_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwtin.c
    functionUses: 1
    functionsReached:
    - lwfree
    - lwalloc
    - FLAGS_GET_Z
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int lwtin_is_closed(const LWTIN *tin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: GFLAGS_GET_VERSION
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GFLAGS_GET_VERSION(gflags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:49,1
    - Dst: gserialized2_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized.c:50,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: gserialized_get_lwflags
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_get_lwflags
    - GFLAGS_GET_VERSION
    - gserialized2_get_lwflags
    linkageType: ''
    returnType: lwflags_t
    signature: lwflags_t gserialized_get_lwflags(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:62,1
    - Dst: gserialized2_set_gbox
      Src: /src/postgis/liblwgeom/gserialized.c:63,1
    - Dst: gserialized1_set_gbox
      Src: /src/postgis/liblwgeom/gserialized.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: gserialized_set_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_set_gbox
    - GFLAGS_GET_VERSION
    - gserialized1_set_gbox
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED *gserialized_set_gbox(GSERIALIZED *g, GBOX *gbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: gserialized_get_version
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized_get_version(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:83,1
    - Dst: gserialized2_drop_gbox
      Src: /src/postgis/liblwgeom/gserialized.c:84,1
    - Dst: gserialized1_drop_gbox
      Src: /src/postgis/liblwgeom/gserialized.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: gserialized_drop_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_drop_gbox
    - GFLAGS_GET_VERSION
    - gserialized2_drop_gbox
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized_drop_gbox(GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:96,1
    - Dst: gserialized2_get_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:97,1
    - Dst: gserialized1_get_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: gserialized_get_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - GFLAGS_GET_VERSION
    - gserialized2_get_gbox_p
    - gserialized1_get_gbox_p
    linkageType: ''
    returnType: int
    signature: int gserialized_get_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:108,1
    - Dst: gserialized2_fast_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:109,1
    - Dst: gserialized1_fast_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: gserialized_fast_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_fast_gbox_p
    - gserialized2_fast_gbox_p
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: int
    signature: int gserialized_fast_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:120,1
    - Dst: gserialized2_get_type
      Src: /src/postgis/liblwgeom/gserialized.c:121,1
    - Dst: gserialized1_get_type
      Src: /src/postgis/liblwgeom/gserialized.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: gserialized_get_type
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_get_type
    - GFLAGS_GET_VERSION
    - gserialized1_get_type
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized_get_type(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_max_header_size
      Src: /src/postgis/liblwgeom/gserialized.c:132,1
    - Dst: gserialized2_max_header_size
      Src: /src/postgis/liblwgeom/gserialized.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: gserialized_max_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_max_header_size
    - gserialized2_max_header_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized_max_header_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:145,1
    - Dst: gserialized2_hash
      Src: /src/postgis/liblwgeom/gserialized.c:146,1
    - Dst: gserialized1_hash
      Src: /src/postgis/liblwgeom/gserialized.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: gserialized_hash
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_hash
    - GFLAGS_GET_VERSION
    - gserialized2_hash
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized_hash(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:157,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:158,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: gserialized_get_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 40
    functionsReached:
    - gserialized1_get_srid
    - gserialized2_get_srid
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized_get_srid(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:169,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/gserialized.c:170,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/gserialized.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - srid
    argTypes:
    - GSERIALIZED*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: gserialized_set_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_set_srid
    - GFLAGS_GET_VERSION
    - gserialized2_set_srid
    linkageType: ''
    returnType: void
    signature: void gserialized_set_srid(GSERIALIZED *g, int32_t srid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:183,1
    - Dst: gserialized2_is_empty
      Src: /src/postgis/liblwgeom/gserialized.c:184,1
    - Dst: gserialized1_is_empty
      Src: /src/postgis/liblwgeom/gserialized.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: gserialized_is_empty
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 2
    functionsReached:
    - gserialized2_is_empty
    - GFLAGS_GET_VERSION
    - gserialized1_is_empty
    linkageType: ''
    returnType: int
    signature: int gserialized_is_empty(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:194,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/gserialized.c:195,1
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/gserialized.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: gserialized_has_bbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 1
    functionsReached:
    - gserialized2_has_bbox
    - gserialized1_has_bbox
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: int
    signature: int gserialized_has_bbox(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:205,1
    - Dst: gserialized2_has_z
      Src: /src/postgis/liblwgeom/gserialized.c:206,1
    - Dst: gserialized1_has_z
      Src: /src/postgis/liblwgeom/gserialized.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: gserialized_has_z
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_has_z
    - gserialized1_has_z
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: int
    signature: int gserialized_has_z(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:216,1
    - Dst: gserialized2_has_m
      Src: /src/postgis/liblwgeom/gserialized.c:217,1
    - Dst: gserialized1_has_m
      Src: /src/postgis/liblwgeom/gserialized.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: gserialized_has_m
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_has_m
    - gserialized2_has_m
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: int
    signature: int gserialized_has_m(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:227,1
    - Dst: gserialized2_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized.c:228,1
    - Dst: gserialized1_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: gserialized_is_geodetic
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_is_geodetic
    - GFLAGS_GET_VERSION
    - gserialized2_is_geodetic
    linkageType: ''
    returnType: int
    signature: int gserialized_is_geodetic(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:238,1
    - Dst: gserialized2_ndims
      Src: /src/postgis/liblwgeom/gserialized.c:239,1
    - Dst: gserialized1_ndims
      Src: /src/postgis/liblwgeom/gserialized.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: gserialized_ndims
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_ndims
    - GFLAGS_GET_VERSION
    - gserialized1_ndims
    linkageType: ''
    returnType: int
    signature: int gserialized_ndims(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/gserialized.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - geom
    - size
    argTypes:
    - LWGEOM*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: gserialized_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_from_lwgeom
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized_from_lwgeom(LWGEOM *geom, size_t *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/gserialized.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: gserialized_from_lwgeom_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_from_lwgeom_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized_from_lwgeom_size(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:270,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/gserialized.c:271,1
    - Dst: lwgeom_from_gserialized1
      Src: /src/postgis/liblwgeom/gserialized.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: lwgeom_from_gserialized
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 6
    functionsReached:
    - lwgeom_from_gserialized2
    - lwgeom_from_gserialized1
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:279,1
    - Dst: gserialized2_get_float_box_p
      Src: /src/postgis/liblwgeom/gserialized.c:280,1
    - Dst: gserialized1_get_float_box_p
      Src: /src/postgis/liblwgeom/gserialized.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - ndims
    argTypes:
    - GSERIALIZED*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: gserialized_get_float_box_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized2_get_float_box_p
    - GFLAGS_GET_VERSION
    - gserialized1_get_float_box_p
    linkageType: ''
    returnType: float
    signature: float * gserialized_get_float_box_p(const GSERIALIZED *g, size_t *ndims)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:288,1
    - Dst: gserialized2_peek_first_point
      Src: /src/postgis/liblwgeom/gserialized.c:289,1
    - Dst: gserialized1_peek_first_point
      Src: /src/postgis/liblwgeom/gserialized.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - out_point
    argTypes:
    - GSERIALIZED*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: gserialized_peek_first_point
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized1_peek_first_point
    - GFLAGS_GET_VERSION
    - gserialized2_peek_first_point
    linkageType: ''
    returnType: int
    signature: int gserialized_peek_first_point(const GSERIALIZED *g, POINT4D *out_point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GFLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/gserialized.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 330
    functionName: gserialized_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - GFLAGS_GET_VERSION
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized_header_size(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GSERIALIZED*
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: gserialized_cmp_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gserialized_cmp_srid(const GSERIALIZED *g1, const GSERIALIZED *g2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized.c:346,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized.c:347,1
    - Dst: gserialized_header_size
      Src: /src/postgis/liblwgeom/gserialized.c:348,1
    - Dst: gserialized_header_size
      Src: /src/postgis/liblwgeom/gserialized.c:349,1
    - Dst: gserialized_cmp_srid
      Src: /src/postgis/liblwgeom/gserialized.c:358,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/gserialized.c:359,1
    - Dst: gserialized_has_z
      Src: /src/postgis/liblwgeom/gserialized.c:360,1
    - Dst: gserialized_has_m
      Src: /src/postgis/liblwgeom/gserialized.c:361,1
    - Dst: gserialized_has_z
      Src: /src/postgis/liblwgeom/gserialized.c:362,1
    - Dst: gserialized_has_m
      Src: /src/postgis/liblwgeom/gserialized.c:363,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:369,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:370,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:371,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:372,1
    - Dst: gbox_get_sortable_hash
      Src: /src/postgis/liblwgeom/gserialized.c:385,1
    - Dst: gbox_get_sortable_hash
      Src: /src/postgis/liblwgeom/gserialized.c:386,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized.c:413,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - g1
    - g2
    argTypes:
    - GSERIALIZED*
    - GSERIALIZED*
    assertStmts:
    - condition: (cmp != 0)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/postgis/liblwgeom/gserialized.c
    constantsTouched: []
    func_position:
      end: 416
      start: 342
    functionDepth: 7
    functionLinenumber: 342
    functionLinenumberEnd: 416
    functionName: gserialized_cmp
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - gserialized_get_srid
    - assert
    - gserialized_cmp_srid
    - gbox_get_sortable_hash
    - gserialized_header_size
    - gserialized_get_gbox_p
    - gserialized_has_m
    - LWSIZE_GET
    - memcmp
    linkageType: ''
    returnType: int
    signature: int gserialized_cmp(const GSERIALIZED *g1, const GSERIALIZED *g2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/liblwgeom/gserialized.c:422,1
    - Dst: gbox_get_sortable_hash
      Src: /src/postgis/liblwgeom/gserialized.c:427,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 7
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: gserialized_get_sortable_hash
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - gbox_get_sortable_hash
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gserialized_get_sortable_hash(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:434,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:435,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized.c:437,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized.c:439,1
    - Dst: gserialized1_get_type
      Src: /src/postgis/liblwgeom/gserialized.c:439,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized.c:441,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/gserialized.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - g1
    - g2
    - funcname
    argTypes:
    - GSERIALIZED*
    - GSERIALIZED*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 431
    functionDepth: 5
    functionLinenumber: 431
    functionLinenumberEnd: 443
    functionName: gserialized_error_if_srid_mismatch
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - gserialized1_get_type
    - lwerror
    - lwtype_name
    - gserialized_get_type
    linkageType: ''
    returnType: void
    signature: void gserialized_error_if_srid_mismatch(const GSERIALIZED *g1, const
      GSERIALIZED *g2, const char *funcname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_srid
      Src: /src/postgis/liblwgeom/gserialized.c:449,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized.c:451,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized.c:453,1
    - Dst: gserialized1_get_type
      Src: /src/postgis/liblwgeom/gserialized.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - g1
    - srid2
    - funcname
    argTypes:
    - GSERIALIZED*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: gserialized_error_if_srid_mismatch_reference
    functionSourceFile: /src/postgis/liblwgeom/gserialized.c
    functionUses: 0
    functionsReached:
    - lwerror
    - gserialized_get_srid
    - gserialized1_get_type
    - lwtype_name
    linkageType: ''
    returnType: void
    signature: void gserialized_error_if_srid_mismatch_reference(const GSERIALIZED
      *g1, const int32_t srid2, const char *funcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: G2FLAGS_GET_VERSION
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_VERSION(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: G2FLAGS_GET_Z
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_Z(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: G2FLAGS_GET_M
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_M(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: G2FLAGS_GET_BBOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_BBOX(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: G2FLAGS_GET_GEODETIC
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_GEODETIC(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: G2FLAGS_GET_EXTENDED
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_EXTENDED(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: G2FLAGS_GET_UNUSED
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_UNUSED(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: G2FLAGS_SET_Z
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_Z(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: G2FLAGS_SET_M
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_M(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: G2FLAGS_SET_BBOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_BBOX(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: G2FLAGS_SET_GEODETIC
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_GEODETIC(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: G2FLAGS_SET_EXTENDED
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_EXTENDED(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gflags
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: G2FLAGS_SET_VERSION
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_SET_VERSION(gflags, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: G2FLAGS_NDIMS
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_NDIMS(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: G2FLAGS_GET_ZM
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_GET_ZM(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: G2FLAGS_NDIMS_BOX
    functionSourceFile: /src/postgis/liblwgeom/gserialized2.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G2FLAGS_NDIMS_BOX(gflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:32,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/effectivearea.c:34,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/effectivearea.c:35,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/effectivearea.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - inpts
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: initiate_effectivearea
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - LWDEBUG
    linkageType: ''
    returnType: EFFECTIVE_AREAS
    signature: 'EFFECTIVE_AREAS *

      initiate_effectivearea(const POINTARRAY *inpts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/effectivearea.c:44,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/effectivearea.c:45,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/effectivearea.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ea
    argTypes:
    - EFFECTIVE_AREAS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: destroy_effectivearea
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void destroy_effectivearea(EFFECTIVE_AREAS *ea)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/effectivearea.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - npoints
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: initiate_minheap
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: MINHEAP
    signature: MINHEAP initiate_minheap(int npoints)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/effectivearea.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - MINHEAP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: destroy_minheap
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void destroy_minheap(MINHEAP tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/liblwgeom/effectivearea.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - P1
    - P2
    - P3
    argTypes:
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: triarea2d
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double triarea2d(const double *P1, const double *P2, const double *P3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:83,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/effectivearea.c:97,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/effectivearea.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - P1
    - P2
    - P3
    argTypes:
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: triarea3d
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - fabs
    - sqrt
    - LWDEBUG
    linkageType: ''
    returnType: double
    signature: double triarea3d(const double *P1, const double *P2, const double *P3)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: cmpfunc
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmpfunc (const void * a, const void * b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:125,1
    - Dst: down
      Src: /src/postgis/liblwgeom/effectivearea.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - tree
    - arealist
    - parent
    argTypes:
    - MINHEAP*
    - areanode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 162
    functionName: down
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 4
    functionsReached:
    - down
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void down(MINHEAP *tree,areanode *arealist,int parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:171,1
    - Dst: floor
      Src: /src/postgis/liblwgeom/effectivearea.c:176,1
    - Dst: floor
      Src: /src/postgis/liblwgeom/effectivearea.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - tree
    - e
    - c
    argTypes:
    - MINHEAP*
    - areanode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: up
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 7
    functionsReached:
    - floor
    - LWDEBUG
    linkageType: ''
    returnType: void
    signature: void up(MINHEAP *tree, __attribute__((__unused__)) areanode *e,int
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:201,1
    - Dst: down
      Src: /src/postgis/liblwgeom/effectivearea.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tree
    - arealist
    argTypes:
    - MINHEAP*
    - areanode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: minheap_pop
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - down
    - LWDEBUG
    linkageType: ''
    returnType: areanode
    signature: areanode * minheap_pop(MINHEAP *tree,areanode *arealist )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/postgis/liblwgeom/effectivearea.c:221,1
    - Dst: up
      Src: /src/postgis/liblwgeom/effectivearea.c:224,1
    - Dst: down
      Src: /src/postgis/liblwgeom/effectivearea.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tree
    - arealist
    - idx
    argTypes:
    - MINHEAP*
    - areanode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: minheap_update
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - down
    - up
    - floor
    linkageType: ''
    returnType: void
    signature: void minheap_update(MINHEAP *tree,areanode *arealist , int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:236,1
    - Dst: initiate_minheap
      Src: /src/postgis/liblwgeom/effectivearea.c:248,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:250,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/effectivearea.c:257,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/effectivearea.c:262,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/effectivearea.c:268,1
    - Dst: minheap_pop
      Src: /src/postgis/liblwgeom/effectivearea.c:277,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/effectivearea.c:286,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:296,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:297,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:303,1
    - Dst: triarea3d
      Src: /src/postgis/liblwgeom/effectivearea.c:305,1
    - Dst: triarea2d
      Src: /src/postgis/liblwgeom/effectivearea.c:307,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/effectivearea.c:309,1
    - Dst: minheap_update
      Src: /src/postgis/liblwgeom/effectivearea.c:310,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:317,1
    - Dst: triarea3d
      Src: /src/postgis/liblwgeom/effectivearea.c:321,1
    - Dst: triarea2d
      Src: /src/postgis/liblwgeom/effectivearea.c:323,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/effectivearea.c:326,1
    - Dst: minheap_update
      Src: /src/postgis/liblwgeom/effectivearea.c:327,1
    - Dst: destroy_minheap
      Src: /src/postgis/liblwgeom/effectivearea.c:340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 4
    argNames:
    - ea
    - avoid_collaps
    - set_area
    - trshld
    argTypes:
    - EFFECTIVE_AREAS*
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 342
    functionName: tune_areas
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - minheap_update
    - destroy_minheap
    - triarea2d
    - LWDEBUG
    - lwerror
    - qsort
    - minheap_pop
    - FP_MAX
    - getPoint_internal
    - initiate_minheap
    - LWDEBUGF
    - triarea3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void tune_areas(EFFECTIVE_AREAS *ea, int avoid_collaps, int set_area,
      double trshld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:351,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:354,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:361,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:362,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/effectivearea.c:375,1
    - Dst: triarea3d
      Src: /src/postgis/liblwgeom/effectivearea.c:378,1
    - Dst: triarea2d
      Src: /src/postgis/liblwgeom/effectivearea.c:380,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/effectivearea.c:382,1
    - Dst: tune_areas
      Src: /src/postgis/liblwgeom/effectivearea.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - ea
    - avoid_collaps
    - set_area
    - trshld
    argTypes:
    - EFFECTIVE_AREAS*
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 398
    functionName: ptarray_calc_areas
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - triarea2d
    - LWDEBUG
    - tune_areas
    - getPoint_internal
    - LWDEBUGF
    - triarea3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void ptarray_calc_areas(EFFECTIVE_AREAS *ea, int avoid_collaps, int
      set_area, double trshld)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:404,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/effectivearea.c:413,1
    - Dst: initiate_effectivearea
      Src: /src/postgis/liblwgeom/effectivearea.c:414,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:416,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:416,1
    - Dst: ptarray_calc_areas
      Src: /src/postgis/liblwgeom/effectivearea.c:418,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/effectivearea.c:427,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/effectivearea.c:429,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/effectivearea.c:440,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/effectivearea.c:441,1
    - Dst: destroy_effectivearea
      Src: /src/postgis/liblwgeom/effectivearea.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - inpts
    - avoid_collaps
    - set_area
    - trshld
    argTypes:
    - POINTARRAY*
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 449
    functionName: ptarray_set_effective_area
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - LWDEBUG
    - ptarray_append_point
    - destroy_effectivearea
    - FLAGS_GET_M
    - getPoint4d
    - ptarray_calc_areas
    - initiate_effectivearea
    - FLAGS_GET_Z
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * ptarray_set_effective_area(POINTARRAY *inpts,int avoid_collaps,int
      set_area, double trshld)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:453,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:456,1
    - Dst: lwline_clone
      Src: /src/postgis/liblwgeom/effectivearea.c:457,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/effectivearea.c:463,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:465,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:465,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/effectivearea.c:469,1
    - Dst: ptarray_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - iline
    - set_area
    - trshld
    argTypes:
    - LWLINE*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 451
    functionDepth: 6
    functionLinenumber: 451
    functionLinenumberEnd: 474
    functionName: lwline_set_effective_area
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwline_clone
    - ptarray_set_effective_area
    - LWDEBUG
    - lwline_construct_empty
    - FLAGS_GET_M
    - lwline_is_empty
    - lwline_construct
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_set_effective_area(const LWLINE *iline,int set_area,
      double trshld)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:479,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/effectivearea.c:486,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:487,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:487,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:489,1
    - Dst: ptarray_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:494,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/liblwgeom/effectivearea.c:498,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ipoly
    - set_area
    - trshld
    argTypes:
    - LWPOLY*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 513
    functionName: lwpoly_set_effective_area
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwpoly_add_ring
    - LWDEBUG
    - lwpoly_is_empty
    - FLAGS_GET_M
    - lwpoly_construct_empty
    - ptarray_set_effective_area
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_set_effective_area(const LWPOLY *ipoly,int set_area,
      double trshld)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:518,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/effectivearea.c:524,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:525,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/effectivearea.c:525,1
    - Dst: lwcollection_is_empty
      Src: /src/postgis/liblwgeom/effectivearea.c:527,1
    - Dst: lwgeom_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:532,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/effectivearea.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - igeom
    - set_area
    - trshld
    argTypes:
    - LWCOLLECTION*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 537
    functionName: lwcollection_set_effective_area
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 0
    functionsReached:
    - lwcollection_is_empty
    - LWDEBUG
    - lwcollection_construct_empty
    - FLAGS_GET_M
    - lwgeom_set_effective_area
    - FLAGS_GET_Z
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_set_effective_area(const LWCOLLECTION *igeom,int
      set_area, double trshld)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/effectivearea.c:542,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/effectivearea.c:547,1
    - Dst: lwline_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:549,1
    - Dst: lwpoly_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:551,1
    - Dst: lwcollection_set_effective_area
      Src: /src/postgis/liblwgeom/effectivearea.c:555,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/effectivearea.c:557,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/effectivearea.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - igeom
    - set_area
    - trshld
    argTypes:
    - LWGEOM*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 540
    functionDepth: 7
    functionLinenumber: 540
    functionLinenumberEnd: 560
    functionName: lwgeom_set_effective_area
    functionSourceFile: /src/postgis/liblwgeom/effectivearea.c
    functionUses: 1
    functionsReached:
    - lwline_set_effective_area
    - lwcollection_set_effective_area
    - LWDEBUG
    - lwerror
    - lwpoly_set_effective_area
    - lwgeom_clone
    - lwtype_name
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_set_effective_area(const LWGEOM *igeom,int set_area,
      double trshld)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - lat
    - lon
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 72
    functionName: lwprint_normalize_latlon
    functionSourceFile: /src/postgis/liblwgeom/lwprint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwprint_normalize_latlon(double *lat, double *lon)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwprint.c:114,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwprint.c:134,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:140,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:161,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:182,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:203,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:224,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwprint.c:247,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:279,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:286,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:292,1
    - Dst: strncat
      Src: /src/postgis/liblwgeom/lwprint.c:297,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:304,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:309,1
    - Dst: modf
      Src: /src/postgis/liblwgeom/lwprint.c:322,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:328,1
    - Dst: modf
      Src: /src/postgis/liblwgeom/lwprint.c:330,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/lwprint.c:334,1
    - Dst: lround
      Src: /src/postgis/liblwgeom/lwprint.c:335,1
    - Dst: lround
      Src: /src/postgis/liblwgeom/lwprint.c:340,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/lwprint.c:352,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:362,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwprint.c:366,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:374,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwprint.c:376,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:383,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwprint.c:385,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwprint.c:389,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwprint.c:390,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/lwprint.c:393,1
    - Dst: strcat
      Src: /src/postgis/liblwgeom/lwprint.c:396,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 182
    argCount: 4
    argNames:
    - val
    - pos_dir_symbol
    - neg_dir_symbol
    - format
    argTypes:
    - double
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 400
    functionName: lwdouble_to_dms
    functionSourceFile: /src/postgis/liblwgeom/lwprint.c
    functionUses: 0
    functionsReached:
    - strcpy
    - memset
    - snprintf
    - lwerror
    - lround
    - strlen
    - pow
    - strncat
    - modf
    - lwalloc
    - strcat
    linkageType: ''
    returnType: char
    signature: char * lwdouble_to_dms(double val, const char *pos_dir_symbol, const
      char *neg_dir_symbol, const char * format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwprint_normalize_latlon
      Src: /src/postgis/liblwgeom/lwprint.c:416,1
    - Dst: lwdouble_to_dms
      Src: /src/postgis/liblwgeom/lwprint.c:418,1
    - Dst: lwdouble_to_dms
      Src: /src/postgis/liblwgeom/lwprint.c:419,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwprint.c:422,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwprint.c:422,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwprint.c:423,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwprint.c:424,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwprint.c:425,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwprint.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - lat
    - lon
    - format
    argTypes:
    - double
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: lwdoubles_to_latlon
    functionSourceFile: /src/postgis/liblwgeom/lwprint.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    - lwdouble_to_dms
    - lwalloc
    - lwprint_normalize_latlon
    - lwfree
    linkageType: ''
    returnType: char
    signature: char * lwdoubles_to_latlon(double lat, double lon, const char * format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:442,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwprint.c:444,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwprint.c:446,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwprint.c:448,1
    - Dst: lwdoubles_to_latlon
      Src: /src/postgis/liblwgeom/lwprint.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pt
    - format
    argTypes:
    - LWPOINT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: lwpoint_to_latlon
    functionSourceFile: /src/postgis/liblwgeom/lwprint.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwgeom_is_empty
    - getPoint2d_cp
    - lwdoubles_to_latlon
    linkageType: ''
    returnType: char
    signature: char * lwpoint_to_latlon(const LWPOINT * pt, const char *format)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwprint.c:466,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwprint.c:467,1
    - Dst: d2sexp_buffered_n
      Src: /src/postgis/liblwgeom/lwprint.c:471,1
    - Dst: d2sfixed_buffered_n
      Src: /src/postgis/liblwgeom/lwprint.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - d
    - maxdd
    - buf
    argTypes:
    - double
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 480
    functionName: lwprint_double
    functionSourceFile: /src/postgis/liblwgeom/lwprint.c
    functionUses: 9
    functionsReached:
    - FP_MAX
    - fabs
    - d2sfixed_buffered_n
    - d2sexp_buffered_n
    linkageType: ''
    returnType: int
    signature: int lwprint_double(double d, int maxdd, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: xstr
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: str
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_api.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: lwgeom_version
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_version()'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nextafterf
      Src: /src/postgis/liblwgeom/lwgeom_api.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: next_float_down
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 3
    functionsReached:
    - nextafterf
    linkageType: ''
    returnType: float
    signature: float next_float_down(double d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nextafterf
      Src: /src/postgis/liblwgeom/lwgeom_api.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: next_float_up
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 3
    functionsReached:
    - nextafterf
    linkageType: ''
    returnType: float
    signature: float next_float_up(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_api.c:110,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: getPoint4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 7
    functionsReached:
    - lwerror
    - getPoint4d_p
    linkageType: ''
    returnType: POINT4D
    signature: POINT4D getPoint4d(const POINTARRAY *pa, uint32_t n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:132,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:138,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_api.c:142,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:145,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwgeom_api.c:146,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_api.c:148,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:153,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:159,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:163,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:168,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - pa
    - n
    - op
    argTypes:
    - POINTARRAY*
    - uint32_t
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 179
    functionName: getPoint4d_p
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 56
    functionsReached:
    - FLAGS_GET_ZM
    - LWDEBUG
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: int
    signature: int getPoint4d_p(const POINTARRAY *pa, uint32_t n, POINT4D *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dz_p
      Src: /src/postgis/liblwgeom/lwgeom_api.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: getPoint3dz
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached:
    - getPoint3dz_p
    linkageType: ''
    returnType: POINT3DZ
    signature: POINT3DZ getPoint3dz(const POINTARRAY *pa, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint3dm_p
      Src: /src/postgis/liblwgeom/lwgeom_api.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: getPoint3dm
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached:
    - getPoint3dm_p
    linkageType: ''
    returnType: POINT3DM
    signature: POINT3DM getPoint3dm(const POINTARRAY *pa, uint32_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:221,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:228,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_api.c:232,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:233,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:236,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_api.c:242,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:244,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pa
    - n
    - op
    argTypes:
    - POINTARRAY*
    - uint32_t
    - POINT3DZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 259
    functionName: getPoint3dz_p
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 14
    functionsReached:
    - lwerror
    - memcpy
    - getPoint_internal
    - lwnotice
    - LWDEBUGF
    - FLAGS_NDIMS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int getPoint3dz_p(const POINTARRAY *pa, uint32_t n, POINT3DZ *op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:275,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:281,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:286,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwgeom_api.c:287,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:295,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:303,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pa
    - n
    - op
    argTypes:
    - POINTARRAY*
    - uint32_t
    - POINT3DM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 319
    functionName: getPoint3dm_p
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 3
    functionsReached:
    - lwerror
    - getPoint_internal
    - FLAGS_GET_ZM
    - memcpy
    linkageType: ''
    returnType: int
    signature: int getPoint3dm_p(const POINTARRAY *pa, uint32_t n, POINT3DM *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeom_api.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pa
    - n
    argTypes:
    - POINTARRAY*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: getPoint2d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    linkageType: ''
    returnType: POINT2D
    signature: POINT2D getPoint2d(const POINTARRAY *pa, uint32_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:346,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:352,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:357,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pa
    - n
    - point
    argTypes:
    - POINTARRAY*
    - uint32_t
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: getPoint2d_p
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 11
    functionsReached:
    - lwerror
    - lwnotice
    - getPoint_internal
    - memcpy
    linkageType: ''
    returnType: int
    signature: int getPoint2d_p(const POINTARRAY *pa, uint32_t n, POINT2D *point)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_api.c:372,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:373,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/lwgeom_api.c:374,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:377,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:380,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:383,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:385,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeom_api.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pa
    - n
    - p4d
    argTypes:
    - POINTARRAY*
    - uint32_t
    - POINT4D*
    assertStmts:
    - condition: (n < pa->npoints)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/postgis/liblwgeom/lwgeom_api.c
    constantsTouched: []
    func_position:
      end: 391
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 391
    functionName: ptarray_set_point4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 20
    functionsReached:
    - getPoint_internal
    - assert
    - FLAGS_GET_ZM
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ptarray_set_point4d(POINTARRAY *pa, uint32_t n, const POINT4D
      *p4d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:396,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:401,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:402,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:408,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:409,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:415,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeom_api.c:416,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_api.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - pa
    - from
    - to
    argTypes:
    - POINTARRAY*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 427
    functionName: ptarray_copy_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 1
    functionsReached:
    - lwerror
    - getPoint_internal
    - FLAGS_NDIMS
    linkageType: ''
    returnType: void
    signature: void ptarray_copy_point(POINTARRAY *pa, uint32_t from, uint32_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - box
    argTypes:
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: printBOX3D
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached:
    - lwnotice
    linkageType: ''
    returnType: void
    signature: void printBOX3D(BOX3D *box)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:448,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_api.c:451,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:454,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:455,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:456,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/lwgeom_api.c:456,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:457,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_api.c:461,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:462,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:463,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:464,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:465,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwgeom_api.c:466,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:467,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_api.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 471
    functionName: printPA
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 6
    functionsReached:
    - ptarray_point_size
    - FLAGS_GET_M
    - lwnotice
    - FLAGS_NDIMS
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void printPA(POINTARRAY *pa)
  - BBCount: 45
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 114
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 601
    functionName: parse_hex
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t parse_hex(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - result
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 629
    functionName: deparse_hex
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deparse_hex(uint8_t str, char *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_api.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - A
    - B
    - I
    - F
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - double
    assertStmts:
    - condition: (F >= 0 && F <= 1)
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/postgis/liblwgeom/lwgeom_api.c
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: interpolate_point4d
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void interpolate_point4d(const POINT4D *A, const POINT4D *B, POINT4D
      *I, double F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: lwgeom_request_interrupt
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwgeom_request_interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: lwgeom_cancel_interrupt
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lwgeom_cancel_interrupt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cb
    argTypes:
    - lwinterrupt_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: lwgeom_register_interrupt_callback
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lwinterrupt_callback
    signature: 'lwinterrupt_callback *

      lwgeom_register_interrupt_callback(lwinterrupt_callback *cb)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:54,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_gml.c:58,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:59,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:60,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:61,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:62,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwout_gml.c:69,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:70,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:71,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:72,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:73,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:74,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - sb
    - pa
    - opts
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: asgml2_ptarray
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - stringbuffer_append_double
    - getPoint3d_cp
    - stringbuffer_append_char
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void asgml2_ptarray(stringbuffer_t* sb, const POINTARRAY *pa, const
      GML_Options* opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:86,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:87,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:88,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:94,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:94,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:95,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:97,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:99,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:100,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:102,1
    - Dst: asgml2_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:103,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:104,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:105,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwout_gml.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - sb
    - bbox
    - opts
    argTypes:
    - stringbuffer_t*
    - GBOX*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: asgml2_gbox
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - ptarray_free
    - stringbuffer_aprintf
    - ptarray_append_point
    - asgml2_ptarray
    - stringbuffer_append
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void asgml2_gbox(stringbuffer_t* sb, const GBOX *bbox, const GML_Options*
      opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:115,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwout_gml.c:119,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:120,1
    - Dst: IS_DEGREE
      Src: /src/postgis/liblwgeom/lwout_gml.c:121,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:123,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:124,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:125,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:129,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:130,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:131,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwout_gml.c:139,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:140,1
    - Dst: IS_DEGREE
      Src: /src/postgis/liblwgeom/lwout_gml.c:141,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:143,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:144,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:145,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:146,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:147,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:151,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:152,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:153,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/liblwgeom/lwout_gml.c:154,1
    - Dst: stringbuffer_append_double
      Src: /src/postgis/liblwgeom/lwout_gml.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - sb
    - pa
    - opts
    argTypes:
    - stringbuffer_t*
    - POINTARRAY*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 159
    functionName: asgml3_ptarray
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - stringbuffer_append_double
    - IS_DEGREE
    - stringbuffer_append_char
    - getPoint3d_cp
    - FLAGS_GET_Z
    linkageType: ''
    returnType: void
    signature: void asgml3_ptarray(stringbuffer_t* sb, const POINTARRAY *pa, const
      GML_Options* opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:167,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:168,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:169,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:174,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:176,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:176,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:178,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:180,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:181,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:182,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:182,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:183,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:185,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:186,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:187,1
    - Dst: ptarray_remove_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:190,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:191,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:193,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:194,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:195,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:197,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwout_gml.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - sb
    - bbox
    - opts
    argTypes:
    - stringbuffer_t*
    - GBOX*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 200
    functionName: asgml3_gbox
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - asgml3_ptarray
    - ptarray_remove_point
    - ptarray_free
    - stringbuffer_aprintf
    - ptarray_append_point
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_gbox(stringbuffer_t* sb, const GBOX *bbox, const GML_Options*
      opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:206,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:207,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:208,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:210,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:213,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:214,1
    - Dst: asgml2_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:215,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:216,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sb
    - point
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOINT*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: asgml2_point
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - stringbuffer_append
    - lwpoint_is_empty
    - asgml2_ptarray
    linkageType: ''
    returnType: void
    signature: void asgml2_point(stringbuffer_t* sb, const LWPOINT *point, const GML_Options*
      opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:223,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:224,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:226,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:228,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:231,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:233,1
    - Dst: asgml2_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:234,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:235,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sb
    - line
    - opts
    argTypes:
    - stringbuffer_t*
    - LWLINE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: asgml2_line
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - lwline_is_empty
    - stringbuffer_append
    - asgml2_ptarray
    linkageType: ''
    returnType: void
    signature: void asgml2_line(stringbuffer_t* sb, const LWLINE *line, const GML_Options*
      opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:244,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:245,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:246,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:248,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:251,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:252,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:253,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:254,1
    - Dst: asgml2_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:255,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:256,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:257,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:258,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:261,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:262,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:263,1
    - Dst: asgml2_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:264,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:265,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:266,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:267,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - sb
    - poly
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOLY*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 270
    functionName: asgml2_poly
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - stringbuffer_append
    - lwpoly_is_empty
    - asgml2_ptarray
    linkageType: ''
    returnType: void
    signature: void asgml2_poly(stringbuffer_t* sb, const LWPOLY *poly, const GML_Options*
      opts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:288,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:289,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:293,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:296,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:303,1
    - Dst: asgml2_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:304,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:305,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:309,1
    - Dst: asgml2_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:310,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:311,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:315,1
    - Dst: asgml2_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:316,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:317,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 323
    functionName: asgml2_multi
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml2_point
    - stringbuffer_aprintf
    - asgml2_poly
    - asgml2_line
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void asgml2_multi(stringbuffer_t* sb, const LWCOLLECTION *col, const
      GML_Options* opts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:336,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:337,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:341,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:344,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:349,1
    - Dst: asgml2_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:353,1
    - Dst: asgml2_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:356,1
    - Dst: asgml2_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:359,1
    - Dst: asgml2_multi
      Src: /src/postgis/liblwgeom/lwout_gml.c:364,1
    - Dst: asgml2_collection
      Src: /src/postgis/liblwgeom/lwout_gml.c:367,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:370,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 373
    functionName: asgml2_collection
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 1
    functionsReached:
    - asgml2_point
    - stringbuffer_aprintf
    - asgml2_poly
    - asgml2_line
    - asgml2_multi
    - asgml2_collection
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void asgml2_collection(stringbuffer_t* sb, const LWCOLLECTION *col,
      const GML_Options* opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:380,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:382,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:383,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:384,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:385,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:387,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:391,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:392,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:393,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:395,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:396,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - sb
    - point
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOINT*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 398
    functionName: asgml3_point
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - lwpoint_is_empty
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_point(stringbuffer_t* sb, const LWPOINT *point, const GML_Options*
      opts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:403,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:408,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:412,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:415,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:416,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:418,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:420,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:423,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:427,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:428,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:431,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:433,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:437,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:440,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:441,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:445,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:449,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:450,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - sb
    - line
    - opts
    argTypes:
    - stringbuffer_t*
    - LWLINE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 453
    functionName: asgml3_line
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - stringbuffer_append
    - lwline_is_empty
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_line(stringbuffer_t* sb, const LWLINE *line, const GML_Options*
      opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:459,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:461,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:465,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:466,1
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:468,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:470,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:473,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:475,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:476,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:477,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:478,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:480,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:482,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:483,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:484,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:485,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:488,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:489,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:490,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:491,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:493,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:494,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:495,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:496,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:497,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - sb
    - poly
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPOLY*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 503
    functionName: asgml3_poly
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - lwpoly_is_empty
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_poly(stringbuffer_t* sb, const LWPOLY *poly, const GML_Options*
      opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:509,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:511,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:514,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:518,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:520,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:521,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:522,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:523,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:525,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:527,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:529,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:531,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:533,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:534,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:535,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - sb
    - circ
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCIRCSTRING*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: asgml3_circstring
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_circstring(stringbuffer_t* sb, const LWCIRCSTRING *circ,
      const GML_Options* opts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:544,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:546,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:547,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:548,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:549,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:550,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:561,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:562,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:563,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:564,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:566,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:567,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:568,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:569,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:573,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:574,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:575,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:577,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:579,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:580,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:581,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:582,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:585,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOMPOUND*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 587
    functionName: asgml3_compound
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_compound(stringbuffer_t* sb, const LWCOMPOUND *col, const
      GML_Options* opts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:594,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:600,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:603,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:607,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:609,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:613,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:620,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:621,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:622,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:624,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:626,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:627,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:628,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:629,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:633,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:634,1
    - Dst: asgml3_circstring
      Src: /src/postgis/liblwgeom/lwout_gml.c:635,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:636,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:637,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:641,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:642,1
    - Dst: asgml3_compound
      Src: /src/postgis/liblwgeom/lwout_gml.c:643,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:644,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:645,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:648,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - sb
    - poly
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCURVEPOLY*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 653
    functionName: asgml3_curvepoly
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - asgml3_compound
    - stringbuffer_append
    - asgml3_circstring
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_curvepoly(stringbuffer_t* sb, const LWCURVEPOLY* poly,
      const GML_Options* opts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_gml.c:658,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:660,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:661,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:662,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:663,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:665,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:666,1
    - Dst: IS_DIMS
      Src: /src/postgis/liblwgeom/lwout_gml.c:667,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:668,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:670,1
    - Dst: asgml3_ptarray
      Src: /src/postgis/liblwgeom/lwout_gml.c:672,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:673,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:674,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:675,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - sb
    - triangle
    - opts
    argTypes:
    - stringbuffer_t*
    - LWTRIANGLE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 678
    functionName: asgml3_triangle
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_ptarray
    - stringbuffer_aprintf
    - stringbuffer_append
    - FLAGS_GET_Z
    - IS_DIMS
    linkageType: ''
    returnType: void
    signature: void asgml3_triangle(stringbuffer_t* sb, const LWTRIANGLE *triangle,
      const GML_Options* opts)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:698,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:699,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:700,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:704,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:707,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:714,1
    - Dst: asgml3_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:715,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:716,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:720,1
    - Dst: asgml3_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:721,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:722,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:726,1
    - Dst: asgml3_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:727,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:728,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:733,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 681
    functionDepth: 5
    functionLinenumber: 681
    functionLinenumberEnd: 734
    functionName: asgml3_multi
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_point
    - asgml3_line
    - stringbuffer_aprintf
    - asgml3_poly
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void asgml3_multi(stringbuffer_t* sb, const LWCOLLECTION *col, const
      GML_Options* opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:749,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:751,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:753,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:754,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:756,1
    - Dst: asgml3_triangle
      Src: /src/postgis/liblwgeom/lwout_gml.c:759,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:763,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sb
    - tin
    - opts
    argTypes:
    - stringbuffer_t*
    - LWTIN*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 739
    functionDepth: 5
    functionLinenumber: 739
    functionLinenumberEnd: 765
    functionName: asgml3_tin
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_triangle
    - stringbuffer_aprintf
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void asgml3_tin(stringbuffer_t* sb, const LWTIN *tin, const GML_Options*
      opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:778,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:780,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:782,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:783,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:784,1
    - Dst: asgml3_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:788,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:792,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sb
    - psur
    - opts
    argTypes:
    - stringbuffer_t*
    - LWPSURFACE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 794
    functionName: asgml3_psurface
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - stringbuffer_append
    - asgml3_poly
    linkageType: ''
    returnType: void
    signature: void asgml3_psurface(stringbuffer_t* sb, const LWPSURFACE *psur, const
      GML_Options* opts)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:808,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:809,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:810,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:814,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:817,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:822,1
    - Dst: asgml3_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:827,1
    - Dst: asgml3_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:830,1
    - Dst: asgml3_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:833,1
    - Dst: asgml3_multi
      Src: /src/postgis/liblwgeom/lwout_gml.c:838,1
    - Dst: asgml3_collection
      Src: /src/postgis/liblwgeom/lwout_gml.c:841,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_gml.c:844,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:846,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:850,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - sb
    - col
    - opts
    argTypes:
    - stringbuffer_t*
    - LWCOLLECTION*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 797
    functionDepth: 6
    functionLinenumber: 797
    functionLinenumberEnd: 851
    functionName: asgml3_collection
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 1
    functionsReached:
    - asgml3_point
    - asgml3_line
    - asgml3_multi
    - lwerror
    - stringbuffer_aprintf
    - asgml3_collection
    - asgml3_poly
    - stringbuffer_append
    linkageType: ''
    returnType: void
    signature: void asgml3_collection(stringbuffer_t* sb, const LWCOLLECTION *col,
      const GML_Options* opts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:859,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:862,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:866,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:868,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:872,1
    - Dst: asgml3_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:876,1
    - Dst: asgml3_circstring
      Src: /src/postgis/liblwgeom/lwout_gml.c:880,1
    - Dst: asgml3_compound
      Src: /src/postgis/liblwgeom/lwout_gml.c:884,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:886,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - sb
    - cur
    - opts
    argTypes:
    - stringbuffer_t*
    - LWMCURVE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 853
    functionDepth: 5
    functionLinenumber: 853
    functionLinenumberEnd: 889
    functionName: asgml3_multicurve
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_line
    - stringbuffer_aprintf
    - asgml3_compound
    - stringbuffer_append
    - asgml3_circstring
    linkageType: ''
    returnType: void
    signature: void asgml3_multicurve(stringbuffer_t*sb, const LWMCURVE* cur, const
      GML_Options* opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:898,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:899,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:900,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/lwout_gml.c:902,1
    - Dst: asgml3_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:909,1
    - Dst: asgml3_curvepoly
      Src: /src/postgis/liblwgeom/lwout_gml.c:913,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_gml.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - sb
    - sur
    - opts
    argTypes:
    - stringbuffer_t*
    - LWMSURFACE*
    - GML_Options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 892
    functionDepth: 6
    functionLinenumber: 892
    functionLinenumberEnd: 917
    functionName: asgml3_multisurface
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - asgml3_curvepoly
    - stringbuffer_append
    - asgml3_poly
    linkageType: ''
    returnType: void
    signature: void asgml3_multisurface(stringbuffer_t* sb, const LWMSURFACE *sur,
      const GML_Options* opts)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_gml.c:926,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:932,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:935,1
    - Dst: asgml2_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:940,1
    - Dst: asgml2_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:944,1
    - Dst: asgml2_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:948,1
    - Dst: asgml2_multi
      Src: /src/postgis/liblwgeom/lwout_gml.c:954,1
    - Dst: asgml2_collection
      Src: /src/postgis/liblwgeom/lwout_gml.c:958,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_gml.c:964,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_gml.c:964,1
    - Dst: stringbuffer_release
      Src: /src/postgis/liblwgeom/lwout_gml.c:965,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_gml.c:969,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_gml.c:969,1
    - Dst: stringbuffer_release
      Src: /src/postgis/liblwgeom/lwout_gml.c:970,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - geom
    - srs
    - precision
    - prefix
    argTypes:
    - LWGEOM*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 919
    functionDepth: 7
    functionLinenumber: 919
    functionLinenumberEnd: 975
    functionName: lwgeom_to_gml2
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - memset
    - stringbuffer_release
    - asgml2_point
    - lwerror
    - stringbuffer_getvarlena
    - lwgeom_is_empty
    - asgml2_poly
    - stringbuffer_init_varlena
    - asgml2_line
    - asgml2_multi
    - lwtype_name
    - asgml2_collection
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_gml2(const LWGEOM *geom, const char *srs, int precision, const char
      *prefix)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_gml.c:984,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_gml.c:992,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:995,1
    - Dst: asgml3_point
      Src: /src/postgis/liblwgeom/lwout_gml.c:1000,1
    - Dst: asgml3_line
      Src: /src/postgis/liblwgeom/lwout_gml.c:1004,1
    - Dst: asgml3_circstring
      Src: /src/postgis/liblwgeom/lwout_gml.c:1008,1
    - Dst: asgml3_poly
      Src: /src/postgis/liblwgeom/lwout_gml.c:1012,1
    - Dst: asgml3_curvepoly
      Src: /src/postgis/liblwgeom/lwout_gml.c:1016,1
    - Dst: asgml3_triangle
      Src: /src/postgis/liblwgeom/lwout_gml.c:1020,1
    - Dst: asgml3_multi
      Src: /src/postgis/liblwgeom/lwout_gml.c:1026,1
    - Dst: asgml3_psurface
      Src: /src/postgis/liblwgeom/lwout_gml.c:1030,1
    - Dst: asgml3_tin
      Src: /src/postgis/liblwgeom/lwout_gml.c:1034,1
    - Dst: asgml3_collection
      Src: /src/postgis/liblwgeom/lwout_gml.c:1038,1
    - Dst: asgml3_compound
      Src: /src/postgis/liblwgeom/lwout_gml.c:1042,1
    - Dst: asgml3_multicurve
      Src: /src/postgis/liblwgeom/lwout_gml.c:1046,1
    - Dst: asgml3_multisurface
      Src: /src/postgis/liblwgeom/lwout_gml.c:1050,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_gml.c:1054,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_gml.c:1054,1
    - Dst: stringbuffer_release
      Src: /src/postgis/liblwgeom/lwout_gml.c:1055,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:1059,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 6
    argNames:
    - geom
    - srs
    - precision
    - opts
    - prefix
    - id
    argTypes:
    - LWGEOM*
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 977
    functionDepth: 7
    functionLinenumber: 977
    functionLinenumberEnd: 1060
    functionName: lwgeom_to_gml3
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - asgml3_tin
    - asgml3_poly
    - stringbuffer_release
    - memset
    - asgml3_line
    - asgml3_multi
    - asgml3_curvepoly
    - stringbuffer_init_varlena
    - asgml3_collection
    - asgml3_point
    - lwerror
    - asgml3_multicurve
    - asgml3_compound
    - lwtype_name
    - stringbuffer_getvarlena
    - asgml3_circstring
    - lwgeom_is_empty
    - asgml3_triangle
    - asgml3_multisurface
    - asgml3_psurface
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_gml3(const LWGEOM *geom, const char *srs, int precision, int opts,
      const char *prefix, const char *id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwout_gml.c:1065,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_gml.c:1070,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:1075,1
    - Dst: asgml2_gbox
      Src: /src/postgis/liblwgeom/lwout_gml.c:1076,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - geom
    - srs
    - precision
    - prefix
    argTypes:
    - LWGEOM*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1062
    functionDepth: 5
    functionLinenumber: 1062
    functionLinenumberEnd: 1078
    functionName: lwgeom_extent_to_gml2
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - memset
    - stringbuffer_init_varlena
    - stringbuffer_getvarlena
    - asgml2_gbox
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_extent_to_gml2(const LWGEOM *geom, const char *srs, int precision, const
      char *prefix)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwout_gml.c:1083,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/lwout_gml.c:1088,1
    - Dst: stringbuffer_init_varlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:1094,1
    - Dst: asgml3_gbox
      Src: /src/postgis/liblwgeom/lwout_gml.c:1095,1
    - Dst: stringbuffer_getvarlena
      Src: /src/postgis/liblwgeom/lwout_gml.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - geom
    - srs
    - precision
    - opts
    - prefix
    argTypes:
    - LWGEOM*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1080
    functionDepth: 5
    functionLinenumber: 1080
    functionLinenumberEnd: 1097
    functionName: lwgeom_extent_to_gml3
    functionSourceFile: /src/postgis/liblwgeom/lwout_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - memset
    - stringbuffer_init_varlena
    - asgml3_gbox
    - stringbuffer_getvarlena
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_extent_to_gml3(const LWGEOM *geom, const char *srs, int precision, int
      opts, const char *prefix)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:66,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:67,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:75,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:76,1
    - Dst: sphere_project
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:78,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:84,1
    - Dst: spheroid_direction
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:85,1
    - Dst: spheroid_project
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:87,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:94,1
    - Dst: longitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:94,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:95,1
    - Dst: latitude_radians_normalize
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - p1
    - p2
    - p
    - s
    - f
    argTypes:
    - POINT4D*
    - POINT4D*
    - POINT4D*
    - SPHEROID*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 97
    functionName: interpolate_point4d_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_measures.c
    functionUses: 0
    functionsReached:
    - sphere_direction
    - sphere_distance
    - longitude_radians_normalize
    - spheroid_direction
    - spheroid_distance
    - spheroid_project
    - latitude_radians_normalize
    - rad2deg
    - geographic_point_init
    - sphere_project
    linkageType: ''
    returnType: void
    signature: "void interpolate_point4d_spheroid(\n\tconst POINT4D *p1, const POINT4D
      *p2, POINT4D *p,\n\tconst SPHEROID *s, double f)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:125,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:126,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:127,1
    - Dst: ptarray_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:131,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:137,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:138,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:143,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:144,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:149,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:152,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:157,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:160,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:164,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:167,1
    - Dst: interpolate_point4d_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:186,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:187,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:196,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:198,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:205,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:207,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:216,1
    - Dst: interpolate_point4d_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:226,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:227,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:234,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:235,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:239,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:239,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:242,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:242,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 5
    argNames:
    - lwline
    - s
    - from
    - to
    - tolerance
    argTypes:
    - LWLINE*
    - SPHEROID*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 246
    functionName: geography_substring
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_measures.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - geographic_point_init
    - sphere_distance
    - fabs
    - ptarray_append_point
    - interpolate_point4d_spheroid
    - lwpoint_construct
    - FLAGS_GET_M
    - memcpy
    - spheroid_distance
    - lwline_as_lwgeom
    - lwpoint_as_lwgeom
    - lwline_construct
    - getPoint4d_p
    - FLAGS_GET_Z
    - ptarray_length_spheroid
    linkageType: ''
    returnType: LWGEOM
    signature: "LWGEOM *\ngeography_substring(\n\tconst LWLINE *lwline,\n\tconst SPHEROID
      *s,\n\tdouble from, double to,\n\tdouble tolerance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:268,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:268,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:269,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:269,1
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:279,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:281,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:281,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:291,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:293,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:295,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:296,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:297,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:297,1
    - Dst: ptarray_length_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:301,1
    - Dst: floor
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:302,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:303,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:305,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:306,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:310,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:311,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:315,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:318,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:326,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:327,1
    - Dst: interpolate_point4d_spheroid
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:329,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:330,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:344,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:345,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:350,1
    - Dst: lwpoint_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:350,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:352,1
    - Dst: lwmpoint_construct
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - line
    - length_fraction
    - s
    - repeat
    argTypes:
    - LWLINE*
    - double
    - SPHEROID*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 356
    functionName: geography_interpolate_points
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_measures.c
    functionUses: 0
    functionsReached:
    - lwmpoint_construct
    - lwline_as_lwgeom
    - sphere_distance
    - lwgeom_has_z
    - lwmpoint_as_lwgeom
    - lwgeom_has_m
    - spheroid_distance
    - ptarray_set_point4d
    - lwline_is_empty
    - getPoint4d_p
    - ptarray_construct
    - geographic_point_init
    - ptarray_length_spheroid
    - interpolate_point4d_spheroid
    - lwpoint_construct
    - lwgeom_clone_deep
    - lwpoint_as_lwgeom
    - geog2cart
    - floor
    linkageType: ''
    returnType: LWGEOM
    signature: "LWGEOM *\ngeography_interpolate_points(\n\tconst LWLINE *line, double
      length_fraction,\n \tconst SPHEROID *s, char repeat)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:386,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:394,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:395,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:397,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:401,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:412,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:413,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:419,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:420,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:422,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:446,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:458,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:461,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:462,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:469,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:470,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:476,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:479,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:483,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:501,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:502,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:507,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:508,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:511,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:515,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:518,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:524,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:530,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:542,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:543,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:547,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwgeodetic_measures.c:548,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 6
    argNames:
    - pa
    - p4d
    - s
    - tolerance
    - mindistout
    - proj4d
    argTypes:
    - POINTARRAY*
    - POINT4D*
    - SPHEROID*
    - double
    - double*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 552
    functionName: ptarray_locate_point_spheroid
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_measures.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - edge_distance_to_point
    - sphere_distance
    - p2d_same
    - spheroid_distance
    - rad2deg
    - sqrt
    - geographic_point_init
    - FLAGS_GET_Z
    - getPoint4d_p
    linkageType: ''
    returnType: double
    signature: "double ptarray_locate_point_spheroid(\n\tconst POINTARRAY *pa,\n\tconst
      POINT4D *p4d,\n\tconst SPHEROID *s,\n\tdouble tolerance,\n\tdouble *mindistout,\n\tPOINT4D
      *proj4d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwout_x3d.c:43,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwout_x3d.c:45,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/lwout_x3d.c:46,1
    - Dst: stringbuffer_create
      Src: /src/postgis/liblwgeom/lwout_x3d.c:50,1
    - Dst: lwgeom_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:51,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_x3d.c:55,1
    - Dst: stringbuffer_getvarlenacopy
      Src: /src/postgis/liblwgeom/lwout_x3d.c:59,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/lwout_x3d.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - geom
    - precision
    - opts
    - defid
    argTypes:
    - LWGEOM*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: lwgeom_to_x3d3
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 0
    functionsReached:
    - stringbuffer_destroy
    - LWSIZE_SET
    - lwgeom_is_empty
    - lwgeom_to_x3d3_sb
    - stringbuffer_getvarlenacopy
    - lwalloc
    - stringbuffer_create
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_x3d3(const LWGEOM *geom, int precision, int opts, const char *defid)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: asx3d3_point_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:73,1
    - Dst: asx3d3_line_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:76,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/liblwgeom/lwout_x3d.c:83,1
    - Dst: asx3d3_multi_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:84,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwout_x3d.c:85,1
    - Dst: asx3d3_triangle_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:90,1
    - Dst: asx3d3_multi_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:95,1
    - Dst: asx3d3_psurface_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:98,1
    - Dst: asx3d3_tin_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:101,1
    - Dst: asx3d3_collection_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:104,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_x3d.c:107,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_x3d.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 5
    argNames:
    - geom
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWGEOM*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: lwgeom_to_x3d3_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - asx3d3_line_sb
    - lwtype_name
    - lwerror
    - lwgeom_as_multi
    - lwcollection_free
    - asx3d3_psurface_sb
    - asx3d3_collection_sb
    - asx3d3_point_sb
    - asx3d3_triangle_sb
    - asx3d3_multi_sb
    - asx3d3_tin_sb
    linkageType: ''
    returnType: int
    signature: int lwgeom_to_x3d3_sb(const LWGEOM *geom, int precision, int opts,
      const char *defid, stringbuffer_t *sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - point
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWPOINT*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: asx3d3_point_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - ptarray_to_x3d3_sb
    linkageType: ''
    returnType: int
    signature: "int asx3d3_point_sb(const LWPOINT *point,\n\t\tint precision,\n\t\tint
      opts,\n\t\t__attribute__((__unused__)) const char *defid,\n\t\tstringbuffer_t
      *sb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:126,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/lwout_x3d.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - line
    - precision
    - opts
    - sb
    argTypes:
    - LWLINE*
    - int
    - int
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: asx3d3_line_coords_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 0
    functionsReached:
    - lwline_is_closed
    - ptarray_to_x3d3_sb
    linkageType: ''
    returnType: int
    signature: int asx3d3_line_coords_sb(const LWLINE *line, int precision, int opts,
      stringbuffer_t *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:150,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/lwout_x3d.c:155,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:157,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:162,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - mgeom
    - sb
    argTypes:
    - LWMLINE*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: asx3d3_mline_coordindex_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - lwline_is_closed
    linkageType: ''
    returnType: int
    signature: int asx3d3_mline_coordindex_sb(const LWMLINE *mgeom, stringbuffer_t
      *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:193,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:195,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:208,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - psur
    - sb
    argTypes:
    - LWMPOLY*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 217
    functionName: asx3d3_mpoly_coordindex_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    linkageType: ''
    returnType: int
    signature: int asx3d3_mpoly_coordindex_sb(const LWMPOLY *psur, stringbuffer_t
      *sb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:235,1
    - Dst: X3D_USE_GEOCOORDS
      Src: /src/postgis/liblwgeom/lwout_x3d.c:237,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:237,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:239,1
    - Dst: ptarray_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:241,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/lwout_x3d.c:241,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:244,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - line
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWLINE*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: asx3d3_line_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - X3D_USE_GEOCOORDS
    - stringbuffer_aprintf
    - ptarray_to_x3d3_sb
    - lwline_is_closed
    linkageType: ''
    returnType: int
    signature: "int asx3d3_line_sb(const LWLINE *line,\n\t       int precision,\n\t
      \      int opts,\n\t       __attribute__((__unused__)) const char *defid,\n\t
      \      stringbuffer_t *sb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:261,1
    - Dst: ptarray_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - poly
    - precision
    - opts
    - is_patch
    - defid
    - sb
    argTypes:
    - LWPOLY*
    - int
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: asx3d3_poly_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 0
    functionsReached:
    - stringbuffer_aprintf
    - ptarray_to_x3d3_sb
    linkageType: ''
    returnType: int
    signature: "int asx3d3_poly_sb(const LWPOLY *poly,\n\t       int precision,\n\t
      \      int opts,\n\t       __attribute__((__unused__)) int is_patch,\n\t       __attribute__((__unused__))
      const char *defid,\n\t       stringbuffer_t *sb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_to_x3d3_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - triangle
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWTRIANGLE*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: asx3d3_triangle_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - ptarray_to_x3d3_sb
    linkageType: ''
    returnType: int
    signature: "int asx3d3_triangle_sb(const LWTRIANGLE *triangle,\n\t\t   int precision,\n\t\t
      \  int opts,\n\t\t   __attribute__((__unused__)) const char *defid,\n\t\t   stringbuffer_t
      *sb)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_x3d.c:288,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:299,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:302,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:307,1
    - Dst: asx3d3_mline_coordindex_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:308,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:309,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:313,1
    - Dst: asx3d3_mpoly_coordindex_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:314,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:315,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_x3d.c:318,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwout_x3d.c:318,1
    - Dst: X3D_USE_GEOCOORDS
      Src: /src/postgis/liblwgeom/lwout_x3d.c:322,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:323,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:325,1
    - Dst: asx3d3_point_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:333,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:334,1
    - Dst: asx3d3_line_coords_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:338,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:339,1
    - Dst: asx3d3_poly_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:343,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:344,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:350,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:352,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 5
    argNames:
    - col
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWCOLLECTION*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 355
    functionName: asx3d3_multi_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - asx3d3_poly_sb
    - asx3d3_point_sb
    - asx3d3_mpoly_coordindex_sb
    - lwerror
    - stringbuffer_aprintf
    - asx3d3_line_coords_sb
    - asx3d3_mline_coordindex_sb
    - lwtype_name
    - X3D_USE_GEOCOORDS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int asx3d3_multi_sb(const LWCOLLECTION *col, int precision, int opts,
      const char *defid, stringbuffer_t *sb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:370,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:381,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:383,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:387,1
    - Dst: X3D_USE_GEOCOORDS
      Src: /src/postgis/liblwgeom/lwout_x3d.c:392,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:393,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:395,1
    - Dst: asx3d3_poly_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:399,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:402,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - psur
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWPSURFACE*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: asx3d3_psurface_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - X3D_USE_GEOCOORDS
    - stringbuffer_aprintf
    - asx3d3_poly_sb
    linkageType: ''
    returnType: int
    signature: int asx3d3_psurface_sb(const LWPSURFACE *psur, int precision, int opts,
      const char *defid, stringbuffer_t *sb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:420,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:425,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:428,1
    - Dst: X3D_USE_GEOCOORDS
      Src: /src/postgis/liblwgeom/lwout_x3d.c:433,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:433,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:434,1
    - Dst: asx3d3_triangle_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:438,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:441,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - tin
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWTIN*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 448
    functionName: asx3d3_tin_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 1
    functionsReached:
    - X3D_USE_GEOCOORDS
    - asx3d3_triangle_sb
    - stringbuffer_aprintf
    linkageType: ''
    returnType: int
    signature: int asx3d3_tin_sb(const LWTIN *tin, int precision, int opts, const
      char *defid, stringbuffer_t *sb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:460,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:466,1
    - Dst: asx3d3_point_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:469,1
    - Dst: asx3d3_line_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:473,1
    - Dst: asx3d3_poly_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:477,1
    - Dst: asx3d3_tin_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:481,1
    - Dst: asx3d3_psurface_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:485,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwout_x3d.c:487,1
    - Dst: asx3d3_collection_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:490,1
    - Dst: asx3d3_multi_sb
      Src: /src/postgis/liblwgeom/lwout_x3d.c:492,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwout_x3d.c:495,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:497,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - col
    - precision
    - opts
    - defid
    - sb
    argTypes:
    - LWCOLLECTION*
    - int
    - int
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 506
    functionName: asx3d3_collection_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 2
    functionsReached:
    - asx3d3_line_sb
    - lwgeom_is_collection
    - lwerror
    - stringbuffer_aprintf
    - asx3d3_psurface_sb
    - asx3d3_collection_sb
    - asx3d3_point_sb
    - asx3d3_poly_sb
    - asx3d3_multi_sb
    - asx3d3_tin_sb
    linkageType: ''
    returnType: int
    signature: int asx3d3_collection_sb(const LWCOLLECTION *col, int precision, int
      opts, const char *defid, stringbuffer_t *sb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwout_x3d.c:518,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwout_x3d.c:526,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_x3d.c:528,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_x3d.c:529,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_x3d.c:531,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:534,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:536,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwout_x3d.c:548,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_x3d.c:550,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_x3d.c:551,1
    - Dst: lwprint_double
      Src: /src/postgis/liblwgeom/lwout_x3d.c:552,1
    - Dst: stringbuffer_append_len
      Src: /src/postgis/liblwgeom/lwout_x3d.c:554,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:557,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/lwout_x3d.c:559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - pa
    - precision
    - opts
    - is_closed
    - sb
    argTypes:
    - POINTARRAY*
    - int
    - int
    - int
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 565
    functionName: ptarray_to_x3d3_sb
    functionSourceFile: /src/postgis/liblwgeom/lwout_x3d.c
    functionUses: 5
    functionsReached:
    - stringbuffer_aprintf
    - lwprint_double
    - getPoint2d_p
    - stringbuffer_append_len
    - FLAGS_GET_Z
    - getPoint4d_p
    linkageType: ''
    returnType: int
    signature: int ptarray_to_x3d3_sb(POINTARRAY *pa, int precision, int opts, int
      is_closed, stringbuffer_t *sb )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:39,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:40,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:41,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:42,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - lwg
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: lwgeom_flagchars
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_BBOX
    - FLAGS_GET_M
    - LWDEBUGF
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_flagchars(LWGEOM *lwg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_flagchars
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:59,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:62,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:64,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - point
    - offset
    argTypes:
    - LWPOINT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: lwpoint_summary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 0
    functionsReached:
    - lwtype_name
    - snprintf
    - lwalloc
    - lwgeom_flagchars
    linkageType: ''
    returnType: char
    signature: 'char *

      lwpoint_summary(LWPOINT *point, int offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_flagchars
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:75,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:78,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:80,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - line
    - offset
    argTypes:
    - LWLINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: lwline_summary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 0
    functionsReached:
    - lwtype_name
    - snprintf
    - lwalloc
    - lwgeom_flagchars
    linkageType: ''
    returnType: char
    signature: 'char *

      lwline_summary(LWLINE *line, int offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_flagchars
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:97,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:99,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:101,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:103,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:104,1
    - Dst: lwgeom_summary
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:113,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:114,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:115,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:117,1
    - Dst: strcat
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:118,1
    - Dst: strcat
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:120,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:121,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - col
    - offset
    argTypes:
    - LWCOLLECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: lwcollection_summary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 0
    functionsReached:
    - lwgeom_summary
    - snprintf
    - LWDEBUG
    - strlen
    - lwrealloc
    - lwalloc
    - lwfree
    - lwtype_name
    - strcat
    - LWDEBUGF
    - lwgeom_flagchars
    linkageType: ''
    returnType: char
    signature: 'char *

      lwcollection_summary(LWCOLLECTION *col, int offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_flagchars
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:138,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:140,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:142,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:144,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:145,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:154,1
    - Dst: strcat
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:156,1
    - Dst: strcat
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:157,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - poly
    - offset
    argTypes:
    - LWPOLY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 163
    functionName: lwpoly_summary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 0
    functionsReached:
    - snprintf
    - LWDEBUG
    - lwalloc
    - lwtype_name
    - strcat
    - lwgeom_flagchars
    linkageType: ''
    returnType: char
    signature: 'char *

      lwpoly_summary(LWPOLY *poly, int offset)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_summary
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:173,1
    - Dst: lwline_summary
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:178,1
    - Dst: lwpoly_summary
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:181,1
    - Dst: lwcollection_summary
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:192,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:194,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/lwgeom_debug.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - lwgeom
    - offset
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 201
    functionName: lwgeom_summary
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_debug.c
    functionUses: 1
    functionsReached:
    - lwline_summary
    - lwpoint_summary
    - snprintf
    - lwpoly_summary
    - lwalloc
    - lwcollection_summary
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_summary(const LWGEOM *lwgeom, int offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:45,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:45,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:46,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:46,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:47,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:47,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:48,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:48,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/gserialized1.c:49,1
    - Dst: G1FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/gserialized1.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: gserialized1_get_lwflags
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_GEODETIC
    - G1FLAGS_GET_GEODETIC
    - FLAGS_SET_BBOX
    - G1FLAGS_GET_SOLID
    - FLAGS_SET_SOLID
    - G1FLAGS_GET_Z
    - G1FLAGS_GET_BBOX
    - FLAGS_SET_M
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: lwflags_t
    signature: lwflags_t gserialized1_get_lwflags(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:56,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:56,1
    - Dst: G1FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:57,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:57,1
    - Dst: G1FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:58,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:58,1
    - Dst: G1FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:59,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:59,1
    - Dst: G1FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/gserialized1.c:60,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/gserialized1.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - lwflags
    argTypes:
    - lwflags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: lwflags_get_g1flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - G1FLAGS_SET_BBOX
    - FLAGS_GET_BBOX
    - G1FLAGS_SET_Z
    - FLAGS_GET_SOLID
    - FLAGS_GET_M
    - G1FLAGS_SET_M
    - G1FLAGS_SET_GEODETIC
    - G1FLAGS_SET_SOLID
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lwflags_get_g1flags(lwflags_t lwflags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:67,1
    - Dst: G1FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: gserialized1_box_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - G1FLAGS_NDIMS
    - G1FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_box_size(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loc
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: gserialized1_get_uint32_t
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized1_get_uint32_t(const uint8_t *loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:83,1
    - Dst: G1FLAGS_SET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:85,1
    - Dst: G1FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - has_z
    - has_m
    - is_geodetic
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: g1flags
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - G1FLAGS_SET_Z
    - G1FLAGS_SET_GEODETIC
    - G1FLAGS_SET_M
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t g1flags(int has_z, int has_m, int is_geodetic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: gserialized1_has_bbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_GET_BBOX
    linkageType: ''
    returnType: int
    signature: int gserialized1_has_bbox(const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: gserialized1_has_z
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: int gserialized1_has_z(const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: gserialized1_has_m
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int gserialized1_has_m(const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: gserialized1_ndims
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_NDIMS
    linkageType: ''
    returnType: int
    signature: int gserialized1_ndims(const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: gserialized1_is_geodetic
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gserialized1_is_geodetic(const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gserialized1_max_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized1_max_header_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:126,1
    - Dst: gserialized1_box_size
      Src: /src/postgis/liblwgeom/gserialized1.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - gser
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: gserialized1_header_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - gserialized1_has_bbox
    - gserialized1_box_size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized1_header_size(const GSERIALIZED *gser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:136,1
    - Dst: gserialized1_box_size
      Src: /src/postgis/liblwgeom/gserialized1.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: gserialized1_get_type
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 3
    functionsReached:
    - gserialized1_box_size
    - G1FLAGS_GET_BBOX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t gserialized1_get_type(const GSERIALIZED *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: gserialized1_get_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized1_get_srid(const GSERIALIZED *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:162,1
    - Dst: clamp_srid
      Src: /src/postgis/liblwgeom/gserialized1.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - srid
    argTypes:
    - GSERIALIZED*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: gserialized1_set_srid
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - LWDEBUGF
    - clamp_srid
    linkageType: ''
    returnType: void
    signature: void gserialized1_set_srid(GSERIALIZED *s, int32_t srid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:182,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:183,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/gserialized1.c:185,1
    - Dst: gserialized1_is_empty_recurse
      Src: /src/postgis/liblwgeom/gserialized1.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - isempty
    argTypes:
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 202
    functionName: gserialized1_is_empty_recurse
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_is_empty_recurse
    - lwtype_is_collection
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_is_empty_recurse(const uint8_t *p, int *isempty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:208,1
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:211,1
    - Dst: gserialized1_box_size
      Src: /src/postgis/liblwgeom/gserialized1.c:212,1
    - Dst: gserialized1_is_empty_recurse
      Src: /src/postgis/liblwgeom/gserialized1.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts:
    - condition: (g)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: gserialized1_is_empty
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_is_empty_recurse
    - gserialized1_has_bbox
    - assert
    - gserialized1_box_size
    linkageType: ''
    returnType: int
    signature: int gserialized1_is_empty(const GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_header_size
      Src: /src/postgis/liblwgeom/gserialized1.c:232,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized1.c:235,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/gserialized1.c:238,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:240,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:242,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:244,1
    - Dst: hashlittle2
      Src: /src/postgis/liblwgeom/gserialized1.c:246,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/gserialized1.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - g1
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: gserialized1_hash
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_get_srid
    - gserialized1_header_size
    - hashlittle2
    - lwalloc
    - LWSIZE_GET
    - lwfree
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t gserialized1_hash(const GSERIALIZED *g1)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:259,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:262,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:272,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:279,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: gserialized1_read_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - gserialized1_get_lwflags
    - G1FLAGS_GET_GEODETIC
    - G1FLAGS_GET_Z
    - G1FLAGS_GET_BBOX
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int gserialized1_read_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_get_type
      Src: /src/postgis/liblwgeom/gserialized1.c:301,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:304,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:304,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:324,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:325,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:329,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:333,1
    - Dst: G1FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:339,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:352,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:353,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:357,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:358,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:360,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:361,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:365,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:366,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:368,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:372,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:373,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:375,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:407,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:408,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:412,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:416,1
    - Dst: G1FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:422,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:444,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:445,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:449,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:450,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:452,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:453,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:457,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:458,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:460,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/gserialized1.c:464,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/gserialized1.c:465,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:467,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 472
    functionName: gserialized1_peek_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FP_MIN
    - gserialized1_get_lwflags
    - G1FLAGS_GET_GEODETIC
    - gserialized1_get_type
    - G1FLAGS_NDIMS
    - FP_MAX
    - gbox_float_round
    - G1FLAGS_GET_Z
    - G1FLAGS_GET_BBOX
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: int
    signature: int gserialized1_peek_gbox_p(const GSERIALIZED *g, GBOX *gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:481,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dptr
    - flags
    - out_point
    argTypes:
    - double*
    - lwflags_t
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 489
    functionName: gserialized1_copy_point
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - G1FLAGS_GET_Z
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: void
    signature: void gserialized1_copy_point(double *dptr, lwflags_t flags, POINT4D
      *out_point)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:495,1
    - Dst: gserialized1_box_size
      Src: /src/postgis/liblwgeom/gserialized1.c:497,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:517,1
    - Dst: gserialized1_copy_point
      Src: /src/postgis/liblwgeom/gserialized1.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - g
    - out_point
    argTypes:
    - GSERIALIZED*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 523
    functionName: gserialized1_peek_first_point
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - lwerror
    - gserialized1_has_bbox
    - gserialized1_copy_point
    - gserialized1_box_size
    linkageType: ''
    returnType: int
    signature: int gserialized1_peek_first_point(const GSERIALIZED *g, POINT4D *out_point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized1.c:532,1
    - Dst: gserialized1_peek_gbox_p
      Src: /src/postgis/liblwgeom/gserialized1.c:538,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/gserialized1.c:546,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/gserialized1.c:547,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:548,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/gserialized1.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - g
    - box
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 529
    functionDepth: 7
    functionLinenumber: 529
    functionLinenumberEnd: 552
    functionName: gserialized1_get_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - gserialized1_peek_gbox_p
    - gbox_float_round
    - gserialized1_read_gbox_p
    linkageType: ''
    returnType: int
    signature: int gserialized1_get_gbox_p(const GSERIALIZED *g, GBOX *box)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized1.c:561,1
    - Dst: gserialized1_peek_gbox_p
      Src: /src/postgis/liblwgeom/gserialized1.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - g
    - box
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 575
    functionName: gserialized1_fast_gbox_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_read_gbox_p
    - gserialized1_peek_gbox_p
    linkageType: ''
    returnType: int
    signature: int gserialized1_fast_gbox_p(const GSERIALIZED *g, GBOX *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:592,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:595,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - point
    argTypes:
    - LWPOINT*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: gserialized1_from_lwpoint_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwpoint_size(const LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:606,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:609,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - line
    argTypes:
    - LWLINE*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 614
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 614
    functionName: gserialized1_from_lwline_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwline_size(const LWLINE *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:620,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:623,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 628
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 628
    functionName: gserialized1_from_lwtriangle_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwtriangle_size(const LWTRIANGLE *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:635,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:644,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWPOLY*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 650
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 650
    functionName: gserialized1_from_lwpoly_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwpoly_size(const LWPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:656,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:659,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curve
    argTypes:
    - LWCIRCSTRING*
    assertStmts:
    - condition: (curve)
      pos:
        line_end: 655
        line_start: 655
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 664
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 664
    functionName: gserialized1_from_lwcircstring_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - LWDEBUGF
    - FLAGS_NDIMS
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwcircstring_size(const LWCIRCSTRING *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:671,1
    - Dst: gserialized1_from_any_size
      Src: /src/postgis/liblwgeom/gserialized1.c:677,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:679,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - col
    argTypes:
    - LWCOLLECTION*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 670
        line_start: 670
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 685
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 685
    functionName: gserialized1_from_lwcollection_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - gserialized1_from_any_size
    - LWDEBUGF
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwcollection_size(const LWCOLLECTION *col)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:689,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:689,1
    - Dst: gserialized1_from_lwpoint_size
      Src: /src/postgis/liblwgeom/gserialized1.c:694,1
    - Dst: gserialized1_from_lwline_size
      Src: /src/postgis/liblwgeom/gserialized1.c:696,1
    - Dst: gserialized1_from_lwpoly_size
      Src: /src/postgis/liblwgeom/gserialized1.c:698,1
    - Dst: gserialized1_from_lwtriangle_size
      Src: /src/postgis/liblwgeom/gserialized1.c:700,1
    - Dst: gserialized1_from_lwcircstring_size
      Src: /src/postgis/liblwgeom/gserialized1.c:702,1
    - Dst: gserialized1_from_lwcollection_size
      Src: /src/postgis/liblwgeom/gserialized1.c:713,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:715,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 718
    functionName: gserialized1_from_any_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_from_lwcircstring_size
    - gserialized1_from_lwtriangle_size
    - lwerror
    - gserialized1_from_lwpoint_size
    - gserialized1_from_lwline_size
    - lwtype_name
    - gserialized1_from_lwcollection_size
    - LWDEBUGF
    - gserialized1_from_lwpoly_size
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_any_size(const LWGEOM *geom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:725,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/gserialized1.c:728,1
    - Dst: gserialized1_from_any_size
      Src: /src/postgis/liblwgeom/gserialized1.c:730,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 734
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 734
    functionName: gserialized1_from_lwgeom_size
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - gserialized1_from_any_size
    - gbox_serialized_size
    - LWDEBUGF
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwgeom_size(const LWGEOM *geom)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized1.c:747,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:750,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:751,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:753,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:753,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:754,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:756,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:761,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:764,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:770,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized1.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - point
    - buf
    argTypes:
    - LWPOINT*
    - uint8_t*
    assertStmts:
    - condition: (point)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 750
        line_start: 750
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 775
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 775
    functionName: gserialized1_from_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwpoint(const LWPOINT *point, uint8_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:784,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:785,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:787,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:789,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:789,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:790,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized1.c:792,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:797,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:801,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:804,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:810,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized1.c:810,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - line
    - buf
    argTypes:
    - LWLINE*
    - uint8_t*
    assertStmts:
    - condition: (line)
      pos:
        line_end: 783
        line_start: 783
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 784
        line_start: 784
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 816
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 816
    functionName: gserialized1_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - ptarray_point_size
    - lwerror
    - memcpy
    - getPoint_internal
    - LWDEBUGF
    - FLAGS_GET_Z
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwline(const LWLINE *line, uint8_t *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:825,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:826,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:828,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:830,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:834,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:838,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:844,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/gserialized1.c:851,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:861,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:861,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:862,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:866,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized1.c:866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - poly
    - buf
    argTypes:
    - LWPOLY*
    - uint8_t*
    assertStmts:
    - condition: (poly)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 825
        line_start: 825
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 870
      start: 818
    functionDepth: 2
    functionLinenumber: 818
    functionLinenumberEnd: 870
    functionName: gserialized1_from_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - FLAGS_GET_ZM
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - FLAGS_NDIMS
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwpoly(const LWPOLY *poly, uint8_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:879,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:880,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:882,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:884,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:884,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:885,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized1.c:887,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:892,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:896,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:899,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:905,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized1.c:905,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - triangle
    - buf
    argTypes:
    - LWTRIANGLE*
    - uint8_t*
    assertStmts:
    - condition: (triangle)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 911
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 911
    functionName: gserialized1_from_lwtriangle
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - LWDEBUGF
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwtriangle(const LWTRIANGLE *triangle, uint8_t
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:920,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:921,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:923,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:923,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:924,1
    - Dst: ptarray_point_size
      Src: /src/postgis/liblwgeom/gserialized1.c:927,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:931,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:935,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:942,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/gserialized1.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - curve
    - buf
    argTypes:
    - LWCIRCSTRING*
    - uint8_t*
    assertStmts:
    - condition: (curve)
      pos:
        line_end: 919
        line_start: 919
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 920
        line_start: 920
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 947
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 947
    functionName: gserialized1_from_lwcircstring
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - ptarray_point_size
    - lwerror
    - getPoint_internal
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwcircstring(const LWCIRCSTRING *curve, uint8_t
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:956,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:957,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:963,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:967,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:973,1
    - Dst: FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/gserialized1.c:973,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:974,1
    - Dst: gserialized1_from_lwgeom_any
      Src: /src/postgis/liblwgeom/gserialized1.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - coll
    - buf
    argTypes:
    - LWCOLLECTION*
    - uint8_t*
    assertStmts:
    - condition: (coll)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 980
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 980
    functionName: gserialized1_from_lwcollection
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - FLAGS_GET_ZM
    - gserialized1_from_lwgeom_any
    - lwerror
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwcollection(const LWCOLLECTION *coll, uint8_t
      *buf)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:984,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:985,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:987,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:988,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:989,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:989,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:990,1
    - Dst: gserialized1_from_lwpoint
      Src: /src/postgis/liblwgeom/gserialized1.c:995,1
    - Dst: gserialized1_from_lwline
      Src: /src/postgis/liblwgeom/gserialized1.c:997,1
    - Dst: gserialized1_from_lwpoly
      Src: /src/postgis/liblwgeom/gserialized1.c:999,1
    - Dst: gserialized1_from_lwtriangle
      Src: /src/postgis/liblwgeom/gserialized1.c:1001,1
    - Dst: gserialized1_from_lwcircstring
      Src: /src/postgis/liblwgeom/gserialized1.c:1003,1
    - Dst: gserialized1_from_lwcollection
      Src: /src/postgis/liblwgeom/gserialized1.c:1014,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:1016,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - geom
    - buf
    argTypes:
    - LWGEOM*
    - uint8_t*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/postgis/liblwgeom/gserialized1.c
    - condition: (buf)
      pos:
        line_end: 984
        line_start: 984
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1020
      start: 982
    functionDepth: 3
    functionLinenumber: 982
    functionLinenumberEnd: 1020
    functionName: gserialized1_from_lwgeom_any
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - assert
    - gserialized1_from_lwpoly
    - lwerror
    - gserialized1_from_lwline
    - gserialized1_from_lwcollection
    - FLAGS_GET_M
    - gserialized1_from_lwcircstring
    - lwtype_name
    - gserialized1_from_lwpoint
    - LWDEBUGF
    - FLAGS_GET_Z
    - gserialized1_from_lwtriangle
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_lwgeom_any(const LWGEOM *geom, uint8_t *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1028,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized1.c:1030,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1031,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized1.c:1034,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1035,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized1.c:1038,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1039,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized1.c:1042,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1043,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:1046,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized1.c:1048,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1049,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized1.c:1052,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1053,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:1057,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1061,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized1.c:1063,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1064,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized1.c:1067,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1068,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1073,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/gserialized1.c:1075,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1076,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/gserialized1.c:1079,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1080,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - gbox
    - buf
    argTypes:
    - GBOX*
    - uint8_t*
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 1027
        line_start: 1027
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1086
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1086
    functionName: gserialized1_from_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - next_float_down
    - FLAGS_GET_Z
    - next_float_up
    - FLAGS_GET_M
    - LWDEBUGF
    - memcpy
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: size_t
    signature: size_t gserialized1_from_gbox(const GBOX *gbox, uint8_t *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1097,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:1102,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/gserialized1.c:1102,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:1104,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1111,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1113,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/gserialized1.c:1116,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1117,1
    - Dst: gserialized1_from_gbox
      Src: /src/postgis/liblwgeom/gserialized1.c:1125,1
    - Dst: gserialized1_from_lwgeom_any
      Src: /src/postgis/liblwgeom/gserialized1.c:1128,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:1135,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/gserialized1.c:1151,1
    - Dst: lwflags_get_g1flags
      Src: /src/postgis/liblwgeom/gserialized1.c:1153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - geom
    - size
    argTypes:
    - LWGEOM*
    - size_t*
    assertStmts:
    - condition: (geom)
      pos:
        line_end: 1096
        line_start: 1096
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1156
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1156
    functionName: gserialized1_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - assert
    - gserialized1_from_lwgeom_size
    - lwerror
    - FLAGS_SET_BBOX
    - lwgeom_is_empty
    - lwgeom_add_bbox
    - lwgeom_needs_bbox
    - lwflags_get_g1flags
    - gserialized1_from_gbox
    - lwalloc
    - gserialized1_set_srid
    - gserialized1_from_lwgeom_any
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized1_from_lwgeom(LWGEOM *geom, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1170,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1172,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1179,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized1.c:1183,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1183,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1183,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized1.c:1185,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1185,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1185,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1193
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1193
    functionName: lwpoint_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - ptarray_construct
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * lwpoint_from_gserialized1_buffer(uint8_t *data_ptr, lwflags_t
      lwflags, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1201,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1203,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1210,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized1.c:1214,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1214,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1214,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized1.c:1217,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1217,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1217,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:1219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1225
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1225
    functionName: lwline_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - ptarray_construct
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE * lwline_from_gserialized1_buffer(uint8_t *data_ptr, lwflags_t
      lwflags, size_t *size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1235,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1237,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1244,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:1246,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1252,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1269,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized1.c:1273,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1273,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1273,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1234
        line_start: 1234
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1282
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1282
    functionName: lwpoly_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwalloc
    - LWDEBUGF
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY * lwpoly_from_gserialized1_buffer(uint8_t *data_ptr, lwflags_t
      lwflags, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1290,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1292,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1299,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized1.c:1303,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1303,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1303,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized1.c:1305,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1305,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1305,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1289
        line_start: 1289
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1313
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1313
    functionName: lwtriangle_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - ptarray_construct
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWTRIANGLE
    signature: LWTRIANGLE * lwtriangle_from_gserialized1_buffer(uint8_t *data_ptr,
      lwflags_t lwflags, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1321,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1323,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1330,1
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/gserialized1.c:1334,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1334,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1334,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/gserialized1.c:1336,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1336,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1336,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/gserialized1.c:1338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1320
        line_start: 1320
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1344
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1344
    functionName: lwcircstring_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS
    - assert
    - ptarray_construct
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwalloc
    - ptarray_construct_reference_data
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCIRCSTRING
    signature: LWCIRCSTRING * lwcircstring_from_gserialized1_buffer(uint8_t *data_ptr,
      lwflags_t lwflags, size_t *size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1354,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1356,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1359,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1365,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1371,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1381,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1385,1
    - Dst: lwcollection_allows_subtype
      Src: /src/postgis/liblwgeom/gserialized1.c:1388,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:1390,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1390,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1390,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/gserialized1.c:1391,1
    - Dst: lwgeom_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1353
        line_start: 1353
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1402
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1402
    functionName: lwcollection_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 0
    functionsReached:
    - lwcollection_allows_subtype
    - assert
    - lwerror
    - FLAGS_SET_BBOX
    - lwgeom_from_gserialized1_buffer
    - gserialized1_get_uint32_t
    - lwalloc
    - lwfree
    - lwtype_name
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION * lwcollection_from_gserialized1_buffer(uint8_t *data_ptr,
      lwflags_t lwflags, size_t *size)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1408,1
    - Dst: gserialized1_get_uint32_t
      Src: /src/postgis/liblwgeom/gserialized1.c:1410,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:1412,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1412,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/gserialized1.c:1413,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/gserialized1.c:1413,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/gserialized1.c:1413,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1413,1
    - Dst: lwpoint_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1418,1
    - Dst: lwline_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1420,1
    - Dst: lwcircstring_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1422,1
    - Dst: lwpoly_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1424,1
    - Dst: lwtriangle_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1426,1
    - Dst: lwcollection_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1437,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:1439,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 3
    argNames:
    - data_ptr
    - lwflags
    - g_size
    argTypes:
    - uint8_t*
    - lwflags_t
    - size_t*
    assertStmts:
    - condition: (data_ptr)
      pos:
        line_end: 1407
        line_start: 1407
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1442
      start: 1404
    functionDepth: 3
    functionLinenumber: 1404
    functionLinenumberEnd: 1442
    functionName: lwgeom_from_gserialized1_buffer
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - lwpoint_from_gserialized1_buffer
    - assert
    - lwcollection_from_gserialized1_buffer
    - lwerror
    - FLAGS_GET_BBOX
    - lwtriangle_from_gserialized1_buffer
    - FLAGS_GET_M
    - gserialized1_get_uint32_t
    - lwline_from_gserialized1_buffer
    - lwcircstring_from_gserialized1_buffer
    - lwtype_name
    - lwpoly_from_gserialized1_buffer
    - LWDEBUGF
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_gserialized1_buffer(uint8_t *data_ptr, lwflags_t
      lwflags, size_t *g_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/gserialized1.c:1454,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/gserialized1.c:1456,1
    - Dst: gserialized1_get_type
      Src: /src/postgis/liblwgeom/gserialized1.c:1457,1
    - Dst: gserialized1_get_lwflags
      Src: /src/postgis/liblwgeom/gserialized1.c:1458,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/gserialized1.c:1460,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/gserialized1.c:1460,1
    - Dst: FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1463,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/gserialized1.c:1464,1
    - Dst: lwgeom_from_gserialized1_buffer
      Src: /src/postgis/liblwgeom/gserialized1.c:1466,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/gserialized1.c:1469,1
    - Dst: gserialized1_read_gbox_p
      Src: /src/postgis/liblwgeom/gserialized1.c:1474,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/gserialized1.c:1476,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/liblwgeom/gserialized1.c:1478,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/gserialized1.c:1478,1
    - Dst: gbox_copy
      Src: /src/postgis/liblwgeom/gserialized1.c:1480,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/gserialized1.c:1487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts:
    - condition: (g)
      pos:
        line_end: 1453
        line_start: 1453
        source_file: /src/postgis/liblwgeom/gserialized1.c
    constantsTouched: []
    func_position:
      end: 1490
      start: 1444
    functionDepth: 7
    functionLinenumber: 1444
    functionLinenumberEnd: 1490
    functionName: lwgeom_from_gserialized1
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - gserialized1_get_srid
    - assert
    - gserialized1_get_lwflags
    - gbox_serialized_size
    - gserialized1_get_type
    - lwerror
    - gbox_copy
    - FLAGS_GET_BBOX
    - lwgeom_calculate_gbox
    - lwgeom_from_gserialized1_buffer
    - lwgeom_needs_bbox
    - lwgeom_set_srid
    - gserialized1_read_gbox_p
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_gserialized1(const GSERIALIZED *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1495,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - g
    - ndims
    argTypes:
    - GSERIALIZED*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1499
    functionName: gserialized1_get_float_box_p
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_GET_BBOX
    - G1FLAGS_NDIMS_BOX
    linkageType: ''
    returnType: float
    signature: float * gserialized1_get_float_box_p(const GSERIALIZED *g, size_t *ndims)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1512,1
    - Dst: FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1513,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1526,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized1.c:1536,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1538,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1540,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1544,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized1.c:1544,1
    - Dst: G1FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1545,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/gserialized1.c:1546,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/gserialized1.c:1550,1
    - Dst: gserialized1_has_z
      Src: /src/postgis/liblwgeom/gserialized1.c:1559,1
    - Dst: gserialized1_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized1.c:1559,1
    - Dst: gserialized1_has_m
      Src: /src/postgis/liblwgeom/gserialized1.c:1564,1
    - Dst: gserialized1_is_geodetic
      Src: /src/postgis/liblwgeom/gserialized1.c:1564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - g
    - gbox
    argTypes:
    - GSERIALIZED*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1509
    functionDepth: 2
    functionLinenumber: 1509
    functionLinenumberEnd: 1571
    functionName: gserialized1_set_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_SET_BBOX
    - gserialized1_is_geodetic
    - LWSIZE_SET
    - gbox_float_round
    - gserialized1_has_z
    - lwalloc
    - LWSIZE_GET
    - gserialized1_has_m
    - FLAGS_NDIMS_BOX
    - G1FLAGS_GET_BBOX
    - memcpy
    - G1FLAGS_NDIMS_BOX
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized1_set_gbox(GSERIALIZED *g, GBOX *gbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: G1FLAGS_NDIMS_BOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1580,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/gserialized1.c:1582,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/gserialized1.c:1583,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1586,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1591,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1595,1
    - Dst: G1FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/gserialized1.c:1596,1
    - Dst: LWSIZE_SET
      Src: /src/postgis/liblwgeom/gserialized1.c:1597,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/gserialized1.c:1602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1606
    functionName: gserialized1_drop_gbox
    functionSourceFile: /src/postgis/liblwgeom/gserialized1.c
    functionUses: 1
    functionsReached:
    - G1FLAGS_SET_BBOX
    - LWSIZE_SET
    - lwalloc
    - LWSIZE_GET
    - G1FLAGS_GET_BBOX
    - memcpy
    - G1FLAGS_NDIMS_BOX
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized1_drop_gbox(GSERIALIZED *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - CIRC_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: circ_node_is_leaf
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int circ_node_is_leaf(const CIRC_NODE* node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:57,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:58,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - CIRC_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: circ_tree_free
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - lwfree
    - circ_tree_free
    linkageType: ''
    returnType: void
    signature: void circ_tree_free(CIRC_NODE* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:76,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:77,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:78,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:79,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:81,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:83,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:86,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:90,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:95,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:96,1
    - Dst: vector_sum
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:97,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:98,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:99,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - pa
    - i
    argTypes:
    - POINTARRAY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 116
    functionName: circ_node_leaf_new
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - sphere_distance
    - normalize
    - getPoint_internal
    - lwalloc
    - vector_sum
    - cart2geog
    - LWDEBUGF
    - FP_EQUALS
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      circ_node_leaf_new(const POINTARRAY* pa, int i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:124,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:125,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: circ_node_leaf_point_new
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - geographic_point_init
    - getPoint_internal
    - lwalloc
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      circ_node_leaf_point_new(const POINTARRAY* pa)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:148,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:149,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:150,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:151,1
    - Dst: geohash_point_as_int
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:152,1
    - Dst: geohash_point_as_int
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: circ_node_compare
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - rad2deg
    - geohash_point_as_int
    linkageType: ''
    returnType: int
    signature: int circ_node_compare(const void* v1, const void* v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:169,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:171,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:173,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:176,1
    - Dst: sphere_project
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - c1
    - c2
    - distance
    - offset
    - center
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: circ_center_spherical
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - sphere_direction
    - isnan
    - LWDEBUGF
    - sphere_project
    linkageType: ''
    returnType: int
    signature: int circ_center_spherical(const GEOGRAPHIC_POINT* c1, const GEOGRAPHIC_POINT*
      c2, double distance, double offset, GEOGRAPHIC_POINT* center)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:197,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:199,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:200,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:216,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - c2
    - distance
    - offset
    - center
    argTypes:
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 222
    functionName: circ_center_cartesian
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - cart2geog
    - normalize
    - geog2cart
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int circ_center_cartesian(const GEOGRAPHIC_POINT* c1, const GEOGRAPHIC_POINT*
      c2, double distance, double offset, GEOGRAPHIC_POINT* center)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:238,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:255,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:265,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:274,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:278,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:284,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:286,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:288,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:292,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:297,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:304,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:311,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:314,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:321,1
    - Dst: circ_center_spherical
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:327,1
    - Dst: circ_center_cartesian
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:329,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:333,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 2
    argNames:
    - c
    - num_nodes
    argTypes:
    - CIRC_NODE**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 348
    functionName: circ_node_internal_new
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - sphere_distance
    - lwtype_get_collectiontype
    - fabs
    - lwtype_is_collection
    - circ_center_cartesian
    - circ_center_spherical
    - lwalloc
    - LWDEBUGF
    - FP_EQUALS
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      circ_node_internal_new(CIRC_NODE** c, uint32_t num_nodes)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: circ_node_leaf_point_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:368,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:372,1
    - Dst: circ_node_leaf_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:376,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:383,1
    - Dst: circ_node_leaf_point_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:384,1
    - Dst: circ_nodes_merge
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:388,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 394
    functionName: circ_tree_new
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - circ_node_leaf_new
    - circ_nodes_merge
    - lwfree
    - lwalloc
    - circ_node_leaf_point_new
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      circ_tree_new(const POINTARRAY* pa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nodes
    - num_nodes
    argTypes:
    - CIRC_NODE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: circ_nodes_sort
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void circ_nodes_sort(CIRC_NODE** nodes, int num_nodes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:427,1
    - Dst: circ_node_internal_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:432,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:440,1
    - Dst: circ_node_internal_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - nodes
    - num_nodes
    argTypes:
    - CIRC_NODE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 454
    functionName: circ_nodes_merge
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - lwfree
    - circ_node_internal_new
    - lwalloc
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      circ_nodes_merge(CIRC_NODE** nodes, int num_nodes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:462,1
    - Dst: circ_tree_get_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - node
    - pt
    argTypes:
    - CIRC_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: circ_tree_get_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - circ_tree_get_point
    - circ_node_is_leaf
    linkageType: ''
    returnType: int
    signature: int circ_tree_get_point(const CIRC_NODE* node, POINT2D* pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:479,1
    - Dst: vector_scale
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:480,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:481,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:482,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - node
    - pt
    argTypes:
    - CIRC_NODE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: circ_tree_get_point_outside
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - cart2geog
    - rad2deg
    - vector_scale
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int circ_tree_get_point_outside(const CIRC_NODE* node, POINT2D* pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:503,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:504,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:505,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:506,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:508,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:515,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:515,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:515,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:516,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:517,1
    - Dst: FP_LTEQ
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:518,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:520,1
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:523,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:526,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:527,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:528,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:529,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:530,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:532,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:533,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:537,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:541,1
    - Dst: cart2geog
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:541,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:543,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:548,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:549,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:549,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:550,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:550,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:555,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:560,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:566,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:575,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:576,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 5
    argNames:
    - node
    - pt
    - pt_outside
    - level
    - on_boundary
    argTypes:
    - CIRC_NODE*
    - POINT2D*
    - POINT2D*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 586
    functionName: circ_tree_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - circ_tree_contains_point
    - edge_distance_to_point
    - edge_intersects
    - cart2geog
    - FP_LTEQ
    - circ_node_is_leaf
    - rad2deg
    - LWDEBUGF
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int circ_tree_contains_point(const CIRC_NODE* node, const POINT2D*
      pt, const POINT2D* pt_outside, int level, int* on_boundary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - CIRC_NODE*
    - CIRC_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: circ_node_min_distance
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - sphere_distance
    linkageType: ''
    returnType: double
    signature: double circ_node_min_distance(const CIRC_NODE* n1, const CIRC_NODE*
      n2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - CIRC_NODE*
    - CIRC_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: circ_node_max_distance
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - sphere_distance
    linkageType: ''
    returnType: double
    signature: double circ_node_max_distance(const CIRC_NODE *n1, const CIRC_NODE
      *n2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:618,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:623,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - n1
    - n2
    - spheroid
    - threshold
    argTypes:
    - CIRC_NODE*
    - CIRC_NODE*
    - SPHEROID*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 629
    functionName: circ_tree_distance_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_distance_tree_internal
    - sphere_distance
    - spheroid_distance
    linkageType: ''
    returnType: double
    signature: double circ_tree_distance_tree(const CIRC_NODE* n1, const CIRC_NODE*
      n2, const SPHEROID* spheroid, double threshold)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: circ_nodes_sort_cmp
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int circ_nodes_sort_cmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:662,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - nodes
    - num_nodes
    - target_node
    argTypes:
    - CIRC_NODE**
    - uint32_t
    - CIRC_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 672
    functionName: circ_internal_nodes_sort
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - sphere_distance
    - qsort
    linkageType: ''
    returnType: void
    signature: void circ_internal_nodes_sort(CIRC_NODE **nodes, uint32_t num_nodes,
      const CIRC_NODE *target_node)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:683,1
    - Dst: circ_node_min_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:695,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:697,1
    - Dst: circ_node_max_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:702,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:703,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:709,1
    - Dst: circ_tree_get_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:712,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:713,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:714,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:716,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:718,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:719,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:725,1
    - Dst: circ_tree_get_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:728,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:729,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:730,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:732,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:733,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:734,1
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:741,1
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:741,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:745,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:755,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:756,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:758,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:763,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:764,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:765,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:767,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:772,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:773,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:774,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:776,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:778,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:786,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:787,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:788,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:789,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:790,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:791,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:792,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:793,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:794,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:797,1
    - Dst: edge_distance_to_edge
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:802,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:804,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:820,1
    - Dst: circ_internal_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:822,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:825,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:826,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:829,1
    - Dst: circ_internal_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:831,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:834,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:835,1
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:838,1
    - Dst: circ_internal_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:840,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:843,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:844,1
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:847,1
    - Dst: circ_internal_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:849,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:852,1
    - Dst: FP_MIN
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:853,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 115
    argCount: 7
    argNames:
    - n1
    - n2
    - threshold
    - min_dist
    - max_dist
    - closest1
    - closest2
    argTypes:
    - CIRC_NODE*
    - CIRC_NODE*
    - double
    - double*
    - double*
    - GEOGRAPHIC_POINT*
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 676
    functionDepth: 6
    functionLinenumber: 676
    functionLinenumberEnd: 863
    functionName: circ_tree_distance_tree_internal
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 2
    functionsReached:
    - circ_tree_get_point
    - edge_intersection
    - edge_distance_to_edge
    - circ_tree_contains_point
    - FP_MIN
    - edge_distance_to_point
    - LWDEBUG
    - sphere_distance
    - edge_intersects
    - lwtype_is_collection
    - circ_internal_nodes_sort
    - circ_node_min_distance
    - circ_node_is_leaf
    - circ_node_max_distance
    - circ_tree_distance_tree_internal
    - LWDEBUGF
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: double
    signature: double circ_tree_distance_tree_internal(const CIRC_NODE* n1, const
      CIRC_NODE* n2, double threshold, double* min_dist, double* max_dist, GEOGRAPHIC_POINT*
      closest1, GEOGRAPHIC_POINT* closest2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: circ_node_is_leaf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:873,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:875,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:884,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:884,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:888,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:890,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:895,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:902,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:902,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:906,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:908,1
    - Dst: circ_tree_print
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - node
    - depth
    argTypes:
    - CIRC_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 915
    functionName: circ_tree_print
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - lwtype_name
    - printf
    - circ_node_is_leaf
    - circ_tree_print
    linkageType: ''
    returnType: void
    signature: void circ_tree_print(const CIRC_NODE* node, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:922,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lwpoint
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 918
    functionDepth: 4
    functionLinenumber: 918
    functionLinenumberEnd: 925
    functionName: lwpoint_calculate_circ_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_type
    - circ_tree_new
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      lwpoint_calculate_circ_tree(const LWPOINT* lwpoint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:931,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lwline
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: lwline_calculate_circ_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_type
    - circ_tree_new
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      lwline_calculate_circ_tree(const LWLINE* lwline)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:946,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:951,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:954,1
    - Dst: circ_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:959,1
    - Dst: circ_nodes_merge
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:961,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:963,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:968,1
    - Dst: lwpoly_pt_outside
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - lwpoly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 936
    functionDepth: 5
    functionLinenumber: 936
    functionLinenumberEnd: 972
    functionName: lwpoly_calculate_circ_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_new
    - circ_nodes_merge
    - lwpoly_pt_outside
    - lwgeom_get_type
    - lwfree
    - lwalloc
    - circ_nodes_sort
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      lwpoly_calculate_circ_tree(const LWPOLY* lwpoly)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:983,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:986,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:989,1
    - Dst: circ_nodes_sort
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:994,1
    - Dst: circ_nodes_merge
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:996,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:998,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - lwcol
    argTypes:
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 974
    functionDepth: 5
    functionLinenumber: 974
    functionLinenumberEnd: 1001
    functionName: lwcollection_calculate_circ_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - circ_nodes_merge
    - lwgeom_get_type
    - lwfree
    - lwalloc
    - lwgeom_calculate_circ_tree
    - circ_nodes_sort
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      lwcollection_calculate_circ_tree(const LWCOLLECTION* lwcol)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1006,1
    - Dst: lwpoint_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1012,1
    - Dst: lwline_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1014,1
    - Dst: lwpoly_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1016,1
    - Dst: lwcollection_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1021,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1023,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1003
    functionDepth: 6
    functionLinenumber: 1003
    functionLinenumberEnd: 1027
    functionName: lwgeom_calculate_circ_tree
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 1
    functionsReached:
    - lwline_calculate_circ_tree
    - lwerror
    - lwgeom_is_empty
    - lwcollection_calculate_circ_tree
    - lwtype_name
    - lwpoly_calculate_circ_tree
    - lwpoint_calculate_circ_tree
    linkageType: ''
    returnType: CIRC_NODE
    signature: 'CIRC_NODE *

      lwgeom_calculate_circ_tree(const LWGEOM* lwgeom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1045,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1046,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1054,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1058,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1059,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1060,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1060,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1062,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - lwgeom1
    - lwgeom2
    - threshold
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1034
    functionDepth: 7
    functionLinenumber: 1034
    functionLinenumberEnd: 1065
    functionName: geography_tree_closestpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_free
    - lwgeom_get_srid
    - circ_tree_distance_tree_internal
    - lwgeom_calculate_circ_tree
    - rad2deg
    - lwpoint_make2d
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      geography_tree_closestpoint(const LWGEOM* lwgeom1, const LWGEOM* lwgeom2, double
      threshold)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1081,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1082,1
    - Dst: circ_tree_distance_tree_internal
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1090,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1093,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1094,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1095,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1096,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1098,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1099,1
    - Dst: lwline_from_lwgeom_array
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1100,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1102,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1103,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1104,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/lwgeodetic_tree.c:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - lwgeom1
    - lwgeom2
    - threshold
    - spheroid
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1068
    functionDepth: 8
    functionLinenumber: 1068
    functionLinenumberEnd: 1107
    functionName: geography_tree_shortestline
    functionSourceFile: /src/postgis/liblwgeom/lwgeodetic_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwline_from_lwgeom_array
    - circ_tree_free
    - circ_tree_distance_tree_internal
    - lwgeom_calculate_circ_tree
    - rad2deg
    - lwpoint_make2d
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      geography_tree_shortestline(const LWGEOM* lwgeom1, const LWGEOM* lwgeom2, double
      threshold, const SPHEROID *spheroid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcompound.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - compound
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: lwcompound_num_curves
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t lwcompound_num_curves(const LWCOMPOUND *compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - compound
    - curvenum
    argTypes:
    - LWCOMPOUND*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: lwcollection_getsubcurve
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_getsubcurve(const LWCOMPOUND *compound, uint32_t curvenum)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwcompound.c:50,1
    - Dst: lwcompound_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:50,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:51,1
    - Dst: lwcompound_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:51,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:63,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:64,1
    - Dst: p3d_same
      Src: /src/postgis/liblwgeom/lwcompound.c:65,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:70,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:71,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwcompound.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - compound
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 78
    functionName: lwcompound_is_closed
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 2
    functionsReached:
    - lwcompound_as_lwgeom
    - getPoint2d_cp
    - lwgeom_is_empty
    - p2d_same
    - p3d_same
    - lwgeom_has_z
    - getPoint3d_cp
    linkageType: ''
    returnType: int
    signature: int lwcompound_is_closed(const LWCOMPOUND *compound)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/lwcompound.c:83,1
    - Dst: lwcompound_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:83,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:84,1
    - Dst: lwcompound_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:84,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:95,1
    - Dst: getPoint3d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:96,1
    - Dst: p3d_same
      Src: /src/postgis/liblwgeom/lwcompound.c:97,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:102,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/lwcompound.c:103,1
    - Dst: p2d_same
      Src: /src/postgis/liblwgeom/lwcompound.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - compound
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: lwcompound_is_valid
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached:
    - lwcompound_as_lwgeom
    - getPoint2d_cp
    - lwgeom_is_empty
    - p2d_same
    - p3d_same
    - lwgeom_has_z
    - getPoint3d_cp
    linkageType: ''
    returnType: int
    signature: int lwcompound_is_valid(const LWCOMPOUND *compound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcompound_length_2d
      Src: /src/postgis/liblwgeom/lwcompound.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: lwcompound_length
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 1
    functionsReached:
    - lwcompound_length_2d
    linkageType: ''
    returnType: double
    signature: double lwcompound_length(const LWCOMPOUND *comp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:121,1
    - Dst: lwgeom_length_2d
      Src: /src/postgis/liblwgeom/lwcompound.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - comp
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: lwcompound_length_2d
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 2
    functionsReached:
    - lwgeom_length_2d
    - lwgeom_is_empty
    linkageType: ''
    returnType: double
    signature: double lwcompound_length_2d(const LWCOMPOUND *comp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:136,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwcompound.c:138,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwcompound.c:150,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwcompound.c:151,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwcompound.c:153,1
    - Dst: FP_EQUALS
      Src: /src/postgis/liblwgeom/lwcompound.c:153,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwcompound.c:155,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcompound.c:156,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - comp
    - geom
    argTypes:
    - LWCOMPOUND*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: lwcompound_add_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - lwgeom_is_empty
    - LWDEBUGF
    - FP_EQUALS
    - getPoint4d_p
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: int
    signature: int lwcompound_add_lwgeom(LWCOMPOUND *comp, LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: lwcompound_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 1
    functionsReached:
    - lwcollection_construct_empty
    linkageType: ''
    returnType: LWCOMPOUND
    signature: 'LWCOMPOUND *

      lwcompound_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/lwcompound.c:177,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/lwcompound.c:179,1
    - Dst: lwcompound_contains_point
      Src: /src/postgis/liblwgeom/lwcompound.c:181,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcompound.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - geom
    - pt
    argTypes:
    - LWGEOM*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: lwgeom_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 4
    functionsReached:
    - lwerror
    - ptarray_contains_point
    - ptarrayarc_contains_point
    - lwcompound_contains_point
    linkageType: ''
    returnType: int
    signature: int lwgeom_contains_point(const LWGEOM *geom, const POINT2D *pt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/lwcompound.c:202,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/lwcompound.c:205,1
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/lwcompound.c:210,1
    - Dst: lwgeom_as_lwcircstring
      Src: /src/postgis/liblwgeom/lwcompound.c:215,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcompound.c:217,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcompound.c:217,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/lwcompound.c:222,1
    - Dst: ptarrayarc_contains_point_partial
      Src: /src/postgis/liblwgeom/lwcompound.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - comp
    - pt
    argTypes:
    - LWCOMPOUND*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 244
    functionName: lwcompound_contains_point
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 1
    functionsReached:
    - ptarray_contains_point
    - lwerror
    - ptarray_contains_point_partial
    - ptarrayarc_contains_point_partial
    - lwgeom_as_lwcircstring
    - lwtype_name
    - ptarrayarc_contains_point
    - lwgeom_as_lwline
    linkageType: ''
    returnType: int
    signature: int lwcompound_contains_point(const LWCOMPOUND *comp, const POINT2D
      *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcompound_construct_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:249,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwcompound.c:249,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwcompound.c:249,1
    - Dst: lwcompound_add_lwgeom
      Src: /src/postgis/liblwgeom/lwcompound.c:250,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/lwcompound.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lwline
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: lwcompound_construct_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 1
    functionsReached:
    - lwcompound_add_lwgeom
    - FLAGS_GET_M
    - lwgeom_clone
    - lwcompound_construct_empty
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWCOMPOUND
    signature: 'LWCOMPOUND *

      lwcompound_construct_from_lwline(const LWLINE *lwline)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcompound.c:261,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwcompound.c:264,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcompound.c:267,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwcompound.c:274,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwcompound.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - lwcmp
    - where
    argTypes:
    - LWCOMPOUND*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 286
    functionName: lwcompound_get_lwpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwgeom_count_vertices
    - lwline_get_lwpoint
    - lwgeom_is_empty
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwcompound_get_lwpoint(const LWCOMPOUND *lwcmp, uint32_t where)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcompound_get_lwpoint
      Src: /src/postgis/liblwgeom/lwcompound.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwcmp
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: lwcompound_get_startpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached:
    - lwcompound_get_lwpoint
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwcompound_get_startpoint(const LWCOMPOUND *lwcmp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwcompound.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lwcmp
    argTypes:
    - LWCOMPOUND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: lwcompound_get_endpoint
    functionSourceFile: /src/postgis/liblwgeom/lwcompound.c
    functionUses: 0
    functionsReached:
    - lwline_get_lwpoint
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      lwcompound_get_endpoint(const LWCOMPOUND *lwcmp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: FP_IS_ZERO
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_IS_ZERO(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: FP_MAX
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_MAX(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: FP_MIN
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_MIN(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: FP_ABS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_ABS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: FP_EQUALS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_EQUALS(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: FP_NEQUALS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_NEQUALS(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: FP_LT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: FP_LTEQ
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_LTEQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: FP_GT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: FP_GTEQ
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_GTEQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - X
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: FP_CONTAINS_TOP
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_CONTAINS_TOP(A, X, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - X
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: FP_CONTAINS_BOTTOM
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_CONTAINS_BOTTOM(A, X, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - X
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: FP_CONTAINS_INCL
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_CONTAINS_INCL(A, X, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - X
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: FP_CONTAINS_EXCL
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_CONTAINS_EXCL(A, X, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - X
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: FP_CONTAINS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP_CONTAINS(A, X, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: STR_EQUALS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_EQUALS(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: STR_IEQUALS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_IEQUALS(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: STR_ISTARTS
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_ISTARTS(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: SIGNUM
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNUM(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: P2D_SAME_STRICT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P2D_SAME_STRICT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: P3DZ_SAME_STRICT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P3DZ_SAME_STRICT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: P3DM_SAME_STRICT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P3DM_SAME_STRICT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: P4D_SAME_STRICT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P4D_SAME_STRICT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: LW_ON_INTERRUPT
    functionSourceFile: /src/postgis/liblwgeom/liblwgeom_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LW_ON_INTERRUPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: hashsize
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashsize(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: hashmask
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmask(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: rot
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rot(x,k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: mix
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mix(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: final
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: final(a,b,c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:205,1
    - Dst: final
      Src: /src/postgis/liblwgeom/lookup3.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - k
    - length
    - initval
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 222
    functionName: hashword
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t hashword(

      const uint32_t *k,                   /* the key, an array of uint32_t values
      */

      size_t          length,               /* the length of the key, in uint32_ts
      */

      uint32_t        initval)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:252,1
    - Dst: final
      Src: /src/postgis/liblwgeom/lookup3.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - k
    - length
    - pc
    - pb
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: hashword2
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: void
    signature: 'void hashword2 (

      const uint32_t *k,                   /* the key, an array of uint32_t values
      */

      size_t          length,               /* the length of the key, in uint32_ts
      */

      uint32_t       *pc,                      /* IN: seed OUT: primary hash value
      */

      uint32_t       *pb)'
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:318,1
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:384,1
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:439,1
    - Dst: final
      Src: /src/postgis/liblwgeom/lookup3.c:464,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 202
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 466
    functionName: hashlittle
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:503,1
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:569,1
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:624,1
    - Dst: final
      Src: /src/postgis/liblwgeom/lookup3.c:649,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 212
    argCount: 4
    argNames:
    - key
    - length
    - pc
    - pb
    argTypes:
    - void*
    - size_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 651
    functionName: hashlittle2
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 2
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: void
    signature: "void hashlittle2(\n  const void *key,       /* the key to hash */\n
      \ size_t      length,    /* length of the key */\n  uint32_t   *pc,        /*
      IN: primary initval, OUT: primary hash */\n  uint32_t   *pb)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:680,1
    - Dst: mix
      Src: /src/postgis/liblwgeom/lookup3.c:754,1
    - Dst: final
      Src: /src/postgis/liblwgeom/lookup3.c:779,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 150
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 781
    functionName: hashbig
    functionSourceFile: /src/postgis/liblwgeom/lookup3.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashbig( const void *key, size_t length, uint32_t initval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: lwgeom_ngeoms
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwcollection
    linkageType: ''
    returnType: int
    signature: int lwgeom_ngeoms(const LWGEOM* n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:47,1
    - Dst: lwcollection_getsubgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - g
    - n
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: lwgeom_subgeom
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwcollection
    - lwcollection_getsubgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_subgeom(const LWGEOM* g, int n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_ngeoms
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:63,1
    - Dst: lwgeom_collect_endpoints
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:66,1
    - Dst: lwgeom_subgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:67,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:73,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:74,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:75,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:76,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:79,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - lwg
    - col
    argTypes:
    - LWGEOM*
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 83
    functionName: lwgeom_collect_endpoints
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwgeom_subgeom
    - lwgeom_collect_endpoints
    - lwline_get_lwpoint
    - lwmpoint_add_lwpoint
    - lwtype_name
    - lwgeom_ngeoms
    linkageType: ''
    returnType: void
    signature: void lwgeom_collect_endpoints(const LWGEOM* lwg, LWMPOINT* col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwmpoint_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:88,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:89,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:90,1
    - Dst: lwgeom_collect_endpoints
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lwg
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: lwgeom_extract_endpoints
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 0
    functionsReached:
    - lwgeom_collect_endpoints
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - lwmpoint_construct_empty
    linkageType: ''
    returnType: LWMPOINT
    signature: 'LWMPOINT *

      lwgeom_extract_endpoints(const LWGEOM* lwg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_extract_endpoints
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:103,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:104,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:105,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:107,1
    - Dst: GEOSUnaryUnion
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:113,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:115,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:116,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:119,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:121,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:121,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:122,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - lwg
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 10
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: lwgeom_extract_unique_endpoints
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 0
    functionsReached:
    - lwmpoint_free
    - GEOSUnaryUnion
    - lwgeom_extract_endpoints
    - lwerror
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_extract_unique_endpoints(const LWGEOM* lwg)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_dimension
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:141,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:142,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:146,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:147,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:149,1
    - Dst: lwgeom_extract_unique_endpoints
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:153,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:155,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:156,1
    - Dst: GEOSNode
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:160,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:161,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:163,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:164,1
    - Dst: LWDEBUGGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:167,1
    - Dst: GEOSGetNumGeometries
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:169,1
    - Dst: GEOSLineMerge
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:172,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:173,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:175,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:176,1
    - Dst: LWDEBUGGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:179,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:182,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:182,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:183,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:185,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:186,1
    - Dst: GEOSGetGeometryN
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:192,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:193,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:193,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:194,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:196,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:197,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:204,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:204,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:205,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:207,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:208,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:211,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:225,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:226,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:227,1
    - Dst: lwgeom_ngeoms
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:229,1
    - Dst: lwgeom_subgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:232,1
    - Dst: lwgeom_ngeoms
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:234,1
    - Dst: lwgeom_subgeom
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:237,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:239,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:251,1
    - Dst: lwcollection_reserve
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:253,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:258,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:263,1
    - Dst: lwcollection_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:265,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:266,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:267,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:268,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:272,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:280,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:281,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos_node.c:283,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 100
    argCount: 1
    argNames:
    - lwgeom_in
    argTypes:
    - LWGEOM*
    assertStmts:
    - condition: (col->ngeoms == 2)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/postgis/liblwgeom/lwgeom_geos_node.c
    - condition: (col->ngeoms == 2)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/postgis/liblwgeom/lwgeom_geos_node.c
    constantsTouched: []
    func_position:
      end: 285
      start: 133
    functionDepth: 11
    functionLinenumber: 133
    functionLinenumberEnd: 285
    functionName: lwgeom_node
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_node.c
    functionUses: 1
    functionsReached:
    - lwgeom_dimension
    - lwgeom_free
    - lwgeom_is_collection
    - assert
    - GEOSNode
    - lwline_split_by_point_to
    - lwgeom_set_srid
    - GEOSLineMerge
    - FLAGS_GET_Z
    - lwgeom_subgeom
    - lwcollection_free
    - initGEOS
    - lwcollection_reserve
    - lwgeom_extract_unique_endpoints
    - GEOSGetNumGeometries
    - lwerror
    - lwcollection_construct_empty
    - LWGEOM2GEOS
    - GEOS2LWGEOM
    - FLAGS_GET_M
    - GEOSGeom_destroy
    - LWDEBUGGEOS
    - GEOSGetGeometryN
    - lwcollection_clone_deep
    - lwgeom_ngeoms
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_node(const LWGEOM* lwgeom_in)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:54,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:67,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:69,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:72,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:75,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:78,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:79,1
    - Dst: GEOSBoundary
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:86,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:87,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:90,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:91,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:98,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:101,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:102,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:103,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:108,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:109,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:110,1
    - Dst: GEOSDifference
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:115,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:116,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:117,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:120,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:124,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:124,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:125,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:128,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:132,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:135,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:137,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - lwline_in
    - blade_in
    argTypes:
    - LWLINE*
    - LWGEOM*
    assertStmts:
    - condition: "(blade_in->type == LINETYPE ||\n\t        blade_in->type == MULTILINETYPE
        ||\n\t        blade_in->type == POLYGONTYPE ||\n\t        blade_in->type ==
        MULTIPOLYGONTYPE )"
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/postgis/liblwgeom/lwgeom_geos_split.c
    constantsTouched: []
    func_position:
      end: 150
      start: 42
    functionDepth: 10
    functionLinenumber: 42
    functionLinenumberEnd: 150
    functionName: lwline_split_by_line
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - assert
    - lwgeom_as_lwcollection
    - lwerror
    - LWGEOM2GEOS
    - GEOSDifference
    - GEOSBoundary
    - GEOS2LWGEOM
    - GEOSRelatePattern
    - GEOSGeom_destroy
    - lwcollection_construct
    - lwgeom_set_srid
    - lwalloc
    - initGEOS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_split_by_line(const LWLINE* lwline_in, const LWGEOM* blade_in)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwmline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:157,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:158,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:159,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:160,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:162,1
    - Dst: lwline_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lwline_in
    - blade_in
    argTypes:
    - LWLINE*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: lwline_split_by_point
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - lwmline_construct_empty
    - lwmline_add_lwline
    - lwline_clone_deep
    - lwline_split_by_point_to
    - FLAGS_GET_M
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_split_by_point(const LWLINE* lwline_in, const LWPOINT* blade_in)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwmline_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:177,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:178,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:179,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:180,1
    - Dst: lwline_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:180,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:188,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - lwline_in
    - mp
    argTypes:
    - LWLINE*
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: lwline_split_by_mpoint
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - lwmline_construct_empty
    - lwmline_add_lwline
    - lwline_clone_deep
    - lwline_split_by_point_to
    - FLAGS_GET_M
    - lwline_free
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_split_by_mpoint(const LWLINE* lwline_in, const LWMPOINT* mp)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:233,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:237,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:241,1
    - Dst: distance2d_sqr_pt_seg
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:242,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:243,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:258,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:259,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:273,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:274,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:275,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:283,1
    - Dst: P4D_SAME_STRICT
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:286,1
    - Dst: P4D_SAME_STRICT
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:287,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:294,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:294,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:294,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:298,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:299,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:301,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:303,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:303,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:303,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:304,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:308,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:309,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:314,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:315,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:320,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:320,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:321,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - lwline_in
    - blade_in
    - v
    argTypes:
    - LWLINE*
    - LWPOINT*
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 323
    functionName: lwline_split_by_point_to
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 3
    functionsReached:
    - ptarray_construct_empty
    - distance2d_sqr_pt_seg
    - lwmline_add_lwline
    - ptarray_free
    - ptarray_append_point
    - FLAGS_GET_M
    - closest_point_on_segment
    - P4D_SAME_STRICT
    - lwline_construct
    - LWDEBUGF
    - getPoint4d_p
    - FLAGS_GET_Z
    linkageType: ''
    returnType: int
    signature: "int lwline_split_by_point_to(const LWLINE* lwline_in, const LWPOINT*
      blade_in,\n                         LWMLINE* v)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwline_split_by_point
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:331,1
    - Dst: lwline_split_by_mpoint
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:333,1
    - Dst: lwline_split_by_line
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:339,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:342,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - lwline_in
    - blade_in
    argTypes:
    - LWLINE*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 11
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: lwline_split
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - lwline_split_by_mpoint
    - lwerror
    - lwline_split_by_point
    - lwtype_name
    - lwline_split_by_line
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwline_split(const LWLINE* lwline_in, const LWGEOM* blade_in)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:360,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:371,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:373,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:376,1
    - Dst: GEOSBoundary
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:379,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:382,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:383,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:387,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:390,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:391,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:392,1
    - Dst: GEOSUnion
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:396,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:399,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:400,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:401,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:402,1
    - Dst: GEOSPolygonize
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:406,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:409,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:410,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:411,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:412,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:413,1
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:418,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:420,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:421,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:422,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:423,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:424,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:425,1
    - Dst: GEOSGetNumGeometries
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:434,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:435,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:438,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:439,1
    - Dst: GEOSGetGeometryN
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:443,1
    - Dst: GEOSPointOnSurface
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:446,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:449,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:450,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:451,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:452,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:453,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:454,1
    - Dst: GEOSContains
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:458,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:461,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:462,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:463,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:464,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:465,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:466,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:467,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:471,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:481,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:484,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:485,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:486,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:487,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:488,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 2
    argNames:
    - lwpoly_in
    - blade_in
    argTypes:
    - LWPOLY*
    - LWGEOM*
    assertStmts:
    - condition: (0 == out->ngeoms)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/postgis/liblwgeom/lwgeom_geos_split.c
    constantsTouched: []
    func_position:
      end: 491
      start: 350
    functionDepth: 10
    functionLinenumber: 350
    functionLinenumberEnd: 491
    functionName: lwpoly_split_by_line
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - assert
    - GEOSGetNumGeometries
    - lwerror
    - GEOSContains
    - lwcollection_construct_empty
    - LWGEOM2GEOS
    - GEOSPointOnSurface
    - GEOSBoundary
    - GEOS2LWGEOM
    - GEOSPolygonize
    - GEOSGeom_destroy
    - GEOSUnion
    - GEOSGeomTypeId
    - lwrealloc
    - GEOSGetGeometryN
    - initGEOS
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwpoly_split_by_line(const LWPOLY* lwpoly_in, const LWGEOM* blade_in)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:503,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:506,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:513,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:517,1
    - Dst: assert
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:519,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:526,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:530,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:540,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:541,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - lwcoll_in
    - blade_in
    argTypes:
    - LWCOLLECTION*
    - LWGEOM*
    assertStmts:
    - condition: (col)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/postgis/liblwgeom/lwgeom_geos_split.c
    constantsTouched: []
    func_position:
      end: 549
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 549
    functionName: lwcollection_split
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - lwgeom_split
    - assert
    - lwgeom_as_lwcollection
    - lwerror
    - lwcollection_construct
    - lwrealloc
    - lwalloc
    - lwfree
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwcollection_split(const LWCOLLECTION* lwcoll_in, const LWGEOM* blade_in)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_split_by_line
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:558,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:560,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - lwpoly_in
    - blade_in
    argTypes:
    - LWPOLY*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 551
    functionDepth: 11
    functionLinenumber: 551
    functionLinenumberEnd: 565
    functionName: lwpoly_split
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 0
    functionsReached:
    - lwpoly_split_by_line
    - lwtype_name
    - lwerror
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwpoly_split(const LWPOLY* lwpoly_in, const LWGEOM* blade_in)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwline_split
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:574,1
    - Dst: lwpoly_split
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:577,1
    - Dst: lwcollection_split
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:582,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:585,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_geos_split.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lwgeom_in
    - blade_in
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 568
    functionDepth: 12
    functionLinenumber: 568
    functionLinenumberEnd: 590
    functionName: lwgeom_split
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos_split.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwline_split
    - lwcollection_split
    - lwpoly_split
    - lwtype_name
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_split(const LWGEOM* lwgeom_in, const LWGEOM* blade_in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwmpoly.c:36,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/lwmpoly.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwmpoly
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: lwmpoly_release
    functionSourceFile: /src/postgis/liblwgeom/lwmpoly.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwmpoly_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwmpoly_release(LWMPOLY *lwmpoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/liblwgeom/lwmpoly.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: lwmpoly_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwmpoly.c
    functionUses: 0
    functionsReached:
    - lwcollection_construct_empty
    linkageType: ''
    returnType: LWMPOLY
    signature: 'LWMPOLY *

      lwmpoly_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/liblwgeom/lwmpoly.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mobj
    - obj
    argTypes:
    - LWMPOLY*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: lwmpoly_add_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwmpoly.c
    functionUses: 1
    functionsReached:
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWMPOLY
    signature: LWMPOLY * lwmpoly_add_lwpoly(LWMPOLY *mobj, const LWPOLY *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoly.c:58,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwmpoly.c:62,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoly.c:65,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwmpoly.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - mpoly
    argTypes:
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: lwmpoly_free
    functionSourceFile: /src/postgis/liblwgeom/lwmpoly.c
    functionUses: 1
    functionsReached:
    - lwfree
    - lwpoly_free
    linkageType: ''
    returnType: void
    signature: void lwmpoly_free(LWMPOLY *mpoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: supporting_points_create
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: SUPPORTING_POINTS
    signature: 'SUPPORTING_POINTS *

      supporting_points_create()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SUPPORTING_POINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: supporting_points_destroy
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void supporting_points_destroy(SUPPORTING_POINTS* s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - support
    argTypes:
    - SUPPORTING_POINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: num_supporting_points
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t num_supporting_points(SUPPORTING_POINTS* support)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: num_supporting_points
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - support
    - p
    argTypes:
    - SUPPORTING_POINTS*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: add_supporting_point
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - num_supporting_points
    linkageType: ''
    returnType: int
    signature: int add_supporting_point(SUPPORTING_POINTS* support, const POINT2D*
      p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - c
    argTypes:
    - POINT2D*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: point_inside_circle
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - distance2d_pt_pt
    linkageType: ''
    returnType: int
    signature: int point_inside_circle(const POINT2D* p, const LWBOUNDINGCIRCLE* c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - m00
    - m01
    - m10
    - m11
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: det
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double det(double m00, double m01, double m10, double m11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: det
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:112,1
    - Dst: det
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:113,1
    - Dst: det
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - a
    - b
    - c
    - result
    argTypes:
    - POINT2D*
    - POINT2D*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: circumcenter
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - det
    linkageType: ''
    returnType: void
    signature: void circumcenter(const POINT2D* a, const POINT2D* b, const POINT2D*
      c, POINT2D* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - support
    - mbc
    argTypes:
    - SUPPORTING_POINTS*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: calculate_mbc_1
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void calculate_mbc_1(const SUPPORTING_POINTS* support, LWBOUNDINGCIRCLE*
      mbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:136,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:137,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - support
    - mbc
    argTypes:
    - SUPPORTING_POINTS*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: calculate_mbc_2
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - distance2d_pt_pt
    - FP_MAX
    linkageType: ''
    returnType: void
    signature: void calculate_mbc_2(const SUPPORTING_POINTS* support, LWBOUNDINGCIRCLE*
      mbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circumcenter
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:146,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:148,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:149,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:150,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:152,1
    - Dst: FP_MAX
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - support
    - mbc
    argTypes:
    - SUPPORTING_POINTS*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: calculate_mbc_3
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - distance2d_pt_pt
    - circumcenter
    - FP_MAX
    linkageType: ''
    returnType: void
    signature: void calculate_mbc_3(const SUPPORTING_POINTS* support, LWBOUNDINGCIRCLE*
      mbc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: num_supporting_points
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:158,1
    - Dst: calculate_mbc_1
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:161,1
    - Dst: calculate_mbc_2
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:163,1
    - Dst: calculate_mbc_3
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - support
    - mbc
    argTypes:
    - SUPPORTING_POINTS*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: calculate_mbc_from_support
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - calculate_mbc_1
    - num_supporting_points
    - calculate_mbc_2
    - calculate_mbc_3
    linkageType: ''
    returnType: int
    signature: int calculate_mbc_from_support(SUPPORTING_POINTS* support, LWBOUNDINGCIRCLE*
      mbc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calculate_mbc_from_support
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:178,1
    - Dst: num_supporting_points
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:183,1
    - Dst: point_inside_circle
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:195,1
    - Dst: memcpy
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:203,1
    - Dst: add_supporting_point
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:205,1
    - Dst: calculate_mbc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - points
    - max_n
    - support
    - mbc
    argTypes:
    - POINT2D**
    - uint32_t
    - SUPPORTING_POINTS*
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: calculate_mbc
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 1
    functionsReached:
    - num_supporting_points
    - add_supporting_point
    - calculate_mbc_from_support
    - calculate_mbc
    - memcpy
    - point_inside_circle
    linkageType: ''
    returnType: int
    signature: int calculate_mbc(const POINT2D** points, uint32_t max_n, SUPPORTING_POINTS*
      support, LWBOUNDINGCIRCLE* mbc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:219,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: lwboundingcircle_create
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: LWBOUNDINGCIRCLE
    signature: 'LWBOUNDINGCIRCLE *

      lwboundingcircle_create()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:232,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - LWBOUNDINGCIRCLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: lwboundingcircle_destroy
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwboundingcircle_destroy(LWBOUNDINGCIRCLE* c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:248,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:251,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:252,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:253,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:256,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:261,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:263,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:264,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:268,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:272,1
    - Dst: supporting_points_create
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:274,1
    - Dst: lwboundingcircle_create
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:275,1
    - Dst: calculate_mbc
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:280,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:284,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:286,1
    - Dst: supporting_points_destroy
      Src: /src/postgis/liblwgeom/lwboundingcircle.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 236
    functionDepth: 7
    functionLinenumber: 236
    functionLinenumberEnd: 293
    functionName: lwgeom_calculate_mbc
    functionSourceFile: /src/postgis/liblwgeom/lwboundingcircle.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_next
    - lwpointiterator_destroy
    - lwgeom_count_vertices
    - lwgeom_is_empty
    - supporting_points_create
    - lwboundingcircle_create
    - supporting_points_destroy
    - lwalloc
    - lwfree
    - calculate_mbc
    - lwpointiterator_create
    linkageType: ''
    returnType: LWBOUNDINGCIRCLE
    signature: 'LWBOUNDINGCIRCLE *

      lwgeom_calculate_mbc(const LWGEOM* g)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtriangle.c:44,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/lwtriangle.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - srid
    - bbox
    - points
    argTypes:
    - int32_t
    - GBOX*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: lwtriangle_construct
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 5
    functionsReached:
    - FLAGS_SET_BBOX
    - lwalloc
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwtriangle_construct(int32_t srid, GBOX *bbox, POINTARRAY *points)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwtriangle.c:60,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwtriangle.c:62,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/lwtriangle.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: lwtriangle_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 4
    functionsReached:
    - ptarray_construct_empty
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwtriangle_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtriangle.c:74,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwtriangle.c:77,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwtriangle.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: lwtriangle_free
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 2
    functionsReached:
    - lwfree
    - ptarray_free
    linkageType: ''
    returnType: void
    signature: void lwtriangle_free(LWTRIANGLE  *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtriangle.c:85,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtriangle.c:87,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtriangle.c:88,1
    - Dst: FLAGS_NDIMS
      Src: /src/postgis/liblwgeom/lwtriangle.c:88,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtriangle.c:89,1
    - Dst: printPA
      Src: /src/postgis/liblwgeom/lwtriangle.c:90,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwtriangle.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: printLWTRIANGLE
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwnotice
    - FLAGS_NDIMS
    - printPA
    linkageType: ''
    returnType: void
    signature: void printLWTRIANGLE(LWTRIANGLE *triangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwtriangle.c:101,1
    - Dst: lwline_clone
      Src: /src/postgis/liblwgeom/lwtriangle.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: lwtriangle_clone
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - lwline_clone
    - LWDEBUGF
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwtriangle_clone(const LWTRIANGLE *g)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwtriangle.c:108,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/lwtriangle.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: lwtriangle_force_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - ptarray_isccw
    - ptarray_reverse_in_place
    linkageType: ''
    returnType: void
    signature: void lwtriangle_force_clockwise(LWTRIANGLE *triangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/lwtriangle.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: lwtriangle_is_clockwise
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - ptarray_isccw
    linkageType: ''
    returnType: int
    signature: int lwtriangle_is_clockwise(LWTRIANGLE *triangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_release
      Src: /src/postgis/liblwgeom/lwtriangle.c:121,1
    - Dst: lwtriangle_as_lwgeom
      Src: /src/postgis/liblwgeom/lwtriangle.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwtriangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: lwtriangle_release
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 0
    functionsReached:
    - lwgeom_release
    - lwtriangle_as_lwgeom
    linkageType: ''
    returnType: void
    signature: void lwtriangle_release(LWTRIANGLE *lwtriangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwtriangle.c:128,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwtriangle.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - LWTRIANGLE*
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: lwtriangle_same
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - ptarray_same
    - LWDEBUGF
    linkageType: ''
    returnType: char
    signature: char lwtriangle_same(const LWTRIANGLE *t1, const LWTRIANGLE *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_remove_repeated_points
      Src: /src/postgis/liblwgeom/lwtriangle.c:139,1
    - Dst: ptarray_same
      Src: /src/postgis/liblwgeom/lwtriangle.c:140,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/lwtriangle.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: lwtriangle_is_repeated_points
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 0
    functionsReached:
    - ptarray_remove_repeated_points
    - ptarray_same
    - ptarray_free
    linkageType: ''
    returnType: char
    signature: char lwtriangle_is_repeated_points(LWTRIANGLE *triangle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtriangle.c:159,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwtriangle.c:161,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/lwtriangle.c:161,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/lwtriangle.c:162,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/liblwgeom/lwtriangle.c:162,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtriangle.c:163,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwtriangle.c:165,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/liblwgeom/lwtriangle.c:166,1
    - Dst: lwtriangle_is_repeated_points
      Src: /src/postgis/liblwgeom/lwtriangle.c:168,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwtriangle.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - shell
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: lwtriangle_from_lwline
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 0
    functionsReached:
    - ptarray_is_closed_2d
    - lwerror
    - lwtriangle_construct
    - ptarray_clone_deep
    - lwtriangle_is_repeated_points
    - ptarray_is_closed_3d
    - FLAGS_GET_Z
    linkageType: ''
    returnType: LWTRIANGLE
    signature: 'LWTRIANGLE *

      lwtriangle_from_lwline(const LWLINE *shell)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwtriangle.c:189,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/lwtriangle.c:190,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/lwtriangle.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: lwtriangle_area
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - fabs
    - getPoint2d_p
    linkageType: ''
    returnType: double
    signature: double lwtriangle_area(const LWTRIANGLE *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_length
      Src: /src/postgis/liblwgeom/lwtriangle.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: lwtriangle_perimeter
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - ptarray_length
    linkageType: ''
    returnType: double
    signature: double lwtriangle_perimeter(const LWTRIANGLE *triangle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_length_2d
      Src: /src/postgis/liblwgeom/lwtriangle.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - triangle
    argTypes:
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: lwtriangle_perimeter_2d
    functionSourceFile: /src/postgis/liblwgeom/lwtriangle.c
    functionUses: 1
    functionsReached:
    - ptarray_length_2d
    linkageType: ''
    returnType: double
    signature: double lwtriangle_perimeter_2d(const LWTRIANGLE *triangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:39,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:41,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - srid
    - hasz
    - hasm
    argTypes:
    - int32_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: lwcurvepoly_construct_empty
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 4
    functionsReached:
    - lwflags
    - lwalloc
    linkageType: ''
    returnType: LWCURVEPOLY
    signature: 'LWCURVEPOLY *

      lwcurvepoly_construct_empty(int32_t srid, char hasz, char hasm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:56,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:62,1
    - Dst: gbox_clone
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:63,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:66,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:66,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - lwpoly
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: lwcurvepoly_construct_from_lwpoly
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 3
    functionsReached:
    - gbox_clone
    - lwline_as_lwgeom
    - ptarray_clone_deep
    - lwalloc
    - lwline_construct
    linkageType: ''
    returnType: LWCURVEPOLY
    signature: 'LWCURVEPOLY *

      lwcurvepoly_construct_from_lwpoly(LWPOLY *lwpoly)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:78,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:85,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:86,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:93,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:93,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:103,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:110,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:118,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - poly
    - ring
    argTypes:
    - LWCURVEPOLY*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 127
    functionName: lwcurvepoly_add_ring
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 2
    functionsReached:
    - LWDEBUG
    - lwerror
    - lwrealloc
    - lwalloc
    - lwtype_name
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwcurvepoly_add_ring(LWCURVEPOLY *poly, LWGEOM *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:137,1
    - Dst: lwcurvepoly_stroke
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:139,1
    - Dst: lwpoly_area
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:140,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - curvepoly
    argTypes:
    - LWCURVEPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: lwcurvepoly_area
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_empty
    - lwpoly_free
    - lwpoly_area
    - lwcurvepoly_stroke
    linkageType: ''
    returnType: double
    signature: double lwcurvepoly_area(const LWCURVEPOLY *curvepoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWCURVEPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: lwcurvepoly_perimeter
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 1
    functionsReached:
    - lwgeom_length
    linkageType: ''
    returnType: double
    signature: double lwcurvepoly_perimeter(const LWCURVEPOLY *poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_length_2d
      Src: /src/postgis/liblwgeom/lwcurvepoly.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - poly
    argTypes:
    - LWCURVEPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: lwcurvepoly_perimeter_2d
    functionSourceFile: /src/postgis/liblwgeom/lwcurvepoly.c
    functionUses: 1
    functionsReached:
    - lwgeom_length_2d
    linkageType: ''
    returnType: double
    signature: double lwcurvepoly_perimeter_2d(const LWCURVEPOLY *poly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/varint.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - uint64_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: _varint_u64_encode_buf
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 0
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: size_t
    signature: size_t _varint_u64_encode_buf(uint64_t val, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/varint.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - uint64_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: varint_u64_encode_buf
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 3
    functionsReached:
    - _varint_u64_encode_buf
    linkageType: ''
    returnType: size_t
    signature: size_t varint_u64_encode_buf(uint64_t val, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/varint.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: varint_u32_encode_buf
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 0
    functionsReached:
    - _varint_u64_encode_buf
    linkageType: ''
    returnType: size_t
    signature: size_t varint_u32_encode_buf(uint32_t val, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/varint.c:91,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/varint.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - int64_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: varint_s64_encode_buf
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 2
    functionsReached:
    - zigzag64
    - _varint_u64_encode_buf
    linkageType: ''
    returnType: size_t
    signature: size_t varint_s64_encode_buf(int64_t val, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/varint.c:97,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/varint.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - int32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: varint_s32_encode_buf
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 0
    functionsReached:
    - zigzag32
    - _varint_u64_encode_buf
    linkageType: ''
    returnType: size_t
    signature: size_t varint_s32_encode_buf(int32_t val, uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/varint.c:104,1
    - Dst: varint_u64_decode
      Src: /src/postgis/liblwgeom/varint.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - the_start
    - the_end
    - size
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: varint_s64_decode
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 3
    functionsReached:
    - varint_u64_decode
    - unzigzag64
    linkageType: ''
    returnType: int64_t
    signature: int64_t varint_s64_decode(const uint8_t *the_start, const uint8_t *the_end,
      size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/varint.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - the_start
    - the_end
    - size
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: varint_u64_decode
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 3
    functionsReached:
    - lwerror
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t varint_u64_decode(const uint8_t *the_start, const uint8_t
      *the_end, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - the_start
    - the_end
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: varint_size
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t varint_size(const uint8_t *the_start, const uint8_t *the_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: zigzag64
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t zigzag64(int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: zigzag32
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t zigzag32(int32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: zigzag8
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t zigzag8(int8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: unzigzag64
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t unzigzag64(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: unzigzag32
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t unzigzag32(uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: unzigzag8
    functionSourceFile: /src/postgis/liblwgeom/varint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t unzigzag8(uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DOT
    functionSourceFile: /src/postgis/liblwgeom/measures3d.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOT(u, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: VECTORLENGTH
    functionSourceFile: /src/postgis/liblwgeom/measures3d.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VECTORLENGTH(v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:52,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:55,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:58,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:63,1
    - Dst: lwgeom_affine
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:64,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:65,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:72,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:73,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:80,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:83,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:85,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:86,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:86,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:88,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:92,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:94,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:97,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:101,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:104,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:105,1
    - Dst: lwcollection_wrapx
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:107,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:108,1
    - Dst: lwgeom_unaryunion
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:111,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:111,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:112,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:113,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - geom_in
    - cutx
    - amount
    argTypes:
    - LWGEOM*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 36
    functionDepth: 13
    functionLinenumber: 36
    functionLinenumberEnd: 118
    functionName: lwgeom_split_wrapx
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_wrapx.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - lwline_as_lwgeom
    - lwgeom_unaryunion
    - lwline_construct
    - lwgeom_split
    - LWDEBUGG
    - lwcollection_free
    - ptarray_set_point4d
    - lwerror
    - ptarray_construct
    - lwgeom_affine
    - LWDEBUGF
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lwcollection_as_lwgeom
    - lwcollection_wrapx
    - lwgeom_clone_deep
    - lwnotice
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_split_wrapx(const LWGEOM* geom_in, double cutx, double amount)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:128,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:131,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:137,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:138,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:142,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:145,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:146,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:148,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:149,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - lwcoll_in
    - cutx
    - amount
    argTypes:
    - LWCOLLECTION*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: lwcollection_wrapx
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_wrapx.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - lwerror
    - lwgeom_wrapx
    - lwcollection_construct
    - lwalloc
    - lwfree
    - lwnotice
    - LWDEBUGF
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      lwcollection_wrapx(const LWCOLLECTION* lwcoll_in, double cutx, double amount)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:172,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:174,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:175,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:181,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:182,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:189,1
    - Dst: lwgeom_split_wrapx
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:190,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:194,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:194,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:196,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:198,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:203,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:205,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:212,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:213,1
    - Dst: lwcollection_wrapx
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:214,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:218,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/lwgeom_wrapx.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - lwgeom_in
    - cutx
    - amount
    argTypes:
    - LWGEOM*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 168
    functionDepth: 14
    functionLinenumber: 168
    functionLinenumberEnd: 223
    functionName: lwgeom_wrapx
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_wrapx.c
    functionUses: 1
    functionsReached:
    - LWDEBUG
    - lwgeom_as_lwpoint
    - lwcollection_as_lwgeom
    - lwerror
    - lwgeom_is_empty
    - lwcollection_wrapx
    - lwgeom_split_wrapx
    - lwgeom_clone_deep
    - ptarray_set_point4d
    - lwpoint_as_lwgeom
    - lwtype_name
    - LWDEBUGF
    - getPoint4d_p
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_wrapx(const LWGEOM* lwgeom_in, double cutx, double amount)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: LWDEBUGGEOS
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGGEOS(level, geom, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - geom
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: LWDEBUGGEOS
    functionSourceFile: /src/postgis/liblwgeom/lwgeom_geos.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWDEBUGGEOS(level, geom, msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_geojson
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:28,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:31,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:32,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:36,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:38,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:40,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:41,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:45,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:52,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:53,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:55,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:57,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:58,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:63,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:64,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:67,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:68,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - exp
    - in
    - exp_srs
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 70
    functionName: do_geojson_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_geojson
    - strcmp
    - lwgeom_to_wkt
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - fprintf
    - lwfree
    linkageType: ''
    returnType: void
    signature: void do_geojson_test(const char * exp, char * in, char * exp_srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:75,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:81,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:87,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:93,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:99,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 109
    functionName: in_geojson_test_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void in_geojson_test_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:114,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:120,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:126,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:132,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:138,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:144,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: in_geojson_test_bbox
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void in_geojson_test_bbox(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:159,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:165,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:171,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:177,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:183,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:190,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:196,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:202,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:208,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:214,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:220,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:226,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 236
    functionName: in_geojson_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void in_geojson_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:244,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:245,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:246,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_geojson.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: in_geojson_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void in_geojson_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initiate_effectivearea
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:29,1
    - Dst: ptarray_calc_areas
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:34,1
    - Dst: destroy_effectivearea
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pa
    - the_areas
    - avoid_collaps
    argTypes:
    - POINTARRAY*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: do_test_lwgeom_effectivearea
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_effectivearea.c
    functionUses: 0
    functionsReached:
    - initiate_effectivearea
    - CU_ASSERT_EQUAL
    - destroy_effectivearea
    - ptarray_calc_areas
    linkageType: ''
    returnType: void
    signature: void do_test_lwgeom_effectivearea(POINTARRAY *pa,double *the_areas,int
      avoid_collaps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:47,1
    - Dst: do_test_lwgeom_effectivearea
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:49,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:50,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:52,1
    - Dst: do_test_lwgeom_effectivearea
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:54,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: do_test_lwgeom_effectivearea_lines
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_effectivearea.c
    functionUses: 0
    functionsReached:
    - lwline_free
    - lwgeom_from_wkt
    - do_test_lwgeom_effectivearea
    linkageType: ''
    returnType: void
    signature: void do_test_lwgeom_effectivearea_lines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:66,1
    - Dst: do_test_lwgeom_effectivearea
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:68,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: do_test_lwgeom_effectivearea_polys
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_effectivearea.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_wkt
    - do_test_lwgeom_effectivearea
    - lwpoly_free
    linkageType: ''
    returnType: void
    signature: void do_test_lwgeom_effectivearea_polys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:76,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:77,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_effectivearea.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: effectivearea_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_effectivearea.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void effectivearea_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:20,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:23,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:24,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:24,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:25,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:26,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:27,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:28,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:29,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:31,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:32,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:32,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:33,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:34,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:35,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:36,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:37,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:40,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:41,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:42,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:43,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:46,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:47,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:48,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:49,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:52,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:53,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:54,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:55,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:58,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:59,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:60,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:61,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:64,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:65,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:66,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:67,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:70,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:71,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:72,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:73,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:76,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:77,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:78,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:79,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:82,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:83,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:83,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:84,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:85,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:86,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:87,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:88,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:92,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:92,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:94,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:95,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:96,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:97,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:98,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:101,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:103,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:103,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:104,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 14
    functionDepth: 11
    functionLinenumber: 14
    functionLinenumberEnd: 106
    functionName: triangle_parse
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - gserialized_from_lwgeom
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - strlen
    - lwfree
    - lwgeom_to_ewkt
    - gserialized_get_type
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void triangle_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:115,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:118,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:119,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:119,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:120,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:121,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:122,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:123,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:124,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:128,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:129,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:130,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:131,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:132,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:133,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:137,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:137,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:138,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:139,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:140,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:141,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:142,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:145,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:146,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:147,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:148,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:151,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:152,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:153,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:154,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:157,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:158,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:159,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:160,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:163,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:164,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:165,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:166,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:169,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:170,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:171,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:172,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:175,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:176,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:177,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:178,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:181,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:182,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:183,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:184,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:188,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:188,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:189,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:190,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:191,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:192,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:193,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:196,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:197,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:198,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:199,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:200,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:201,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:202,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:203,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:206,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:207,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:209,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:209,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:210,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:211,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:212,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:213,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:214,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:217,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:218,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:218,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:219,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:220,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:221,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:222,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:223,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:224,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:227,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:228,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:229,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:229,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:230,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 109
    functionDepth: 11
    functionLinenumber: 109
    functionLinenumberEnd: 232
    functionName: tin_parse
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_from_lwgeom
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - FLAGS_GET_M
    - cu_error_msg_reset
    - strlen
    - lwfree
    - lwgeom_to_ewkt
    - gserialized_get_type
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void tin_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:241,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:244,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:245,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:245,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:246,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:247,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:248,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:249,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:250,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:251,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:252,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:253,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:256,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:257,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:258,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:259,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:260,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:261,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:262,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:263,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:264,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:265,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:268,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:269,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:270,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:271,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:274,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:275,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:275,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:276,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:277,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:278,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:279,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:280,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:281,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:282,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:283,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:286,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:287,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:288,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:289,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:292,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:293,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:294,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:295,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:298,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:299,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:300,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:301,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:304,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:305,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:306,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:307,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:310,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:311,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:311,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:312,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:313,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:314,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:315,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:316,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:317,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:318,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:319,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:322,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:323,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:323,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:324,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:325,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:326,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:327,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:328,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:329,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:330,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:331,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:332,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:335,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:336,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:336,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:337,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:338,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:338,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:339,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:340,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:341,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:342,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:343,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:344,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:345,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:346,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:350,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:351,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:351,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:352,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:353,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:354,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:355,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:356,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:357,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:358,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:359,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:360,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:364,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:365,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:366,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:366,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:367,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 235
    functionDepth: 12
    functionLinenumber: 235
    functionLinenumberEnd: 369
    functionName: polyhedralsurface_parse
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_from_lwgeom
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - FLAGS_GET_M
    - cu_error_msg_reset
    - strlen
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_to_hexwkb_buffer
    - gserialized_get_type
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void polyhedralsurface_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:377,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:378,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:378,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:379,1
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:379,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ewkt
    - dim
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: check_dimension
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - lwgeom_dimensionality
    - strlen
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void check_dimension(char *ewkt, int dim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:387,1
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:388,1
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:391,1
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:392,1
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:395,1
    - Dst: check_dimension
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: surface_dimension
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - check_dimension
    linkageType: ''
    returnType: void
    signature: void surface_dimension(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:406,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:407,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:408,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:409,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_surface.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: surface_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_surface.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void surface_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:30,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - results
    - num_outputs
    - expected
    - num_expected_outputs
    argTypes:
    - LWGEOM**
    - size_t
    - LWGEOM**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: assert_all_results_found
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_TRUE
    - lwgeom_same
    linkageType: ''
    returnType: void
    signature: void assert_all_results_found(LWGEOM** results, size_t num_outputs,
      LWGEOM** expected, size_t num_expected_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:44,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 10
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: LWGEOMARRAY2GEOS
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - LWGEOM2GEOS
    - lwalloc
    linkageType: ''
    returnType: GEOSGeometry
    signature: GEOSGeometry ** LWGEOMARRAY2GEOS(LWGEOM** lw_array, size_t num_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:57,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: GEOSARRAY2LWGEOM
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwalloc
    - GEOS2LWGEOM
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM ** GEOSARRAY2LWGEOM(GEOSGeometry** geos_array, size_t num_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:71,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: WKTARRAY2LWGEOM
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_wkt
    - lwalloc
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM ** WKTARRAY2LWGEOM(char** wkt_array, size_t num_geoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:87,1
    - Dst: WKTARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:88,1
    - Dst: LWGEOMARRAY2GEOS
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:89,1
    - Dst: cluster_intersecting
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:92,1
    - Dst: GEOSARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:94,1
    - Dst: assert_all_results_found
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:96,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:102,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:104,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:105,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:109,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:110,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:112,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:113,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:117,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - wkt_inputs
    - num_inputs
    - wkt_outputs
    - num_outputs
    argTypes:
    - char**
    - uint32_t
    - char**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 81
    functionDepth: 11
    functionLinenumber: 81
    functionLinenumberEnd: 120
    functionName: perform_cluster_intersecting_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - WKTARRAY2LWGEOM
    - CU_ASSERT_EQUAL
    - LWGEOMARRAY2GEOS
    - cluster_intersecting
    - GEOSARRAY2LWGEOM
    - GEOSGeom_destroy
    - lwfree
    - assert_all_results_found
    linkageType: ''
    returnType: void
    signature: void perform_cluster_intersecting_test(char** wkt_inputs, uint32_t
      num_inputs, char** wkt_outputs, uint32_t num_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WKTARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:127,1
    - Dst: WKTARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:128,1
    - Dst: cluster_within_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:130,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:132,1
    - Dst: assert_all_results_found
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:134,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:140,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:141,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:143,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:144,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - tolerance
    - wkt_inputs
    - num_inputs
    - wkt_outputs
    - num_outputs
    argTypes:
    - double
    - char**
    - uint32_t
    - char**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: perform_cluster_within_distance_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - WKTARRAY2LWGEOM
    - CU_ASSERT_EQUAL
    - cluster_within_distance
    - lwfree
    - assert_all_results_found
    linkageType: ''
    returnType: void
    signature: void perform_cluster_within_distance_test(double tolerance, char**
      wkt_inputs, uint32_t num_inputs, char** wkt_outputs, uint32_t num_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: init_geos_cluster_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - initGEOS
    linkageType: ''
    returnType: int
    signature: int init_geos_cluster_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: clean_geos_cluster_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - finishGEOS
    linkageType: ''
    returnType: int
    signature: int clean_geos_cluster_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:182,1
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:183,1
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:184,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:186,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:187,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 160
    functionDepth: 12
    functionLinenumber: 160
    functionLinenumberEnd: 189
    functionName: basic_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - perform_cluster_intersecting_test
    - perform_cluster_within_distance_test
    linkageType: ''
    returnType: void
    signature: void basic_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:204,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:205,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:205,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:206,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 7
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: basic_distance_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - sqrt
    - perform_cluster_within_distance_test
    linkageType: ''
    returnType: void
    signature: void basic_distance_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:221,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 12
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: nonsequential_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - perform_cluster_intersecting_test
    - perform_cluster_within_distance_test
    linkageType: ''
    returnType: void
    signature: void nonsequential_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:230,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 12
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: single_input_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - perform_cluster_intersecting_test
    - perform_cluster_within_distance_test
    linkageType: ''
    returnType: void
    signature: void single_input_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:239,1
    - Dst: perform_cluster_within_distance_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 12
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: empty_inputs_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - perform_cluster_intersecting_test
    - perform_cluster_within_distance_test
    linkageType: ''
    returnType: void
    signature: void empty_inputs_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:255,1
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:256,1
    - Dst: perform_cluster_intersecting_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 12
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: multipoint_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - perform_cluster_intersecting_test
    linkageType: ''
    returnType: void
    signature: void multipoint_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WKTARRAY2LWGEOM
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:271,1
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:272,1
    - Dst: union_dbscan
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:277,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:278,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:282,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:284,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:287,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:290,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:292,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:293,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct dbscan_test_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 295
    functionName: do_dbscan_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - UF_create
    - lwgeom_free
    - UF_get_collapsed_cluster_ids
    - WKTARRAY2LWGEOM
    - union_dbscan
    - UF_destroy
    - lwfree
    - ASSERT_INT_EQUAL
    linkageType: ''
    returnType: void
    signature: void do_dbscan_test(struct dbscan_test_info test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dbscan_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 317
    functionName: dbscan_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 1
    functionsReached:
    - do_dbscan_test
    linkageType: ''
    returnType: void
    signature: void dbscan_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:326,1
    - Dst: do_dbscan_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: dbscan_test_3612a
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - rand
    - do_dbscan_test
    linkageType: ''
    returnType: void
    signature: void dbscan_test_3612a(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dbscan_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 6
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: dbscan_test_3612b
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - do_dbscan_test
    linkageType: ''
    returnType: void
    signature: void dbscan_test_3612b(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:360,1
    - Dst: rand
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:360,1
    - Dst: do_dbscan_test
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 6
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: dbscan_test_3612c
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - rand
    - do_dbscan_test
    linkageType: ''
    returnType: void
    signature: void dbscan_test_3612c(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:373,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:374,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:375,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:376,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:377,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:378,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:379,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:380,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:381,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:382,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: geos_cluster_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void geos_cluster_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:40,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:41,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:42,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: init_cg_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - ptarray_construct
    - lwline_construct
    linkageType: ''
    returnType: int
    signature: int init_cg_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:54,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: clean_cg_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwline_free
    linkageType: ''
    returnType: int
    signature: int clean_cg_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:76,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:78,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:82,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:84,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: test_lw_segment_side
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lw_segment_side
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lw_segment_side(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_arc_center
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:108,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:110,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:111,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: test_lw_arc_center
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - lw_arc_center
    linkageType: ''
    returnType: void
    signature: void test_lw_arc_center(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setpoint
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:128,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:139,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:139,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:146,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:153,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:153,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:160,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:160,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:167,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:167,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:174,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:174,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:181,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:181,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:188,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:188,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:195,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:195,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:202,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:202,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:209,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:209,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:216,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:216,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:223,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:223,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:230,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:230,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:237,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:237,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:244,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:244,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:251,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:251,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:258,1
    - Dst: lw_segment_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 260
    functionName: test_lw_segment_intersects
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - setpoint
    - lw_segment_intersects
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lw_segment_intersects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - x1
    - ','
    - y1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: setpoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setpoint(p, x1, y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:274,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:276,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:281,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:283,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:285,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:285,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:290,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:292,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:294,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:294,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:299,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:301,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:303,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:303,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:308,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:310,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:312,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:312,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:317,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:319,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:321,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 323
    functionName: test_lwline_crossing_short_lines
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwline_crossing_direction
    - ptarray_set_point4d
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lwline_crossing_short_lines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:333,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:336,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:337,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:337,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:338,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:341,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:342,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:342,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:343,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:346,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:347,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:347,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:348,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:351,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:352,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:352,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:353,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:356,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:357,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:357,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:358,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:361,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:362,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:362,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:363,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:366,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:367,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:367,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:368,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:371,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:372,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:372,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:373,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:376,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:377,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:377,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:378,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 382
    functionName: test_lwline_crossing_long_lines
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwline_crossing_direction
    - lwline_free
    - lwgeom_from_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lwline_crossing_long_lines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:390,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:391,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:393,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:393,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:394,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: test_lwline_crossing_bugs
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwline_crossing_direction
    - lwline_free
    - lwgeom_from_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lwline_crossing_bugs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_set_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:408,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:409,1
    - Dst: lwpoint_set_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:411,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:412,1
    - Dst: lwpoint_set_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:414,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: test_lwpoint_set_ordinate
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - lwpoint_set_ordinate
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_set_ordinate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:428,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:428,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:429,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:429,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:430,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:430,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:431,1
    - Dst: lwpoint_get_ordinate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: test_lwpoint_get_ordinate
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwpoint_get_ordinate
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_get_ordinate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:451,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:452,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:453,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:456,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:457,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:459,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:460,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:461,1
    - Dst: point_interpolate
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:463,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:464,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 466
    functionName: test_point_interpolate
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - point_interpolate
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_point_interpolate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:470,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:470,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:471,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:471,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:472,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:472,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:480,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:481,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:482,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:485,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:486,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:487,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:488,1
    - Dst: ASSERT_POINT4D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:489,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:490,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:493,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:494,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:495,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:496,1
    - Dst: ASSERT_POINT4D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:497,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:498,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:502,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:503,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:504,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:505,1
    - Dst: ASSERT_POINT4D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:506,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:507,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:510,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:511,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:516,1
    - Dst: ASSERT_POINT4D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:517,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:518,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:521,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:522,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:525,1
    - Dst: ASSERT_POINT2D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:526,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:530,1
    - Dst: ASSERT_POINT2D_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:531,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:532,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:535,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:536,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:537,1
    - Dst: ptarray_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:537,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:538,1
    - Dst: ptarray_has_m
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:538,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:539,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:541,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:541,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:542,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:542,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:543,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 544
    functionName: test_lwline_interpolate_points
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_POINT4D_EQUAL
    - ptarray_free
    - ptarray_has_z
    - lwline_as_lwgeom
    - CU_ASSERT_FALSE
    - ASSERT_POINT2D_EQUAL
    - getPoint4d
    - ptarray_has_m
    - ASSERT_INT_EQUAL
    - lwgeom_from_wkt
    - lwline_interpolate_points
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void test_lwline_interpolate_points(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwline_construct_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:554,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:555,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:556,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:556,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:557,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:557,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:557,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:558,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:558,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:558,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:559,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:560,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:562,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:562,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:565,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:566,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:567,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:568,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:569,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:570,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:573,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:574,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:575,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:576,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:577,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:578,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:581,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:582,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:583,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:584,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:585,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:586,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:589,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:590,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:591,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:592,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:593,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:594,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test_lwline_interpolate_point_3d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - lwline_construct_empty
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_FALSE
    - CU_ASSERT
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - lwgeom_as_lwline
    - lwpoint_is_empty
    - lwline_free
    - lwpoint_free
    - lwgeom_from_wkt
    - lwline_interpolate_point_3d
    - lwgeom_has_m
    linkageType: ''
    returnType: void
    signature: void test_lwline_interpolate_point_3d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:607,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:610,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:611,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:613,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:614,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:615,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:618,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:619,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:621,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:622,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:623,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:626,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:627,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:629,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:630,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:631,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:634,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:635,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:637,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:638,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:639,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:642,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:643,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:645,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:646,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:647,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:650,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:651,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:653,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:654,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:655,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:658,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:659,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:661,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:662,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:663,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:666,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:667,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:668,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:669,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:670,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:671,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:672,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:675,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:676,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:677,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:679,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:680,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:681,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:682,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:685,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:686,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:687,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:689,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:690,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:691,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:692,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:695,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:696,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:697,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:699,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:700,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:701,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:702,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 599
    functionDepth: 11
    functionLinenumber: 599
    functionLinenumberEnd: 705
    functionName: test_lwline_clip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwcollection_free
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: void
    signature: void test_lwline_clip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:714,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:717,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:719,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:721,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:724,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:725,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:726,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:728,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:731,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:733,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:735,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:738,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:739,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 707
    functionDepth: 11
    functionLinenumber: 707
    functionLinenumberEnd: 741
    functionName: test_lwpoly_clip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwcollection_free
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: void
    signature: void test_lwpoly_clip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:750,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:751,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:753,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:755,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:756,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:757,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:758,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:760,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:761,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:763,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:765,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:766,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:767,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:768,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:770,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:771,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:773,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:775,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:778,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:779,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:780,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:782,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:785,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:790,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:792,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:794,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:797,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:798,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 743
    functionDepth: 11
    functionLinenumber: 743
    functionLinenumberEnd: 800
    functionName: test_lwtriangle_clip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_grid_in_place
    - ASSERT_STRING_EQUAL
    - lwcollection_free
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: void
    signature: void test_lwtriangle_clip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:812,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:815,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:816,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:817,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:818,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:819,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:821,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:826,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:829,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:830,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:831,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:832,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:833,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:835,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:841,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:844,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:845,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:846,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:847,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:848,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:850,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:855,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:859,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:860,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:861,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:862,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:863,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:866,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:867,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:868,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:870,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:871,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:874,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:875,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:876,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:877,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:878,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:881,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:882,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:883,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:884,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:885,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 802
    functionDepth: 11
    functionLinenumber: 802
    functionLinenumberEnd: 888
    functionName: test_lwmline_clip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwcollection_free
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: void
    signature: void test_lwmline_clip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:892,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:893,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:901,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:906,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:911,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:913,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:914,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:916,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:918,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:919,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 890
    functionDepth: 11
    functionLinenumber: 890
    functionLinenumberEnd: 921
    functionName: test_lwline_clip_big
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ptarray_construct
    - ASSERT_STRING_EQUAL
    - lwcollection_free
    - ptarray_set_point4d
    - lwfree
    - lwline_construct
    - lwgeom_to_ewkt
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: void
    signature: void test_lwline_clip_big(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:928,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:929,1
    - Dst: lwgeom_geohash_precision
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:935,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:937,1
    - Dst: lwgeom_geohash_precision
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:943,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:945,1
    - Dst: lwgeom_geohash_precision
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:951,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 955
    functionName: test_geohash_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - gbox_init
    - lwgeom_geohash_precision
    linkageType: ''
    returnType: void
    signature: void test_geohash_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geohash_point
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:961,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:963,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:964,1
    - Dst: geohash_point
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:966,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:968,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:969,1
    - Dst: geohash_point
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:971,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:973,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 976
    functionName: test_geohash_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - ASSERT_VARLENA_EQUAL
    - geohash_point
    - lwfree
    linkageType: ''
    returnType: void
    signature: void test_geohash_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:985,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:986,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:988,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:989,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:990,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:992,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:993,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:995,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:996,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:997,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:999,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1000,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1002,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1003,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1004,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1006,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1007,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1009,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1010,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1011,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1013,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1014,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1016,1
    - Dst: lwmline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1017,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 1019
    functionName: test_geohash
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwmline_free
    - ASSERT_VARLENA_EQUAL
    - lwfree
    - lwgeom_geohash
    - lwline_free
    - lwpoint_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geohash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1028,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1029,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1029,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1030,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1033,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1034,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1034,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1035,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1038,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1039,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1039,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1040,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1043,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1044,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1044,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1045,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1048,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1049,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1049,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1050,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1055,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1056,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1056,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1057,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1060,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1061,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1061,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1062,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1065,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1066,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1066,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1067,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1070,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1071,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1071,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1072,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1075,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1076,1
    - Dst: lwcircstring_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1076,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1077,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1083,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1084,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1084,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1085,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1087,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1088,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1088,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1089,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1092,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1093,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1093,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1094,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1096,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1097,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1097,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1098,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1101,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1102,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1102,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1103,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1105,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1106,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1106,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1107,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1110,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1111,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1111,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1112,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1114,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1115,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1115,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1116,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1119,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1120,1
    - Dst: lwcompound_is_closed
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1120,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1021
    functionDepth: 4
    functionLinenumber: 1021
    functionLinenumberEnd: 1122
    functionName: test_isclosed
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwcircstring_is_closed
    - lwline_is_closed
    - CU_ASSERT
    - lwcompound_is_closed
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_isclosed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geohash_point_as_int
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1132,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1134,1
    - Dst: geohash_point_as_int
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1138,1
    - Dst: geohash_point_as_int
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1143
    functionName: test_geohash_point_as_int
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - geohash_point_as_int
    linkageType: ''
    returnType: void
    signature: void test_geohash_point_as_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_geohash_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1151,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1152,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1153,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1154,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1155,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1157,1
    - Dst: decode_geohash_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1158,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1160
    functionName: test_geohash_bbox
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - decode_geohash_bbox
    - cu_error_msg_reset
    - CU_ASSERT_DOUBLE_EQUAL
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_geohash_bbox(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1169,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1170,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1171,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1172,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1173,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1174,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1175,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1177,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1178,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1179,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1180,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1181,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1182,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1183,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1184,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1185,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1187,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1188,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1189,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1190,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1191,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1192,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1193,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1196,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1197,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1198,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1199,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1200,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1201,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1202,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1204,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1205,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1206,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1207,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1208,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1209,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1210,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1211,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1213,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1214,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1215,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1216,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1217,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1218,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1219,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1222,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1223,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1224,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1225,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1227,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1228,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1229,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1230,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1232,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1233,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1234,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1235,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1236,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1237,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1238,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1240,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1242,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1243,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1244,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1245,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1246,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1247,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1249,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1250,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1251,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1252,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1253,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1254,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1255,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1257,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1258,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1259,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1260,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1261,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1262,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1263,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1265,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1266,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1267,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1268,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1269,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1270,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1162
    functionDepth: 11
    functionLinenumber: 1162
    functionLinenumberEnd: 1272
    functionName: test_lwgeom_remove_repeated_points
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_remove_repeated_points_in_place
    - ASSERT_STRING_EQUAL
    - lwgeom_normalize
    - lwfree
    - lwgeom_to_ewkt
    - ASSERT_INT_EQUAL
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_remove_repeated_points(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1281,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1282,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1283,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1284,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1285,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1286,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1287,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1290,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1291,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1292,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1293,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1294,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1295,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1296,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1299,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1300,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1301,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1302,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1303,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1306,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1307,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1308,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1309,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1310,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1313,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1314,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1315,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1316,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1317,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1318,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1319,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1322,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1323,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1324,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1325,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1326,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1327,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1328,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1331,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1338,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1339,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1340,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1341,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1342,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1343,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1346,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1353,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1354,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1355,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1356,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1357,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1358,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1360,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1367,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1368,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1369,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1274
    functionDepth: 11
    functionLinenumber: 1274
    functionLinenumberEnd: 1371
    functionName: test_lwgeom_simplify
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_simplify
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_simplify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1376,1
    - Dst: lwgeom_median
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1377,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1379,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1379,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1381,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wkt
    - expected_dims
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1374
    functionDepth: 5
    functionLinenumber: 1374
    functionLinenumberEnd: 1383
    functionName: do_median_dims_check
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_median
    - CU_ASSERT_EQUAL
    - lwpoint_free
    - lwgeom_from_wkt
    - lwgeom_ndims
    linkageType: ''
    returnType: void
    signature: void do_median_dims_check(char* wkt, int expected_dims)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_median_dims_check
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1387,1
    - Dst: do_median_dims_check
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1388,1
    - Dst: do_median_dims_check
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1389,1
    - Dst: do_median_dims_check
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1385
    functionDepth: 6
    functionLinenumber: 1385
    functionLinenumberEnd: 1391
    functionName: test_median_handles_3d_correctly
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - do_median_dims_check
    linkageType: ''
    returnType: void
    signature: void test_median_handles_3d_correctly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance3d_pt_pt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - curr
    - points
    - npoints
    argTypes:
    - POINT4D*
    - POINT4D*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1404
    functionName: test_weighted_distance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - distance3d_pt_pt
    linkageType: ''
    returnType: double
    signature: double test_weighted_distance(const POINT4D* curr, const POINT4D* points,
      uint32_t npoints)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1408,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1409,1
    - Dst: lwgeom_median
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1415,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1420,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1420,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1421,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1425,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1431,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1431,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1432,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1432,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1434,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1438,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1439,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1440,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1440,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1441,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1441,1
    - Dst: lwmpoint_extract_points_4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1449,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1449,1
    - Dst: test_weighted_distance
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1450,1
    - Dst: test_weighted_distance
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1451,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1456,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1458,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1464,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1465,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1466,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1467,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1478,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1478,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1478,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1483,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1484,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1484,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1484,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1487,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1489,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1490,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1491,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - input
    - expected
    - fail_if_not_converged
    - iter_count
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1406
    functionDepth: 11
    functionLinenumber: 1406
    functionLinenumberEnd: 1492
    functionName: do_median_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_TRUE
    - lwpoint_getPoint4d_p
    - lwgeom_free
    - lwgeom_median
    - lwgeom_as_lwpoint
    - fabs
    - lwgeom_is_empty
    - test_weighted_distance
    - printf
    - cu_error_msg_reset
    - lwgeom_has_z
    - lwfree
    - lwgeom_to_ewkt
    - lwmpoint_extract_points_4d
    - lwpoint_free
    - lwgeom_from_wkt
    - lwgeom_as_lwmpoint
    - lwgeom_has_m
    linkageType: ''
    returnType: void
    signature: void do_median_test(char* input, char* expected, int fail_if_not_converged,
      int iter_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1502,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1505,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1508,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1511,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1515,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1516,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1517,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1520,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1521,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1522,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1523,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1524,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1527,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1528,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1529,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1532,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1534,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1535,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1537,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1538,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1540,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1541,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1544,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1545,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1547,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1548,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1551,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1563,1
    - Dst: do_median_test
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1494
    functionDepth: 12
    functionLinenumber: 1494
    functionLinenumberEnd: 1590
    functionName: test_median_robustness
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - do_median_test
    linkageType: ''
    returnType: void
    signature: void test_median_robustness(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1603,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1604,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1605,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1608,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1614,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1614,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1614,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1614,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1617,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1618,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1619,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1624,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1627,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1633,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1633,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1633,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1633,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1636,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1637,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1642,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1648,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1648,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1648,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1648,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1651,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1652,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1663,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1663,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1664,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1664,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1665,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1668,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1669,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1670,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1672,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1675,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1677,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1678,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1679,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1681,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1682,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1683,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1592
    functionDepth: 13
    functionLinenumber: 1592
    functionLinenumberEnd: 1686
    functionName: test_point_density
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_points
    - lwmpoint_free
    - lwgeom_free
    - lwpoint_get_y
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lwgeom_from_wkt
    - lwpoint_get_x
    linkageType: ''
    returnType: void
    signature: void test_point_density(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_construct_circle
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1699,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1701,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1701,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1701,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1702,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1702,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1702,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1704,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1704,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1705,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1706,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1707,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1708,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1710,1
    - Dst: lwgeom_area
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1710,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1710,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1712,1
    - Dst: lwpoly_construct_circle
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1715,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1716,1
    - Dst: lwpoly_construct_circle
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1719,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1720,1
    - Dst: lwpoly_construct_circle
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1723,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1724,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1688
    functionDepth: 4
    functionLinenumber: 1688
    functionLinenumberEnd: 1726
    functionName: test_lwpoly_construct_circle
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwpoly_free
    - lwgeom_get_srid
    - lwgeom_count_vertices
    - CU_ASSERT_DOUBLE_EQUAL
    - lwpoly_as_lwgeom
    - lwpoly_construct_circle
    - CU_ASSERT_TRUE
    - lwgeom_area
    - ASSERT_INT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_lwpoly_construct_circle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1738,1
    - Dst: rand
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1743,1
    - Dst: rand
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1744,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1745,1
    - Dst: log2
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1745,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1745,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1746,1
    - Dst: log2
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1746,1
    - Dst: sin
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1746,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1748,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1749,1
    - Dst: lwgeom_cluster_kmeans
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1753,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1761,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1763,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1728
    functionDepth: 4
    functionLinenumber: 1728
    functionLinenumberEnd: 1767
    functionName: test_kmeans
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - sin
    - lwgeom_cluster_kmeans
    - rand
    - lwpoint_as_lwgeom
    - lwalloc
    - log2
    - lwfree
    - cos
    - lwpoint_make2d
    - sqrt
    linkageType: ''
    returnType: void
    signature: void test_kmeans(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1771,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1782,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1789,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1791,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1795,1
    - Dst: lwgeom_trim_bits_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1796,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1800,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1801,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1803,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1803,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1804,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1804,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1805,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1805,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1806,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1806,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1809,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1769
    functionDepth: 8
    functionLinenumber: 1769
    functionLinenumberEnd: 1813
    functionName: test_trim_bits
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwgeom_trim_bits_in_place
    - CU_ASSERT_DOUBLE_EQUAL
    - getPoint4d
    - lwgeom_clone_deep
    - pow
    - lwline_free
    - ptarray_insert_point
    - lwline_construct
    linkageType: ''
    returnType: void
    signature: void test_trim_bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1817,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1818,1
    - Dst: ptarray_simplify_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1822,1
    - Dst: ASSERT_LWGEOM_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1823,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1824,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1815
    functionDepth: 4
    functionLinenumber: 1815
    functionLinenumberEnd: 1826
    functionName: test_ptarray_simplify
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - ASSERT_LWGEOM_EQUAL
    - lwgeom_free
    - ptarray_simplify_in_place
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_ptarray_simplify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1835,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1836,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1837,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1838,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1839,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1840,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1841,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1842,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1843,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1844,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1845,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1846,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1847,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1848,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1849,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1850,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1851,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1852,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1853,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1854,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1855,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1856,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1857,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1858,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1859,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1860,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1861,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1862,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1863,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1864,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1865,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_algorithm.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1867
    functionName: algorithms_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_algorithm.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void algorithms_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:25,1
    - Dst: lwgeom_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:26,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:27,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:28,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:29,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:30,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:31,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - geom_txt
    - expected
    - n_iterations
    - preserve_end_points
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: do_test_chaikin
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_chaikin.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - strcmp
    - lwgeom_free
    - printf
    - ASSERT_STRING_EQUAL
    - lwgeom_chaikin
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_test_chaikin(char *geom_txt,char *expected, int n_iterations,
      int preserve_end_points)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:40,1
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:42,1
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 11
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: do_test_chaikin_lines
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_chaikin.c
    functionUses: 0
    functionsReached:
    - do_test_chaikin
    linkageType: ''
    returnType: void
    signature: void do_test_chaikin_lines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:51,1
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:53,1
    - Dst: do_test_chaikin
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 11
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: do_test_chaikin_polygons
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_chaikin.c
    functionUses: 0
    functionsReached:
    - do_test_chaikin
    linkageType: ''
    returnType: void
    signature: void do_test_chaikin_polygons(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:63,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:64,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_chaikin.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: chaikin_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_chaikin.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void chaikin_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:29,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:30,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:31,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:33,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:34,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:35,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:37,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:40,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:41,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:42,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:45,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:46,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: test_force_2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_dims.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_force_2d
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_force_2d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:57,1
    - Dst: lwgeom_force_3dm
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:58,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:59,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:60,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:61,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:62,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 11
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: test_force_3dm
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_dims.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_force_3dm
    - lwgeom_to_ewkt
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_force_3dm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:73,1
    - Dst: lwgeom_force_3dz
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:74,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:75,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:76,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:77,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:78,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:79,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:81,1
    - Dst: lwgeom_force_3dz
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:82,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:83,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:84,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:85,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:86,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 11
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: test_force_3dz
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_dims.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_force_3dz
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_force_3dz(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:97,1
    - Dst: lwgeom_force_4d
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:98,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:99,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:100,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:101,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:102,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 11
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: test_force_4d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_dims.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_force_4d
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_force_4d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:113,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:114,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:115,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:116,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_dims.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: force_dims_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_dims.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void force_dims_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: init_wkb_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_wkb_out_suite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: clean_wkb_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_wkb_out_suite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:51,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:52,1
    - Dst: lwgeom_to_wkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:53,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hexwkb
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 11
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: cu_wkb_from_hexwkb
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_buffer
    - free
    - lwgeom_from_hexwkb
    - lwgeom_free
    linkageType: ''
    returnType: void
    signature: void cu_wkb_from_hexwkb(char *hexwkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:62,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:63,1
    - Dst: lwgeom_to_wkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:64,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 11
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: cu_wkb
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkb_buffer
    - free
    - lwgeom_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void cu_wkb(char *wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:71,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:72,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:73,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:73,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:74,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: cu_wkb_empty_point_check
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_hexwkb
    - CU_ASSERT
    - lwgeom_is_empty
    linkageType: ''
    returnType: void
    signature: void cu_wkb_empty_point_check(char *hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:80,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:81,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:83,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:84,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:86,1
    - Dst: cu_wkb_empty_point_check
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:87,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:89,1
    - Dst: cu_wkb_empty_point_check
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:90,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:92,1
    - Dst: cu_wkb_empty_point_check
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:93,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:95,1
    - Dst: cu_wkb_empty_point_check
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:96,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:98,1
    - Dst: cu_wkb_empty_point_check
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 12
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: test_wkb_out_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    - cu_wkb_empty_point_check
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:104,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:105,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:107,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:108,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:110,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 12
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: test_wkb_out_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:116,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:117,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:119,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:120,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:122,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:123,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:125,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:126,1
    - Dst: cu_wkb_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:132,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 12
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: test_wkb_out_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    - cu_wkb_from_hexwkb
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:138,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:139,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:141,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:142,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:144,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 12
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: test_wkb_out_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: test_wkb_out_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:152,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:153,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:155,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 12
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: test_wkb_out_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:161,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:162,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:164,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:165,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:167,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:168,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:170,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 12
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: test_wkb_out_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:177,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:178,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:180,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:181,1
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:183,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 12
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: test_wkb_out_circularstring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_circularstring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:189,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 12
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: test_wkb_out_compoundcurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_compoundcurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:195,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 12
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: test_wkb_out_curvpolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_curvpolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: test_wkb_out_multicurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_multicurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: test_wkb_out_multisurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_multisurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: test_wkb_out_polyhedralsurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_out_polyhedralsurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:216,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:217,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:218,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:219,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:220,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:221,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:222,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:223,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:224,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:225,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:226,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:227,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:228,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkb.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: wkb_out_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void wkb_out_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:29,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:30,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:31,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:33,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:34,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:35,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:37,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:38,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:39,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:40,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:41,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:42,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:43,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:45,1
    - Dst: lwgeom_simplify
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:46,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:47,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:48,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:49,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:50,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 23
    functionDepth: 11
    functionLinenumber: 23
    functionLinenumberEnd: 52
    functionName: test_misc_simplify
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_simplify
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_misc_simplify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:59,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:60,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:61,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:62,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:63,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:65,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:66,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:66,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:67,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:68,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:69,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:71,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:72,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:72,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:74,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:75,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:77,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:78,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:78,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:79,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:80,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: test_misc_startpoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - lwgeom_from_wkt
    - lwgeom_startpoint
    linkageType: ''
    returnType: void
    signature: void test_misc_startpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:89,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:90,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:92,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:94,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:95,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:96,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:97,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:99,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:100,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:101,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:102,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:105,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:106,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:107,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:108,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:110,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:112,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 114
    functionName: test_misc_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_count_vertices
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_misc_count_vertices(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:121,1
    - Dst: lwgeom_area
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:122,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:123,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: test_misc_area
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - lwgeom_free
    - lwgeom_area
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_misc_area(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:130,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:131,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:132,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:133,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 10
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: test_misc_wkb
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_from_hexwkb
    - lwfree
    linkageType: ''
    returnType: void
    signature: void test_misc_wkb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:143,1
    - Dst: lwgeom_grid
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:150,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:151,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:152,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:153,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:154,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 11
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: test_grid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_grid
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_grid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:162,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:163,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:164,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:165,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:167,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:168,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:170,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:171,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:172,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:173,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - wkt_in
    - wkt_out
    - size
    argTypes:
    - char*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 11
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: do_grid_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - memset
    - lwgeom_free
    - lwgeom_grid_in_place
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_grid_test(const char *wkt_in, const char *wkt_out, double size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:179,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:184,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:189,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:194,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:199,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:204,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:210,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:215,1
    - Dst: do_grid_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 177
    functionDepth: 12
    functionLinenumber: 177
    functionLinenumberEnd: 225
    functionName: test_grid_in_place
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - do_grid_test
    linkageType: ''
    returnType: void
    signature: void test_grid_in_place(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:230,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:234,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:235,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:236,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:239,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:240,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:241,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 243
    functionName: test_clone
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - lwgeom_clone
    - lwgeom_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_clone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:250,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:251,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:252,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:253,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:254,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:255,1
    - Dst: do_fn_test
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: test_lwmpoint_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - do_fn_test
    linkageType: ''
    returnType: void
    signature: void test_lwmpoint_from_lwgeom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:261,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:262,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:262,1
    - Dst: FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:263,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:264,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:264,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:265,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:266,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:266,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:267,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:268,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:268,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:270,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: test_gbox_serialized_size
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - FLAGS_SET_GEODETIC
    - gbox_serialized_size
    - FLAGS_SET_BBOX
    - CU_ASSERT_EQUAL
    - lwflags
    - FLAGS_SET_M
    linkageType: ''
    returnType: void
    signature: void test_gbox_serialized_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:280,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:282,1
    - Dst: option_list_parse
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:283,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:285,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:287,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:288,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:289,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:290,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:291,1
    - Dst: option_list_length
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:293,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:294,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:296,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:297,1
    - Dst: option_list_parse
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:298,1
    - Dst: option_list_search
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:299,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:300,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:302,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:303,1
    - Dst: option_list_parse
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:304,1
    - Dst: option_list_length
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:305,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:306,1
    - Dst: strcpy
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:308,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:309,1
    - Dst: option_list_gdal_parse
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:310,1
    - Dst: option_list_length
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:311,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:312,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:313,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 315
    functionName: test_optionlist
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - strcpy
    - memset
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - option_list_search
    - option_list_parse
    - option_list_gdal_parse
    - option_list_length
    linkageType: ''
    returnType: void
    signature: void test_optionlist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_init
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:321,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:323,1
    - Dst: stringlist_length
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:323,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:324,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:325,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:326,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:327,1
    - Dst: stringlist_length
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:327,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:328,1
    - Dst: stringlist_get
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:328,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:329,1
    - Dst: stringlist_sort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:330,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:331,1
    - Dst: stringlist_get
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:331,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:332,1
    - Dst: stringlist_find
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:332,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:333,1
    - Dst: stringlist_find
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:333,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:334,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:335,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:336,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:337,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:338,1
    - Dst: stringlist_sort
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:339,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:340,1
    - Dst: stringlist_find
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:340,1
    - Dst: stringlist_release
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 318
    functionDepth: 5
    functionLinenumber: 318
    functionLinenumberEnd: 342
    functionName: test_stringlist
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - stringlist_sort
    - stringlist_get
    - CU_ASSERT_EQUAL
    - stringlist_length
    - ASSERT_STRING_EQUAL
    - stringlist_find
    - stringlist_init
    - stringlist_release
    - stringlist_add_string_nosort
    linkageType: ''
    returnType: void
    signature: void test_stringlist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:351,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:352,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:353,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:354,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:355,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:356,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:357,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:358,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:359,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:360,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:361,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:362,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_misc.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 364
    functionName: misc_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void misc_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: init_wkt_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_wkt_out_suite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: clean_wkt_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_wkt_out_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:48,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:49,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:52,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:53,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:55,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wkt
    - variant
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 10
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: cu_wkt
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - printf
    - free
    - exit
    - lwgeom_from_wkt
    linkageType: ''
    returnType: char
    signature: char * cu_wkt(char *wkt, uint8_t variant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:62,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:62,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:63,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:63,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:64,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:64,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:66,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:66,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:67,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:67,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:68,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:68,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:70,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:70,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:71,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:71,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:72,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:72,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:74,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:74,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:75,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:75,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:76,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:76,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:78,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:78,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:79,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:79,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:82,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:82,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:84,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 11
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: test_wkt_out_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:95,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:95,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:96,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:96,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:97,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 11
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: test_wkt_out_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:102,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:103,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:106,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: test_wkt_out_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:113,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:113,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:114,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:114,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:115,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 11
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: test_wkt_out_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:121,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:122,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:125,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:126,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:129,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 11
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: test_wkt_out_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:137,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:138,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:141,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 11
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: test_wkt_out_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:150,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:151,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:154,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:155,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:160,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 11
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: test_wkt_out_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:168,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:169,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:172,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 11
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: test_wkt_out_circularstring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_circularstring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:181,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 11
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: test_wkt_out_compoundcurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_compoundcurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:189,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 11
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: test_wkt_out_curvpolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_curvpolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:197,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:198,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:201,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 11
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: test_wkt_out_multicurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_multicurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:209,1
    - Dst: cu_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 11
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: test_wkt_out_multisurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - cu_wkt
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkt_out_multisurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:222,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:223,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:224,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:225,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:226,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:227,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:228,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:229,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:230,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:231,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:232,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:233,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_wkt.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: wkt_out_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void wkt_out_suite_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:115,1
    - Dst: lwgeom_sfcgal_noop
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:116,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:119,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:120,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:123,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:124,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:125,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:126,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:127,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:128,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 131
    functionName: test_sfcgal_noop
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_sfcgal.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - lwgeom_sfcgal_noop
    - ASSERT_STRING_EQUAL
    - fprintf
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_sfcgal_noop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:140,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_sfcgal.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: sfcgal_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_sfcgal.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void sfcgal_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:25,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:28,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:29,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:30,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:31,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:33,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:34,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:35,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:36,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:38,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:41,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:42,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:43,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:44,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:46,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:47,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:48,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:49,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:51,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:54,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:55,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:56,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:57,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:59,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:60,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:61,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:62,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:64,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:67,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:68,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:69,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:70,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:72,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:73,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:74,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:75,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:77,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:80,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:81,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:82,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:83,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:84,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:85,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:86,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:89,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:90,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:92,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:93,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:94,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:95,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:96,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:97,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:99,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:102,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:103,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:104,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:105,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:106,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:107,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:108,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:109,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:110,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:111,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:112,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:113,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:114,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:115,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:116,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:117,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:119,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:125,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:126,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:127,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:128,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:129,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:130,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:131,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:142,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:143,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:144,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:145,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:146,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:147,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:149,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:150,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:152,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:159,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:160,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:161,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:162,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:163,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:164,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:165,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:172,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:173,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:174,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:175,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:176,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:177,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:178,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:179,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 20
    functionDepth: 15
    functionLinenumber: 20
    functionLinenumberEnd: 181
    functionName: test_lwgeom_wrapx
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_wrapx.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_FATAL
    - ASSERT_STRING_EQUAL
    - lwgeom_wrapx
    - lwgeom_normalize
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_wrapx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: clean_geos_wrapx_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_wrapx.c
    functionUses: 0
    functionsReached:
    - finishGEOS
    linkageType: ''
    returnType: int
    signature: int clean_geos_wrapx_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:196,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_wrapx.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: wrapx_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_wrapx.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void wrapx_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gobt
    - ','
    - gexp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: check_geom_equal
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_clean.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_geom_equal(gobt, gexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:48,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:50,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:53,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:55,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:64,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:65,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:69,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:70,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:72,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:73,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:74,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:80,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:81,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:82,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:87,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:90,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:92,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:93,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:95,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:103,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:106,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:107,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:109,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:110,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:111,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:115,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:118,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:120,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:121,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:123,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:125,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:127,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:129,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:130,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:134,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:137,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:139,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:140,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:142,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:144,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:146,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:149,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:153,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:155,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:157,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:158,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:160,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:162,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:163,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:165,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 168
    functionName: test_lwgeom_make_valid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_clean.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_from_hexwkb
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_make_valid
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_make_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:179,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_clean.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: clean_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_clean.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void clean_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:25,1
    - Dst: lwgeom_filter_m
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:26,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:27,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:28,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:29,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:30,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:31,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - geom_txt
    - expected
    - min
    - max
    argTypes:
    - char*
    - char*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: do_test_filterm
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_filterm.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - strcmp
    - lwgeom_free
    - lwgeom_filter_m
    - printf
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_test_filterm(char *geom_txt,char *expected, double min, double
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:40,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:41,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:43,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:44,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:46,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 11
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: do_test_filterm_single_geometries
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_filterm.c
    functionUses: 0
    functionsReached:
    - do_test_filterm
    linkageType: ''
    returnType: void
    signature: void do_test_filterm_single_geometries(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:53,1
    - Dst: do_test_filterm
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 11
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: do_test_filterm_collections
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_filterm.c
    functionUses: 0
    functionsReached:
    - do_test_filterm
    linkageType: ''
    returnType: void
    signature: void do_test_filterm_collections(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:61,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:62,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_filterm.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: filterm_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_filterm.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void filterm_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gobt
    - ','
    - gexp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: check_geom_equal
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_geom_equal(gobt, gexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:54,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:56,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:59,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:61,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:64,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:66,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:67,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:69,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:71,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:72,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 11
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: buildarea1
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:86,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:88,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:91,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:93,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:96,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:98,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:99,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:101,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:103,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:104,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 11
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: buildarea2
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:120,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:122,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:125,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:127,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:130,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:132,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:133,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:135,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:137,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:138,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 11
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: buildarea3
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:156,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:158,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:161,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:163,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:166,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:168,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:169,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:171,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:173,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:174,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 11
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: buildarea4
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:192,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:194,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:197,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:199,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:202,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:204,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:205,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:207,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:209,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:210,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 11
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: buildarea4b
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea4b(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:228,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:230,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:233,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:235,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:238,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:240,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:241,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:243,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:245,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:246,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 11
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: buildarea5
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:264,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:266,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:269,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:271,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:274,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:276,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:277,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:279,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:281,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:282,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 260
    functionDepth: 11
    functionLinenumber: 260
    functionLinenumberEnd: 285
    functionName: buildarea6
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea6(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:302,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:304,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:307,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:309,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:312,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:314,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:315,1
    - Dst: check_geom_equal
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:317,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:319,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:320,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 11
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: buildarea7
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - check_geom_equal
    - CU_ASSERT
    - cu_error_msg_reset
    - lwgeom_buildarea
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void buildarea7(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:329,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:330,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:331,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:332,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:333,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:334,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:335,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:336,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_buildarea.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: buildarea_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_buildarea.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void buildarea_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:22,1
    - Dst: lwgeom_to_svg
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:23,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:25,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:27,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - precision
    - relative
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 9
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: do_svg_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_to_svg
    - ASSERT_VARLENA_EQUAL
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_svg_test(char * in, char * out, int precision, int relative)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:34,1
    - Dst: lwgeom_to_svg
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:35,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:37,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:38,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:40,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 9
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: do_svg_unsupported
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_to_svg
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_svg_unsupported(char * in, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:48,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:54,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:60,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:66,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:73,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:79,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:85,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:91,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:98,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:104,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:110,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 45
    functionDepth: 10
    functionLinenumber: 45
    functionLinenumberEnd: 117
    functionName: out_svg_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - do_svg_test
    linkageType: ''
    returnType: void
    signature: void out_svg_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:123,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:129,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:135,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 10
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: out_svg_test_dims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - do_svg_test
    linkageType: ''
    returnType: void
    signature: void out_svg_test_dims(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:151,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:157,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:163,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:169,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:175,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:181,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:187,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:193,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:199,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:205,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:210,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:215,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:220,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:225,1
    - Dst: do_svg_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 148
    functionDepth: 10
    functionLinenumber: 148
    functionLinenumberEnd: 235
    functionName: out_svg_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - do_svg_unsupported
    - do_svg_test
    linkageType: ''
    returnType: void
    signature: void out_svg_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:240,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:246,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:252,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:258,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:264,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:270,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 280
    functionName: out_svg_test_relative
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - do_svg_test
    linkageType: ''
    returnType: void
    signature: void out_svg_test_relative(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:285,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:291,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:297,1
    - Dst: do_svg_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 282
    functionDepth: 10
    functionLinenumber: 282
    functionLinenumberEnd: 307
    functionName: out_svg_test_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - do_svg_test
    linkageType: ''
    returnType: void
    signature: void out_svg_test_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:315,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:316,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:317,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:318,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:319,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_svg.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: out_svg_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_svg.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_svg_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: init_twkb_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_twkb_in_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:45,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: clean_twkb_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_twkb_in_suite(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:60,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:63,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:64,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:65,1
    - Dst: lwgeom_to_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:72,1
    - Dst: lwgeom_from_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:77,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:77,1
    - Dst: lwgeom_to_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:82,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:85,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:86,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:87,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:87,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:88,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:88,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:91,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:92,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:93,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 9
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: cu_twkb_in
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_parser_result_free
    - printf
    - lwgeom_parse_wkt
    - hexbytes_from_bytes
    - lwgeom_to_twkb
    - LWSIZE_GET
    - lwgeom_from_twkb
    - exit
    - lwfree
    linkageType: ''
    returnType: void
    signature: void cu_twkb_in(char *wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:99,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:101,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:103,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:104,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:106,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 10
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: test_twkb_in_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:112,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:113,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:115,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:116,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:118,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 10
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: test_twkb_in_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:124,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:125,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:127,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:128,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:130,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:131,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:133,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 10
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: test_twkb_in_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:139,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:140,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:142,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:143,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:146,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:147,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:149,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: test_twkb_in_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:155,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:156,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:158,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:159,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:161,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:162,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:165,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 10
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: test_twkb_in_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:171,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:172,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:175,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 10
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: test_twkb_in_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:182,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:183,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:185,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:186,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:188,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:189,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:191,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:192,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:194,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 10
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test_twkb_in_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:207,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:208,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:210,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:211,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:213,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:214,1
    - Dst: cu_twkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:216,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 10
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: test_twkb_in_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_in_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:233,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:234,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:235,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:236,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:237,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:238,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:239,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:240,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_twkb.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: twkb_in_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void twkb_in_suite_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_encoded_polyline
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:28,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:29,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:31,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:32,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:34,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:36,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - in
    - precision
    - out
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 10
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: do_encoded_polyline_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - strcmp
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_from_encoded_polyline
    - fprintf
    - lwfree
    linkageType: ''
    returnType: void
    signature: void do_encoded_polyline_test(char * in, int precision, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: in_encoded_polyline_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - do_encoded_polyline_test
    linkageType: ''
    returnType: void
    signature: void in_encoded_polyline_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: in_encoded_polyline_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - do_encoded_polyline_test
    linkageType: ''
    returnType: void
    signature: void in_encoded_polyline_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:62,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:63,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: in_encoded_polyline_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void in_encoded_polyline_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: lwgeom_from_text
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_parse_wkt
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_text(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str1
    - ','
    - str2
    - ','
    - res
    - ','
    - accepted_error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: DIST2DTEST
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIST2DTEST(str1, str2, res, accepted_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str1
    - ','
    - str2
    - ','
    - res
    - ','
    - accepted_error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: DIST3DTEST
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIST3DTEST(str1, str2, res, accepted_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:54,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:55,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:59,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:60,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:64,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:65,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:68,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:69,1
    - Dst: distancef
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:71,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:72,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:73,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:74,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:76,1
    - Dst: CU_FAIL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:77,1
    - Dst: CU_PASS
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - in1
    - in2
    - expected_res
    - line
    - accepted_error
    argTypes:
    - char*
    - char*
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: do_test_mindistance_tolerance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - lwgeom_free
    - distancef
    - fabs
    - printf
    - exit
    - FLAGS_SET_SOLID
    - lwgeom_from_wkt
    - CU_PASS
    linkageType: ''
    returnType: void
    signature: "void do_test_mindistance_tolerance(char *in1,\n\t\t\t      char *in2,\n\t\t\t
      \     double expected_res,\n\t\t\t      int line,\n\t\t\t      double (*distancef)(const
      LWGEOM *, const LWGEOM *, double),\n\t\t\t\t  double accepted_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:95,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:100,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:105,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:110,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:115,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:120,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:125,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:130,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:135,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:140,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:145,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:150,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:155,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:156,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:161,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:167,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:168,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:169,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:170,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:175,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:176,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:177,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:178,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:179,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:184,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:185,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:186,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:191,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:192,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:198,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:199,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:200,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:201,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:202,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:203,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:204,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:205,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:210,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:215,1
    - Dst: DIST2DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 225
    functionName: test_mindistance2d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - DIST2DTEST
    linkageType: ''
    returnType: void
    signature: void test_mindistance2d_tolerance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:233,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:234,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:235,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:236,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:237,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:238,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:239,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:240,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:243,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:246,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:247,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:248,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:249,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:252,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:253,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:254,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:257,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:258,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:259,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:262,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:265,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:268,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:271,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:272,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:273,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:274,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:277,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:283,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:289,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:295,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:301,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:307,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:313,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:319,1
    - Dst: DIST3DTEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 329
    functionName: test_mindistance3d_tolerance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - DIST3DTEST
    linkageType: ''
    returnType: void
    signature: void test_mindistance3d_tolerance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tree
    - x
    - y
    argTypes:
    - RECT_NODE*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 7
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: tree_pt
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - rect_tree_contains_point
    linkageType: ''
    returnType: int
    signature: int tree_pt(RECT_NODE *tree, double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:346,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:347,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:354,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:354,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:356,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:356,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:358,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:360,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:360,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:362,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:362,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:364,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:364,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:366,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:368,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:368,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:370,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:371,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:377,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:378,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:381,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:381,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:383,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:383,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:385,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:385,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:387,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:387,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:388,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:388,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:390,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:390,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:392,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:392,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:393,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:393,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:394,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:394,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:395,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:395,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:396,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:396,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:398,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:400,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:400,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:402,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:402,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:404,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:404,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:405,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:405,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:406,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:406,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:408,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:409,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:414,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:415,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:418,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:418,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:420,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:422,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:422,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:424,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:424,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:426,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:426,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:428,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:428,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:430,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:431,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:434,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:435,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:438,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:438,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:440,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:440,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:442,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:442,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:444,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:444,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:446,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:446,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:448,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:450,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:450,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:452,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:452,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:454,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:455,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:460,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:461,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:464,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:464,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:466,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:466,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:468,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:468,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:470,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:470,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:472,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:472,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:474,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:474,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:476,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:476,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:478,1
    - Dst: tree_pt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:478,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:480,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 338
    functionDepth: 8
    functionLinenumber: 338
    functionLinenumberEnd: 483
    functionName: test_rect_tree_contains_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - tree_pt
    - rect_tree_from_lwgeom
    - CU_ASSERT_EQUAL
    - rect_tree_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_rect_tree_contains_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:487,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:488,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:489,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:490,1
    - Dst: rect_tree_intersects_tree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:491,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:492,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:493,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:494,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 485
    functionDepth: 8
    functionLinenumber: 485
    functionLinenumberEnd: 497
    functionName: tree_inter
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rect_tree_from_lwgeom
    - rect_tree_free
    - rect_tree_intersects_tree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: int
    signature: int tree_inter(const char *wkt1, const char *wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:502,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:502,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:509,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:509,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:516,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:516,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:523,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:523,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:530,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:530,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:537,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:537,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:544,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:544,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:551,1
    - Dst: tree_inter
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 499
    functionDepth: 9
    functionLinenumber: 499
    functionLinenumberEnd: 556
    functionName: test_rect_tree_intersects_tree
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - tree_inter
    linkageType: ''
    returnType: void
    signature: void test_rect_tree_intersects_tree(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:562,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:563,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:564,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:565,1
    - Dst: rect_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:573,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:575,1
    - Dst: rect_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:576,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:577,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wkt1
    - wkt2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 559
    functionDepth: 8
    functionLinenumber: 559
    functionLinenumberEnd: 580
    functionName: test_rect_tree_distance_tree_case
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rect_tree_from_lwgeom
    - rect_tree_free
    - lwgeom_from_wkt
    - rect_tree_distance_tree
    linkageType: ''
    returnType: double
    signature: double test_rect_tree_distance_tree_case(const char *wkt1, const char
      *wkt2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w1
    - ','
    - w2
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 583
    functionName: TDT
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDT(w1, w2, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:590,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:593,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:594,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:595,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:596,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:597,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:599,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:600,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:601,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:602,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:605,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:606,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:607,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:608,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:611,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:612,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:613,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:614,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:615,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:616,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:617,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:618,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:621,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:622,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:623,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:624,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:627,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:628,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:631,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:632,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:635,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:635,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:636,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:637,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:640,1
    - Dst: TDT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 642
    functionName: test_rect_tree_distance_tree
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - TDT
    - sqrt
    linkageType: ''
    returnType: void
    signature: void test_rect_tree_distance_tree(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:648,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:649,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:650,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:651,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:652,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:653,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:654,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:657,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:658,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:659,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:660,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:661,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:662,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:663,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:666,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:667,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:668,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:669,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:673,1
    - Dst: lwgeom_request_interrupt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:674,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:675,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:676,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:677,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:679,1
    - Dst: lwgeom_request_interrupt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:680,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:681,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:682,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:683,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:685,1
    - Dst: lwgeom_request_interrupt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:688,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:689,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:690,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:691,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:693,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:696,1
    - Dst: lwgeom_request_interrupt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:697,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:698,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:699,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:700,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:702,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:703,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:705,1
    - Dst: CU_ASSERT_NOT_EQUAL_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:706,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:707,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:708,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:709,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:710,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 645
    functionDepth: 11
    functionLinenumber: 645
    functionLinenumberEnd: 712
    functionName: test_lwgeom_segmentize2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_segmentize2d
    - lwgeom_free
    - CU_ASSERT_FATAL
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - CU_ASSERT_NOT_EQUAL_FATAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_request_interrupt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_segmentize2d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:723,1
    - Dst: lwgeom_locate_along
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:724,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:725,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:726,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:727,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:728,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:729,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:732,1
    - Dst: lwgeom_locate_along
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:733,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:734,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:735,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:736,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:737,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 714
    functionDepth: 10
    functionLinenumber: 714
    functionLinenumberEnd: 739
    functionName: test_lwgeom_locate_along
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - lwgeom_locate_along
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_locate_along(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:756,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:757,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:758,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:759,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:763,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:764,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:765,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:766,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:770,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:771,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:772,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:773,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:773,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:777,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:778,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:779,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:780,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:780,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:784,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:785,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:786,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:787,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:791,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:792,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:793,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:794,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:798,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:799,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:800,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:801,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:807,1
    - Dst: lw_dist2d_pt_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:808,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:810,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 741
    functionDepth: 4
    functionLinenumber: 741
    functionLinenumberEnd: 812
    functionName: test_lw_dist2d_pt_arc
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lw_dist2d_distpts_init
    - lw_dist2d_pt_arc
    - sqrt
    linkageType: ''
    returnType: void
    signature: void test_lw_dist2d_pt_arc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:829,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:832,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:833,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:834,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:837,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:840,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:841,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:842,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:845,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:848,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:849,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:850,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:853,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:856,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:857,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:858,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:861,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:864,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:865,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:866,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:869,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:872,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:873,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:874,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:874,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:877,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:880,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:881,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:882,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:885,1
    - Dst: lw_dist2d_seg_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:888,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:890,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:891,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 814
    functionDepth: 4
    functionLinenumber: 814
    functionLinenumberEnd: 892
    functionName: test_lw_dist2d_seg_arc
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lw_dist2d_seg_arc
    - lw_dist2d_distpts_init
    - sqrt
    linkageType: ''
    returnType: void
    signature: void test_lw_dist2d_seg_arc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:905,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:912,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:913,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:914,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:922,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:926,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:927,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:928,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:931,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:935,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:936,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:937,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:940,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:944,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:945,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:946,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:946,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:949,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:953,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:954,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:955,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:958,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:962,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:963,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:964,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:967,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:968,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:968,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:970,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:970,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:971,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:972,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:973,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:976,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:977,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:977,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:979,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:979,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:980,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:981,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:982,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:985,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:986,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:986,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:988,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:988,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:989,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:990,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:991,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:994,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:998,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:999,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1000,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1007,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1011,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1012,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1013,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1015,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1019,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1020,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1021,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1023,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1027,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1028,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1029,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1031,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1035,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1036,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1037,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1039,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1043,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1044,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1045,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1047,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1051,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1052,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1053,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1056,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1060,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1061,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1062,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1064,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1068,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1069,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1070,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1072,1
    - Dst: lw_dist2d_arc_arc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1076,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1077,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 1080
    functionName: test_lw_dist2d_arc_arc
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lw_dist2d_distpts_init
    - lw_dist2d_arc_arc
    - sqrt
    linkageType: ''
    returnType: void
    signature: void test_lw_dist2d_arc_arc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1096,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1097,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1098,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1099,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1107,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1108,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1109,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1110,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1118,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1119,1
    - Dst: lw_arc_length
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1120,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1122
    functionName: test_lw_arc_length
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - lw_arc_length
    linkageType: ''
    returnType: void
    signature: void test_lw_arc_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1134,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1134,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1138,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1140,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1141,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1145,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1146,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1147,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1148,1
    - Dst: cos
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1151,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1152,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1154,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1155,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1158,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1159,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1159,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1163,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1164,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1165,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1166,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1166,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1170,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1172,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1173,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1177,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1178,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1179,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1180,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1184,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1185,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1186,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1187,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1191,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1192,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1193,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1194,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1198,1
    - Dst: lw_dist2d_pt_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1200,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1201,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1201,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1205
    functionName: test_lw_dist2d_pt_ptarrayarc
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lw_dist2d_distpts_init
    - lwgeom_as_lwline
    - lw_dist2d_pt_ptarrayarc
    - cos
    - lwline_free
    - sqrt
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_lw_dist2d_pt_ptarrayarc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1217,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1217,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1220,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1220,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1221,1
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1222,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1223,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1224,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1227,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1228,1
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1229,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1231,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1232,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1236,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1239,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1239,1
    - Dst: lw_dist2d_distpts_init
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1240,1
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1241,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1242,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1243,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1246,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1247,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1248,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1248,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1249,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1249,1
    - Dst: lw_dist2d_ptarray_ptarrayarc
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1250,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1251,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1252,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1254,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1207
    functionDepth: 4
    functionLinenumber: 1207
    functionLinenumberEnd: 1256
    functionName: test_lw_dist2d_ptarray_ptarrayarc
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lw_dist2d_ptarray_ptarrayarc
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - lw_dist2d_distpts_init
    - lwgeom_as_lwline
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_lw_dist2d_ptarray_ptarrayarc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1266,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1267,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1268,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1269,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1270,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1271,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1272,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1278,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1279,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1280,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1281,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1282,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1283,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1284,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1289,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1290,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1292,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1293,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1294,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1295,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1296,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1297,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1306,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1307,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1308,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1309,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1310,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1311,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1312,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1319,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1320,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1321,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1322,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1323,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1324,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1328,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1329,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1331,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1332,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1333,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1334,1
    - Dst: lwgeom_cpa_within
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1334,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1335,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1336,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1340,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1341,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1343,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1344,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1345,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1346,1
    - Dst: lwgeom_cpa_within
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1346,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1347,1
    - Dst: lwgeom_cpa_within
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1347,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1348,1
    - Dst: lwgeom_cpa_within
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1348,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1349,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1350,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1354,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1355,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1357,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1358,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1359,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1360,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1361,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1365,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1366,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1368,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1369,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1370,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1371,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1372,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1376,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1377,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1379,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1380,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1381,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1382,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1383,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1387,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1388,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1390,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1391,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1392,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1393,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1394,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1398,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1399,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1401,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1402,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1403,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1404,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1405,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1409,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1410,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1412,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1413,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1414,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1415,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1416,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1420,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1421,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1423,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1424,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1425,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1426,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1427,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1427,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1431,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1432,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1434,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1435,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1436,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1437,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1438,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1442,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1443,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1445,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1446,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1447,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1448,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1449,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1453,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1454,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1456,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1457,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1458,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1459,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1460,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1465,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1466,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1468,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1469,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1470,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1471,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1472,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1476,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1477,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1479,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1480,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1481,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1482,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1483,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1487,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1488,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1490,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1491,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1492,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1493,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 161
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1258
    functionDepth: 5
    functionLinenumber: 1258
    functionLinenumberEnd: 1496
    functionName: test_lwgeom_tcpa
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_tcpa
    - ASSERT_DOUBLE_EQUAL
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - rint
    - lwgeom_cpa_within
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_tcpa(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1504,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1505,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1506,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1507,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1509,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1510,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1511,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1512,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1514,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1515,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1516,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1517,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1519,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1520,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1521,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1522,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1524,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1525,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1526,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1527,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1529,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1530,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1531,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1532,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1534,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1535,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1536,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1537,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1539,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1540,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1541,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1498
    functionDepth: 4
    functionLinenumber: 1498
    functionLinenumberEnd: 1543
    functionName: test_lwgeom_is_trajectory
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_trajectory
    - lwgeom_free
    - ASSERT_INT_EQUAL
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_is_trajectory(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1551,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1552,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1553,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1554,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1555,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1556,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1557,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1558,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1559,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1560,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1561,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1562,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1563,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1564,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1565,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_measures.c:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1567
    functionName: measures_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_measures.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void measures_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_mbc
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:18,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:19,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:21,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:26,1
    - Dst: distance2d_pt_pt
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:34,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:37,1
    - Dst: CU_FAIL
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:38,1
    - Dst: CU_PASS
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:42,1
    - Dst: lwboundingcircle_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:46,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 16
    functionDepth: 8
    functionLinenumber: 16
    functionLinenumberEnd: 48
    functionName: mbc_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_mbc
    - CU_FAIL
    - CU_PASS
    - lwpointiterator_next
    - lwpointiterator_destroy
    - lwboundingcircle_destroy
    - printf
    - CU_ASSERT_TRUE
    - distance2d_pt_pt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void mbc_test(LWGEOM* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:67,1
    - Dst: mbc_test
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:68,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 9
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: basic_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_wkt
    - mbc_test
    linkageType: ''
    returnType: void
    signature: void basic_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:76,1
    - Dst: lwgeom_calculate_mbc
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:78,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:79,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 8
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: test_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_mbc
    - lwgeom_free
    - lwgeom_from_wkt
    - CU_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void test_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:90,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:91,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: minimum_bounding_circle_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void minimum_bounding_circle_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:25,1
    - Dst: lwgeom_to_encoded_polyline
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:26,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:28,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:30,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - in
    - precision
    - out
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: do_encoded_polyline_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
    functionUses: 2
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_encoded_polyline
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_encoded_polyline_test(char* in, int precision, char* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:38,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:45,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:49,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:52,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: out_encoded_polyline_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - do_encoded_polyline_test
    linkageType: ''
    returnType: void
    signature: void out_encoded_polyline_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:62,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: out_encoded_polyline_test_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - do_encoded_polyline_test
    linkageType: ''
    returnType: void
    signature: void out_encoded_polyline_test_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:75,1
    - Dst: do_encoded_polyline_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: out_encoded_polyline_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - do_encoded_polyline_test
    linkageType: ''
    returnType: void
    signature: void out_encoded_polyline_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:94,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:95,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:96,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: out_encoded_polyline_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_encoded_polyline_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - testfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: PG_ADD_TEST
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_ADD_TEST(suite, testfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ASSERT_DOUBLE_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_DOUBLE_EQUAL(o,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: ASSERT_DOUBLE_EQUAL_TOLERANCE
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_DOUBLE_EQUAL_TOLERANCE(o,e,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: ASSERT_INT_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_INT_EQUAL(o,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gobt
    - ','
    - gexp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: ASSERT_NORMALIZED_GEOM_SAME
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_NORMALIZED_GEOM_SAME(gobt, gexp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:79,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:83,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:83,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:83,1
    - Dst: sprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:84,1
    - Dst: CU_assertImplementation
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:89,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_tester.h:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - obtained
    - expected
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: assert_string_equal_impl
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 0
    functionsReached:
    - strcmp
    - CU_assertImplementation
    - strlen
    - lwalloc
    - lwfree
    - sprintf
    linkageType: ''
    returnType: void
    signature: void assert_string_equal_impl(const char *obtained, const char *expected,
      const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ASSERT_STRING_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_STRING_EQUAL(o, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: ASSERT_VARLENA_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_VARLENA_EQUAL(v, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: ASSERT_LWGEOM_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_LWGEOM_EQUAL(o, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: ASSERT_INTARRAY_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_INTARRAY_EQUAL(o, e, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - eps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: ASSERT_POINT2D_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_POINT2D_EQUAL(o, e, eps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - eps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ASSERT_POINT4D_EQUAL
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_POINT4D_EQUAL(o, e, eps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:20,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:25,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:26,1
    - Dst: ASSERT_INTARRAY_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:27,1
    - Dst: ASSERT_INTARRAY_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:28,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: test_unionfind_create
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - UF_destroy
    - UF_create
    - ASSERT_INT_EQUAL
    - ASSERT_INTARRAY_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_unionfind_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:35,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:37,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:38,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:39,1
    - Dst: UF_union
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:40,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:45,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:46,1
    - Dst: ASSERT_INTARRAY_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:47,1
    - Dst: ASSERT_INTARRAY_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:48,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: test_unionfind_union
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - UF_create
    - ASSERT_INTARRAY_EQUAL
    - UF_destroy
    - ASSERT_INT_EQUAL
    - UF_union
    linkageType: ''
    returnType: void
    signature: void test_unionfind_union(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UF_ordered_by_cluster
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:67,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:84,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: test_unionfind_ordered_by_cluster
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - UF_ordered_by_cluster
    - CU_ASSERT_EQUAL
    - lwfree
    linkageType: ''
    returnType: void
    signature: void test_unionfind_ordered_by_cluster(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:92,1
    - Dst: UF_find
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:107,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: test_unionfind_path_compression
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - UF_destroy
    - UF_create
    - CU_ASSERT_EQUAL
    - UF_find
    linkageType: ''
    returnType: void
    signature: void test_unionfind_path_compression(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UF_create
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:115,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:144,1
    - Dst: ASSERT_INTARRAY_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:146,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:148,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:153,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:158,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:161,1
    - Dst: UF_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 163
    functionName: test_unionfind_collapse_cluster_ids
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - UF_create
    - UF_get_collapsed_cluster_ids
    - ASSERT_INTARRAY_EQUAL
    - UF_destroy
    - lwfree
    - ASSERT_INT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_unionfind_collapse_cluster_ids(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:168,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:169,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:170,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:171,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:172,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_unionfind.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: unionfind_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_unionfind.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void unionfind_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: init_wkb_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_wkb_in_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:43,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: clean_wkb_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_wkb_in_suite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:52,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:54,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:55,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:56,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:57,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hex
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 12
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: cu_wkb_malformed_in
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - printf
    - CU_ASSERT
    - lwgeom_from_hexwkb
    - lwfree
    - lwgeom_to_hexwkb_buffer
    linkageType: ''
    returnType: void
    signature: void cu_wkb_malformed_in(char *hex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:69,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:70,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:73,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:76,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:77,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:78,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:85,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:88,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:88,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:91,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:94,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:94,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:95,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:95,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:98,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:99,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:100,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 11
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: cu_wkb_in
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_parser_result_free
    - printf
    - lwgeom_parse_wkt
    - hexbytes_from_bytes
    - free
    - LWSIZE_GET
    - lwgeom_to_wkb_varlena
    - exit
    - lwfree
    - lwgeom_from_wkb
    linkageType: ''
    returnType: void
    signature: void cu_wkb_in(char *wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:106,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:108,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:110,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:111,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:113,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:114,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:116,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:117,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:119,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:120,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:122,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:123,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:125,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 12
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: test_wkb_in_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:132,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:133,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:135,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 12
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: test_wkb_in_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:141,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:142,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:144,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:145,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:147,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:148,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:150,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 12
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: test_wkb_in_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:156,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:157,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:159,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 12
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: test_wkb_in_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: test_wkb_in_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:167,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 12
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: test_wkb_in_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:174,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:175,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:177,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:178,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:180,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 12
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: test_wkb_in_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:187,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:188,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:190,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:191,1
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:193,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 12
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: test_wkb_in_circularstring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_circularstring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:199,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 12
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: test_wkb_in_compoundcurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_compoundcurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:205,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 12
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: test_wkb_in_curvpolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_in
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_curvpolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: test_wkb_in_multicurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_multicurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: test_wkb_in_multisurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_multisurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:216,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:219,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:220,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:221,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:222,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:225,1
    - Dst: cu_wkb_malformed_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 13
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: test_wkb_in_malformed
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - cu_wkb_malformed_in
    linkageType: ''
    returnType: void
    signature: void test_wkb_in_malformed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:238,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:239,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:259,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:260,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:264,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:265,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:270,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:271,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:275,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:276,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:277,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:278,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 232
    functionDepth: 7
    functionLinenumber: 232
    functionLinenumberEnd: 280
    functionName: test_wkb_fuzz
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - memset
    - lwfree
    - lwalloc
    - lwgeom_from_wkb
    linkageType: ''
    returnType: void
    signature: void test_wkb_fuzz(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:288,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:289,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:290,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:291,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:292,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:293,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:294,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:295,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:296,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:297,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:298,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:299,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:300,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:301,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkb.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: wkb_in_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void wkb_in_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:27,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:29,1
    - Dst: lwgeom_delaunay_triangulation
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:31,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:32,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:33,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:34,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:36,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:37,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:40,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:41,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:43,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 20
    functionDepth: 11
    functionLinenumber: 20
    functionLinenumberEnd: 45
    functionName: test_lwgeom_delaunay_triangulation
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - lwgeom_delaunay_triangulation
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - fprintf
    - lwgeom_normalize
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_delaunay_triangulation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:50,1
    - Dst: lwgeom_voronoi_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:52,1
    - Dst: lwgeom_voronoi_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:53,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:56,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:58,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:58,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:60,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:61,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 9
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: test_lwgeom_voronoi_diagram
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - lwgeom_get_type
    - lwgeom_voronoi_diagram
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_voronoi_diagram(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:68,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:69,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:70,1
    - Dst: lwgeom_voronoi_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:72,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:73,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:75,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:75,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:77,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:78,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 9
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: test_lwgeom_voronoi_diagram_custom_envelope
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - gbox_same
    - lwgeom_voronoi_diagram
    - CU_ASSERT_TRUE
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_voronoi_diagram_custom_envelope(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:85,1
    - Dst: lwgeom_voronoi_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:86,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:88,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:89,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:89,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wkt
    - tolerance
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 9
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: assert_empty_diagram
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_is_collection
    - CU_ASSERT_EQUAL
    - lwgeom_get_type
    - lwgeom_voronoi_diagram
    - CU_ASSERT_TRUE
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void assert_empty_diagram(char *wkt, double tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_empty_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:98,1
    - Dst: assert_empty_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:99,1
    - Dst: assert_empty_diagram
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 10
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: test_lwgeom_voronoi_diagram_expected_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - assert_empty_diagram
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_voronoi_diagram_expected_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: clean_geos_triangulate_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - finishGEOS
    linkageType: ''
    returnType: int
    signature: int clean_geos_triangulate_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:120,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:121,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:122,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:123,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_triangulate.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: triangulate_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_triangulate.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void triangulate_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gbox_new
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:25,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:31,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:32,1
    - Dst: lwgeom_remove_irrelevant_points_for_view
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:34,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:35,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:37,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:39,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:40,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 11
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: test_lwgeom_remove_irrelevant_points_for_view
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached:
    - lwgeom_remove_irrelevant_points_for_view
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - gbox_new
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_remove_irrelevant_points_for_view(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:48,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: remove_irrelevant_points_for_view_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void remove_irrelevant_points_for_view_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:25,1
    - Dst: lwgeom_force_sfs
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:26,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:27,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:28,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:29,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:31,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 11
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: do_geom_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - fprintf
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_force_sfs
    linkageType: ''
    returnType: void
    signature: void do_geom_test(char * in, char * out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:41,1
    - Dst: lwgeom_force_sfs
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:42,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:44,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:45,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:46,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:47,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - in
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: do_type_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - fprintf
    - lwtype_name
    - lwgeom_from_wkt
    - lwgeom_force_sfs
    linkageType: ''
    returnType: void
    signature: void do_type_test(char * in, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:54,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:57,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:60,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:63,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:66,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:69,1
    - Dst: do_type_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 11
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: test_sqlmm
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - do_type_test
    linkageType: ''
    returnType: void
    signature: void test_sqlmm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:79,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:82,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:85,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:89,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:92,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:95,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:99,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:102,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: test_sfs_12
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_sfs_12(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:112,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:115,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:118,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:121,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:124,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:127,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:130,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:133,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:136,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:139,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:143,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:146,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:153,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:156,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 161
    functionName: test_sfs_11
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_sfs_11(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:169,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:170,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:171,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_force_sfs.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: force_sfs_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void force_sfs_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: init_wkt_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_wkt_in_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: clean_wkt_in_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clean_wkt_in_suite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:59,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:60,1
    - Dst: strdup
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:61,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:63,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:64,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - wkt
    - variant
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: cu_wkt_in
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - strdup
    - lwgeom_parser_result_free
    - CU_ASSERT_EQUAL
    - lwgeom_parse_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: char
    signature: char * cu_wkt_in(char *wkt, uint8_t variant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:73,1
    - Dst: tolower
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: cu_strtolower
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: void
    signature: void cu_strtolower(char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:81,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:82,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:83,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:86,1
    - Dst: CU_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:87,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:87,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:87,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:87,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:88,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:91,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:92,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:93,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:96,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:97,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:98,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:101,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:102,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:103,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:106,1
    - Dst: cu_strtolower
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:107,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:108,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 78
    functionDepth: 11
    functionLinenumber: 78
    functionLinenumberEnd: 112
    functionName: test_wkt_in_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cu_strtolower
    - ASSERT_STRING_EQUAL
    - lwfree
    - CU_TEST
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:117,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:118,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:119,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:122,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:123,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:124,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:127,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:128,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:129,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:132,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:133,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:134,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:137,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:138,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:139,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:142,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:143,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:144,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:147,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:148,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:149,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:152,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:153,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 114
    functionDepth: 11
    functionLinenumber: 114
    functionLinenumberEnd: 157
    functionName: test_wkt_in_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:162,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:163,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:164,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:167,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:168,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:169,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:172,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:173,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 11
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: test_wkt_in_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:191,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:192,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:194,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:197,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:198,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 11
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: test_wkt_in_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:206,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:207,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 11
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: test_wkt_in_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:216,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:217,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:219,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:222,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:223,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:225,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:228,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:229,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 213
    functionDepth: 11
    functionLinenumber: 213
    functionLinenumberEnd: 233
    functionName: test_wkt_in_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:238,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:240,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:241,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:244,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:246,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:247,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:250,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:252,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:253,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:256,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:258,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:259,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:263,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:265,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 11
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: test_wkt_in_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:272,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:274,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 11
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: test_wkt_in_circularstring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_circularstring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:281,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:282,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:284,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:287,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:288,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 11
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: test_wkt_in_compoundcurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_compoundcurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:296,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:297,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 11
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: test_wkt_in_curvpolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_curvpolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:305,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:306,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: test_wkt_in_multicurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_multicurve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:314,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:315,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 11
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: test_wkt_in_multisurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_multisurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:323,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:324,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 11
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: test_wkt_in_tin
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_tin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:332,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:333,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:335,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:338,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:339,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:341,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:344,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:345,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 11
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: test_wkt_in_polyhedralsurface
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_polyhedralsurface(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:358,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:359,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:360,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:361,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 368
    functionName: test_wkt_in_errlocation
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_parser_result_free
    - lwgeom_parser_result_init
    - CU_ASSERT_EQUAL
    - lwgeom_parse_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_wkt_in_errlocation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:377,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:378,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:379,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:380,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:381,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:382,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:385,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:386,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:387,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:388,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:391,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:392,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:393,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:394,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:397,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:399,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:400,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:403,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:404,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:405,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 407
    functionName: test_wkt_double
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - lwgeom_parser_result_free
    - lwgeom_parser_result_init
    - CU_ASSERT_EQUAL
    - lwgeom_parse_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_wkt_double(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:413,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:414,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:415,1
    - Dst: cu_wkt_in
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:419,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:420,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 409
    functionDepth: 11
    functionLinenumber: 409
    functionLinenumberEnd: 422
    functionName: test_wkt_leak
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - lwfree
    - cu_wkt_in
    linkageType: ''
    returnType: void
    signature: void test_wkt_leak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:430,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:431,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:432,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:433,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:434,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:435,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:436,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:437,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:438,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:439,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:440,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:441,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:442,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:443,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:444,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:445,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:446,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_in_wkt.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 448
    functionName: wkt_in_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void wkt_in_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_u32_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:40,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:42,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:44,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:46,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:47,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nr
    - expected_size
    - expected_res
    argTypes:
    - uint32_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: do_test_u32_varint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - printf
    - ASSERT_STRING_EQUAL
    - hexbytes_from_bytes
    - varint_u32_encode_buf
    - lwfree
    linkageType: ''
    returnType: void
    signature: void do_test_u32_varint(uint32_t nr, int expected_size, char* expected_res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_s32_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:57,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:62,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:64,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:65,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - nr
    - expected_size
    - expected_res
    argTypes:
    - int32_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: do_test_s32_varint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - printf
    - hexbytes_from_bytes
    - lwfree
    - varint_s32_encode_buf
    linkageType: ''
    returnType: void
    signature: void do_test_s32_varint(int32_t nr,int expected_size, char* expected_res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:75,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:78,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:80,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:82,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:83,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - nr
    - expected_size
    - expected_res
    argTypes:
    - uint64_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: do_test_u64_varint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - printf
    - ASSERT_STRING_EQUAL
    - hexbytes_from_bytes
    - varint_u64_encode_buf
    - lwfree
    linkageType: ''
    returnType: void
    signature: void do_test_u64_varint(uint64_t nr,int expected_size, char* expected_res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_s64_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:93,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:96,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:98,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:100,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:101,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - nr
    - expected_size
    - expected_res
    argTypes:
    - int64_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: do_test_s64_varint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - printf
    - hexbytes_from_bytes
    - varint_s64_encode_buf
    - lwfree
    linkageType: ''
    returnType: void
    signature: void do_test_s64_varint(int64_t nr,int expected_size, char* expected_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:108,1
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:109,1
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:110,1
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:111,1
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:112,1
    - Dst: do_test_u64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:120,1
    - Dst: do_test_s64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:130,1
    - Dst: do_test_s64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:131,1
    - Dst: do_test_s64_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:132,1
    - Dst: do_test_u32_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:134,1
    - Dst: do_test_s32_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:144,1
    - Dst: do_test_s32_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:155,1
    - Dst: do_test_s32_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:157,1
    - Dst: do_test_s32_varint
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 174
    functionName: test_varint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - do_test_s32_varint
    - do_test_s64_varint
    - do_test_u32_varint
    - do_test_u64_varint
    linkageType: ''
    returnType: void
    signature: void test_varint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_u64_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:182,1
    - Dst: varint_u64_decode
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:183,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i64_in
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: do_test_u64_roundtrip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - varint_u64_encode_buf
    - CU_ASSERT_EQUAL
    - varint_u64_decode
    linkageType: ''
    returnType: void
    signature: void do_test_u64_roundtrip(uint64_t i64_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_s64_encode_buf
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:193,1
    - Dst: varint_s64_decode
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:194,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i64_in
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: do_test_s64_roundtrip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - varint_s64_encode_buf
    - varint_s64_decode
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void do_test_s64_roundtrip(int64_t i64_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_u64_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:202,1
    - Dst: do_test_u64_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:207,1
    - Dst: do_test_s64_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:208,1
    - Dst: do_test_s64_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: test_varint_roundtrip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - do_test_s64_roundtrip
    - do_test_u64_roundtrip
    linkageType: ''
    returnType: void
    signature: void test_varint_roundtrip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:222,1
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:222,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:222,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:223,1
    - Dst: unzigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:223,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:223,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:226,1
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:226,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:226,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:227,1
    - Dst: unzigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:227,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:231,1
    - Dst: unzigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:231,1
    - Dst: zigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:232,1
    - Dst: unzigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:232,1
    - Dst: zigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:232,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:233,1
    - Dst: unzigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:233,1
    - Dst: zigzag8
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:233,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:236,1
    - Dst: unzigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:236,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:236,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:237,1
    - Dst: unzigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:237,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:237,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:238,1
    - Dst: unzigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:238,1
    - Dst: zigzag32
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:241,1
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:241,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:241,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:242,1
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:242,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:242,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:243,1
    - Dst: unzigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:243,1
    - Dst: zigzag64
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: test_zigzag
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - zigzag64
    - unzigzag64
    - unzigzag32
    - CU_ASSERT_EQUAL
    - zigzag32
    - zigzag8
    - unzigzag8
    linkageType: ''
    returnType: void
    signature: void test_zigzag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:253,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:254,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:255,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_varint.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: varint_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_varint.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void varint_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:26,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:29,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:30,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:31,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:33,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:34,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:34,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:34,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:37,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:38,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:39,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:41,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:42,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:42,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:42,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:45,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:46,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:47,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:49,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:50,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:50,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:50,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:53,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:54,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:55,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:57,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:58,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:58,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:58,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:62,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:63,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:65,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:65,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:66,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:66,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:70,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:71,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:72,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 19
    functionDepth: 11
    functionLinenumber: 19
    functionLinenumberEnd: 74
    functionName: test_lwgeom_clip_by_rect
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_clip_by_rect
    - CU_ASSERT_PTR_NULL
    - lwgeom_is_empty
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - cu_error_msg_reset
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_clip_by_rect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:82,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: clip_by_rect_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void clip_by_rect_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: lwgeom_from_text
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 2
    functionsReached:
    - lwgeom_parse_wkt
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_text(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 10
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: lwgeom_to_text
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    linkageType: ''
    returnType: char
    signature: char * lwgeom_to_text(const LWGEOM *geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:43,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:43,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:46,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:47,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:47,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:48,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:49,1
    - Dst: ptarray_append_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:51,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:52,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:52,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:53,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:54,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: test_ptarray_append_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_text
    - lwline_as_lwgeom
    - ptarray_append_point
    - ASSERT_STRING_EQUAL
    - lwgeom_as_lwline
    - lwfree
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_append_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:65,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:65,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:68,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:69,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:69,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:70,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:71,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:75,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:76,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:76,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:77,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:78,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:82,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:83,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:83,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:84,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:85,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:89,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:90,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:90,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:91,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:92,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:96,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:97,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:97,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:98,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:99,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 102
    functionName: test_ptarray_insert_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_text
    - lwline_as_lwgeom
    - ASSERT_STRING_EQUAL
    - lwgeom_as_lwline
    - lwfree
    - lwline_free
    - ptarray_insert_point
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_insert_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:111,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:111,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:112,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:112,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:113,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:114,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:115,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:115,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:116,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:117,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:118,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:119,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:122,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:122,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:123,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:123,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:124,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:125,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:126,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:126,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:127,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:128,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:129,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:130,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:133,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:133,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:134,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:134,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:135,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:136,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:137,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:137,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:138,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:139,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:140,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:141,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:144,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:144,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:145,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:145,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:147,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:148,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:148,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:149,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:150,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:151,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:152,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:155,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:155,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:156,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:156,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:157,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:158,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:159,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:160,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:163,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:163,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:164,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:164,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:165,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:166,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:167,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:167,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:168,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:169,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:170,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:171,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:174,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:174,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:175,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:175,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:176,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:177,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:178,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:178,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:179,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:180,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:181,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:182,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:185,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:185,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:186,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:186,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:187,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:188,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:189,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:190,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:193,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:193,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:194,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:194,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:195,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:196,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:197,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:198,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:198,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:199,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:200,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:201,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:202,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:203,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:206,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:206,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:207,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:207,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:208,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:209,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:210,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:211,1
    - Dst: FLAGS_SET_READONLY
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:212,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 215
    functionName: test_ptarray_append_ptarray
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_append_ptarray
    - lwgeom_to_text
    - lwline_as_lwgeom
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - lwgeom_as_lwline
    - lwfree
    - lwline_free
    - FLAGS_SET_READONLY
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_append_ptarray(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:223,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:223,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:225,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:226,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:228,1
    - Dst: getPoint4d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:230,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:232,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:233,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:236,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:237,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:238,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:241,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:242,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:243,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:245,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:246,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:246,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:249,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:250,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:251,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:253,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:254,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:254,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:259,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:261,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:262,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:262,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:265,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:266,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:267,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:268,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 272
    functionName: test_ptarray_locate_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_locate_point
    - CU_ASSERT_EQUAL
    - getPoint4d
    - lwgeom_as_lwline
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_locate_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:281,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:281,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:282,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:283,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:284,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:287,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:287,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:288,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:289,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:290,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:293,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:293,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:294,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:295,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:296,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:299,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:299,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:300,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:301,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:302,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:305,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:305,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:306,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:307,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:308,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:311,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:311,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:312,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:313,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 274
    functionDepth: 8
    functionLinenumber: 274
    functionLinenumberEnd: 315
    functionName: test_ptarray_isccw
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - lwpoly_free
    - CU_ASSERT_EQUAL
    - lwgeom_as_lwpoly
    - ptarray_isccw
    - lwgeom_as_lwline
    - lwgeom_from_hexwkb
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_isccw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:323,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:323,1
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:324,1
    - Dst: ASSERT_DOUBLE_EQUAL_TOLERANCE
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:325,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:326,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:329,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:329,1
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:330,1
    - Dst: ASSERT_DOUBLE_EQUAL_TOLERANCE
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:331,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:332,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:335,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:335,1
    - Dst: ptarray_signed_area
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:336,1
    - Dst: ASSERT_DOUBLE_EQUAL_TOLERANCE
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:338,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 341
    functionName: test_ptarray_signed_area
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ASSERT_DOUBLE_EQUAL_TOLERANCE
    - lwgeom_as_lwline
    - ptarray_signed_area
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_signed_area()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:352,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:352,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:359,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:364,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:365,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:370,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:371,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:376,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:377,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:382,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:383,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:388,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:389,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:394,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:395,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:400,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:401,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:403,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:404,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:404,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:410,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:411,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:413,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:414,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:414,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:421,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:426,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:427,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 430
    functionName: test_ptarray_contains_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_contains_point
    - CU_ASSERT_EQUAL
    - lwgeom_as_lwline
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_contains_point()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:442,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:442,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:449,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:455,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:460,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:461,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:466,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:467,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:472,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:473,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:476,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:477,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:477,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:483,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:484,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:489,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:490,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:495,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:496,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:501,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:502,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:507,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:508,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:513,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:514,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:517,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:518,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:518,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:525,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:528,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:529,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:529,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:535,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:536,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:541,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:542,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:547,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:548,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:551,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:552,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:552,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:554,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:555,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:557,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:560,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:561,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:561,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:563,1
    - Dst: ptarrayarc_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:564,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:565,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 568
    functionName: test_ptarrayarc_contains_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - lwgeom_as_lwline
    - lwline_free
    - ptarrayarc_contains_point
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarrayarc_contains_point()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:579,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:579,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:583,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:584,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:584,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:585,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:586,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:590,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:591,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:591,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:592,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:593,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:597,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:598,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:598,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:599,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:600,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:604,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:605,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:605,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:606,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:607,1
    - Dst: ptarray_scale
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:611,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:612,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:612,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:613,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:614,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 617
    functionName: test_ptarray_scale
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_text
    - ptarray_scale
    - lwline_as_lwgeom
    - ASSERT_STRING_EQUAL
    - lwgeom_as_lwline
    - lwfree
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_scale()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:629,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:629,1
    - Dst: ptarray_scroll_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:633,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:634,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:635,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:635,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:637,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:638,1
    - Dst: ptarray_scroll_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:641,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:642,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:643,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:643,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:645,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:646,1
    - Dst: ptarray_scroll_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:649,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:650,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:651,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 654
    functionName: test_ptarray_scroll
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_scroll_in_place
    - lwgeom_to_text
    - lwline_as_lwgeom
    - CU_ASSERT_EQUAL
    - ASSERT_STRING_EQUAL
    - lwgeom_as_lwline
    - lwfree
    - lwline_free
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_scroll()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:666,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:666,1
    - Dst: ptarray_closest_vertex_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:670,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:671,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:672,1
    - Dst: ptarray_closest_vertex_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:675,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:676,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:677,1
    - Dst: ptarray_closest_vertex_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:680,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:681,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:682,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 686
    functionName: test_ptarray_closest_vertex_2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ASSERT_DOUBLE_EQUAL
    - lwgeom_as_lwline
    - ptarray_closest_vertex_2d
    - lwline_free
    - ASSERT_INT_EQUAL
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_closest_vertex_2d()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:698,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:698,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:702,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:703,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:704,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:707,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:708,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:709,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:712,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:713,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:714,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:717,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:718,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:719,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:722,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:727,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:727,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:730,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:731,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 733
    functionName: test_ptarray_closest_segment_2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ptarray_closest_segment_2d
    - ASSERT_DOUBLE_EQUAL
    - lwgeom_as_lwline
    - lwline_free
    - ASSERT_INT_EQUAL
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_ptarray_closest_segment_2d()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:745,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:746,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:747,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:748,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:749,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:752,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:753,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:754,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:755,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:756,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:759,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:760,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:761,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:762,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:763,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:768,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:769,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:770,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:771,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:772,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:775,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:776,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:777,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:778,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:779,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:782,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:783,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:784,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:785,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:786,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:791,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:792,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:793,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:794,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:795,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:798,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:799,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:800,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:801,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:802,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:805,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:806,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:807,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:808,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:809,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:812,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:813,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:814,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:815,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:816,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:819,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:820,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:821,1
    - Dst: ASSERT_DOUBLE_EQUAL_TOLERANCE
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:822,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:823,1
    - Dst: closest_point_on_segment
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:826,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:827,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:828,1
    - Dst: ASSERT_DOUBLE_EQUAL_TOLERANCE
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:829,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 833
    functionName: test_ptarray_closest_point_on_segment
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - ASSERT_DOUBLE_EQUAL_TOLERANCE
    - closest_point_on_segment
    - ASSERT_DOUBLE_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_ptarray_closest_point_on_segment(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:842,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:843,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:844,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:845,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:846,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:847,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:848,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:849,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:850,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:851,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:852,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:853,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:854,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_ptarray.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 856
    functionName: ptarray_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_ptarray.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void ptarray_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: init_twkb_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_twkb_out_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:44,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: clean_twkb_out_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_twkb_out_suite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:57,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:58,1
    - Dst: lwgeom_to_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:59,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:60,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:61,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:62,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:62,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - wkt
    - prec_xy
    - prec_z
    - prec_m
    - variant
    argTypes:
    - char*
    - int8_t
    - int8_t
    - int8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 9
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: cu_twkb
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - hexbytes_from_bytes
    - lwgeom_to_twkb
    - free
    - LWSIZE_GET
    - lwnotice
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void cu_twkb(char *wkt, int8_t prec_xy, int8_t prec_z, int8_t prec_m,
      uint8_t variant)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:72,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:74,1
    - Dst: lwgeom_to_twkb_with_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:75,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:76,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:77,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:78,1
    - Dst: hexbytes_from_bytes
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:79,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:79,1
    - Dst: lwgeom_from_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:80,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:80,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:81,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:82,1
    - Dst: free
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - wkt
    - idlist
    - prec_xy
    - prec_z
    - prec_m
    - variant
    argTypes:
    - char*
    - int64_t*
    - int8_t
    - int8_t
    - int8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 11
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: cu_twkb_idlist
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_to_twkb_with_idlist
    - hexbytes_from_bytes
    - free
    - LWSIZE_GET
    - lwgeom_from_twkb
    - lwgeom_to_ewkt
    - lwnotice
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void cu_twkb_idlist(char *wkt, int64_t *idlist, int8_t prec_xy, int8_t
      prec_z, int8_t prec_m, uint8_t variant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:91,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:92,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:94,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:95,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:97,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:98,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:101,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:102,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:106,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:107,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:110,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:111,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:114,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:115,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:118,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:119,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:122,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 88
    functionDepth: 10
    functionLinenumber: 88
    functionLinenumberEnd: 125
    functionName: test_twkb_out_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:130,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:131,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:134,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:135,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:139,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:140,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:143,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 10
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: test_twkb_out_linestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_linestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:150,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:151,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:154,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:155,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:158,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 10
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: test_twkb_out_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:165,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:166,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:168,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 10
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: test_twkb_out_multipoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_multipoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: test_twkb_out_multilinestring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_multilinestring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:178,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 10
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: test_twkb_out_multipolygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_multipolygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:184,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:186,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:188,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:190,1
    - Dst: cu_twkb
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:192,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 10
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: test_twkb_out_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - cu_twkb
    - ASSERT_STRING_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_twkb_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:202,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:205,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:206,1
    - Dst: cu_twkb_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:218,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:221,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:222,1
    - Dst: cu_twkb_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:235,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:238,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:239,1
    - Dst: cu_twkb_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:250,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:252,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:253,1
    - Dst: cu_twkb_idlist
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:265,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:267,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 196
    functionDepth: 12
    functionLinenumber: 196
    functionLinenumberEnd: 270
    functionName: test_twkb_out_idlist
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - ASSERT_STRING_EQUAL
    - cu_twkb_idlist
    linkageType: ''
    returnType: void
    signature: void test_twkb_out_idlist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:279,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:280,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:281,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:282,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:283,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:284,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:285,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:286,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_twkb.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: twkb_out_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void twkb_out_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wkt_in
    - ','
    - wkt_exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: BOUNDARY_TEST
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNDARY_TEST(wkt_in, wkt_exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:40,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:45,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:50,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: boundary_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:64,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:69,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:74,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:79,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:84,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:89,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: boundary_line
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_line(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:104,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:109,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:114,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:120,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:125,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: boundary_polygon
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_polygon(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:140,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: boundary_triangle
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_triangle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:154,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:159,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: boundary_tin
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_tin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:173,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:179,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:184,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:189,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:194,1
    - Dst: BOUNDARY_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: boundary_collection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - BOUNDARY_TEST
    linkageType: ''
    returnType: void
    signature: void boundary_collection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:209,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:210,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:211,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:212,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:213,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:214,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_boundary.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: boundary_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_boundary.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void boundary_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: lwgeom_from_text
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
    functionUses: 14
    functionsReached:
    - lwgeom_parse_wkt
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_from_text(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:40,1
    - Dst: lwgeom_grid
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:43,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:45,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - geom
    - prec
    argTypes:
    - LWGEOM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 10
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: lwgeom_to_text
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
    functionUses: 5
    functionsReached:
    - lwgeom_grid
    - memset
    - lwgeom_free
    - lwgeom_to_wkt
    linkageType: ''
    returnType: char
    signature: char * lwgeom_to_text(const LWGEOM *geom, int prec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:66,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:68,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:69,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:70,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:71,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:72,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:75,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:76,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:77,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:78,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:79,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:81,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:82,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:83,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:84,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:85,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:87,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:88,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:89,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:90,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:91,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:93,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:94,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:95,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:96,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:97,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:98,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:101,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:103,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:104,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:105,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:106,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:107,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:109,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:110,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:111,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:112,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:113,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:116,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:117,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:118,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:119,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:120,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:124,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:128,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:129,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:130,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:131,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:134,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:137,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:139,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:141,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:141,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:142,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:143,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:153,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:156,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:157,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:158,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:159,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:160,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:162,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:163,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:164,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:165,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:167,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:168,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:169,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:170,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:172,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:173,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:174,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:175,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:176,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:178,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:179,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:180,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:181,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:182,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:184,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:185,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:186,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:187,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:188,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:192,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:196,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:197,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:198,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:199,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:202,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:211,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:214,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:215,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:216,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:217,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:218,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:219,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:228,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:231,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:232,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:233,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:234,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:235,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:242,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:243,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:244,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:245,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:246,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:248,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:257,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:261,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:262,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:263,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:264,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:265,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:266,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:267,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:268,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:269,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:270,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:272,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:276,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:277,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:278,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:279,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:281,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:291,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:294,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:295,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:296,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:297,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:298,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:300,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:301,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:302,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:303,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:305,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:306,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:307,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:308,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:310,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:311,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:312,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:313,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:314,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:315,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:317,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:318,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:319,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:320,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:321,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:323,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:324,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:325,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:326,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:327,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:331,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:335,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:336,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:337,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:338,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:341,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:349,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:350,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:353,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:354,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:357,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:358,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:360,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:361,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:362,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:363,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:364,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:365,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:366,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:368,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:368,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:369,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:370,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 186
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 372
    functionName: test_lwcurve_linearize
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - lwgeom_to_text
    - lwgeom_reverse_in_place
    - lwgeom_count_vertices
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - lwgeom_same
    - cu_error_msg_reset
    - fprintf
    - lwfree
    - lwcurve_linearize
    - ASSERT_INT_EQUAL
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_lwcurve_linearize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:392,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:393,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:394,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:396,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:397,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:399,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:400,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:401,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:402,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:404,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:405,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:406,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:408,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:409,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:411,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:412,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:413,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:414,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:416,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:417,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:418,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:420,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:421,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:423,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:428,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:429,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:430,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:432,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:433,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:434,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:436,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:437,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:439,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:443,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:444,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:445,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:447,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:448,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:449,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:451,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:452,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:453,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:454,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:455,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:457,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:461,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:462,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:463,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:464,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:465,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:466,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:467,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:469,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:470,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:471,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:472,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:474,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:475,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:476,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:478,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:479,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:480,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:481,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:483,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:484,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:485,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:488,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:489,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:490,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:492,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:493,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:494,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:495,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:497,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:498,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:499,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:501,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:502,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:503,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:504,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:505,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:506,1
    - Dst: lwgeom_from_text
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:508,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:509,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:510,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:512,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:513,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:515,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:516,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:517,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 374
    functionDepth: 10
    functionLinenumber: 374
    functionLinenumberEnd: 519
    functionName: test_unstroke
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - lwgeom_stroke
    - lwgeom_unstroke
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_from_text
    linkageType: ''
    returnType: void
    signature: void test_unstroke()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:527,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:528,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_lwstroke.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: lwstroke_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void lwstroke_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:30,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:30,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:31,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:36,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:40,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:43,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: test_tree_circ_create
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_free
    - circ_tree_new
    - CU_ASSERT
    - lwline_free
    - lwgeom_from_wkt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void test_tree_circ_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:61,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:61,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:62,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:63,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:64,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:69,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:70,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:73,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:74,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:79,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:79,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:80,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:82,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:83,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:89,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:92,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:93,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:98,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:98,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:99,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:103,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:110,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:113,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 116
    functionName: test_tree_circ_pip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_contains_point
    - circ_tree_free
    - circ_tree_new
    - CU_ASSERT_EQUAL
    - lwline_free
    - lwgeom_from_wkt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void test_tree_circ_pip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:128,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:129,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:133,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:134,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:135,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:137,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:138,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:139,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:140,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:141,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:143,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:144,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:145,1
    - Dst: lwpoint_getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:146,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:147,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:148,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:150,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:151,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:152,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:153,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:154,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:155,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:156,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:158,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:159,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:160,1
    - Dst: lwpoint_getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:161,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:162,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:163,1
    - Dst: circ_tree_new
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:165,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:166,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:167,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:168,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:169,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:170,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 118
    functionDepth: 12
    functionLinenumber: 118
    functionLinenumberEnd: 173
    functionName: test_tree_circ_pip2
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - circ_tree_contains_point
    - circ_tree_free
    - circ_tree_new
    - lwgeom_calculate_gbox_geodetic
    - CU_ASSERT_EQUAL
    - lwpoly_covers_point2d
    - lwgeom_as_lwpoly
    - lwpoint_getPoint2d_p
    - lwgeom_from_hexwkb
    - gbox_pt_outside
    - lwpoint_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_tree_circ_pip2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:184,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:188,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:189,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:190,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:191,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:192,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:193,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:206,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:207,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:208,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:209,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:210,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:216,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:218,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:219,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:220,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:221,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:222,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:225,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:226,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:227,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:228,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:229,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:233,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:234,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:235,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:236,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:237,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:238,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:239,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:240,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:241,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:242,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:243,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:246,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:247,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:248,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:249,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:250,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:251,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:252,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:253,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:254,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:255,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:256,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:258,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:259,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:260,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:261,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:262,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:263,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:264,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:265,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:266,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:267,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:268,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:270,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:271,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:272,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:273,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:274,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:275,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:276,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:277,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:278,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:279,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:280,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:282,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:283,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:284,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:285,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:286,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:287,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:288,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:289,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:290,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:291,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:292,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:294,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:295,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:296,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:297,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:298,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:299,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:304,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:305,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:306,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:307,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:308,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:312,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:313,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:314,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:315,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:316,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:317,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:323,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:324,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:325,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:326,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:327,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:330,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:331,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:332,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:333,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:334,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:335,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:341,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:342,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:343,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:344,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:345,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:348,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:349,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:350,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:351,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:357,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:358,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:359,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:360,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:362,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:363,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:364,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:365,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:366,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:367,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:368,1
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:374,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:375,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:376,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:377,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:378,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:379,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:380,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:381,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:382,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:383,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:384,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:385,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 176
    functionDepth: 8
    functionLinenumber: 176
    functionLinenumberEnd: 387
    functionName: test_tree_circ_distance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_distance_tree
    - lwgeom_free
    - circ_tree_free
    - CU_ASSERT_DOUBLE_EQUAL
    - lwgeom_calculate_circ_tree
    - lwgeom_from_hexwkb
    - lwgeom_distance_spheroid
    - spheroid_init
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_tree_circ_distance(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:404,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:408,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:409,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:411,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:412,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:417,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:419,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:420,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:423,1
    - Dst: CU_FAIL_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:428,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:432,1
    - Dst: circ_tree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:433,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:434,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 389
    functionDepth: 8
    functionLinenumber: 389
    functionLinenumberEnd: 438
    functionName: test_tree_circ_distance_threshold
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - circ_tree_distance_tree
    - lwgeom_free
    - circ_tree_free
    - printf
    - lwgeom_calculate_circ_tree
    - lwgeom_from_hexwkb
    - lwgeom_distance_spheroid
    - spheroid_init
    - lwgeom_from_wkt
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: void
    signature: void test_tree_circ_distance_threshold(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:446,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:447,1
    - Dst: CU_FAIL_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:449,1
    - Dst: itree_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:450,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:451,1
    - Dst: itree_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:452,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:453,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - polyWkt
    - x
    - y
    - iexp
    argTypes:
    - char*
    - double
    - double
    - IntervalTreeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 6
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: test_itree_once
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - itree_point_in_multipolygon
    - CU_ASSERT_EQUAL
    - itree_free
    - itree_from_lwgeom
    - lwpoint_free
    - lwpoint_make2d
    - lwgeom_from_wkt
    - CU_FAIL_FATAL
    linkageType: ''
    returnType: void
    signature: "void test_itree_once(\n\tconst char *polyWkt, double x, double y,\n\tIntervalTreeResult
      iexp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:464,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:466,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:468,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:470,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:472,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:474,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 7
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: test_itree_square
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - test_itree_once
    linkageType: ''
    returnType: void
    signature: void test_itree_square(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:487,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:489,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:491,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:493,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:495,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:497,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:499,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:501,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 479
    functionDepth: 7
    functionLinenumber: 479
    functionLinenumberEnd: 504
    functionName: test_itree_hole
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - test_itree_once
    linkageType: ''
    returnType: void
    signature: void test_itree_hole(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:514,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:516,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:518,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:520,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:522,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:524,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:526,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:528,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 7
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: test_itree_hole_spike
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - test_itree_once
    linkageType: ''
    returnType: void
    signature: void test_itree_hole_spike(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:538,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:542,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:546,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:555,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:557,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:559,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:561,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:563,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:565,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:567,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:569,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:571,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:581,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:583,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:585,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:587,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:589,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:591,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:593,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:595,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:597,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 600
    functionName: test_itree_multipoly_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - test_itree_once
    linkageType: ''
    returnType: void
    signature: void test_itree_multipoly_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:606,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:610,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:611,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:612,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:616,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:617,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:621,1
    - Dst: test_itree_once
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 602
    functionDepth: 7
    functionLinenumber: 602
    functionLinenumberEnd: 623
    functionName: test_itree_degenerate_poly
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - test_itree_once
    linkageType: ''
    returnType: void
    signature: void test_itree_degenerate_poly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:633,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:634,1
    - Dst: geography_tree_closestpoint
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:635,1
    - Dst: lwpoint_getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:638,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:639,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:640,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:642,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:643,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 8
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: test_geography_tree_closestpoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_DOUBLE_EQUAL
    - geography_tree_closestpoint
    - lwpoint_getPoint2d_p
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geography_tree_closestpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:653,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:654,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:655,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:656,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:657,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:658,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:659,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:660,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:661,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:662,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:663,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_tree.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 665
    functionName: tree_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tree.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void tree_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytebuffer_create_with_size
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:28,1
    - Dst: bytebuffer_append_varint
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:30,1
    - Dst: bytebuffer_reset_reading
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:33,1
    - Dst: bytebuffer_read_varint
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:35,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:37,1
    - Dst: bytebuffer_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: test_bytebuffer_append
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c
    functionUses: 0
    functionsReached:
    - bytebuffer_destroy
    - bytebuffer_append_varint
    - bytebuffer_read_varint
    - bytebuffer_create_with_size
    - bytebuffer_reset_reading
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_bytebuffer_append(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:29,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:31,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:34,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:35,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:36,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:39,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:40,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:41,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:44,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:46,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:49,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:50,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:51,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:54,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:55,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:56,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:59,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:61,1
    - Dst: TYPMOD_SET_TYPE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:63,1
    - Dst: TYPMOD_GET_TYPE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:65,1
    - Dst: TYPMOD_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:67,1
    - Dst: TYPMOD_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:69,1
    - Dst: TYPMOD_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:71,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 74
    functionName: test_typmod_macros
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - TYPMOD_SET_Z
    - CU_ASSERT_EQUAL
    - TYPMOD_GET_Z
    - TYPMOD_SET_SRID
    - TYPMOD_GET_SRID
    - TYPMOD_GET_M
    - TYPMOD_GET_TYPE
    - TYPMOD_SET_TYPE
    linkageType: ''
    returnType: void
    signature: void test_typmod_macros(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:80,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:80,1
    - Dst: G1FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:81,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:82,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:82,1
    - Dst: G1FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:83,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:84,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:84,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:85,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:87,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:87,1
    - Dst: G1FLAGS_SET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:89,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:89,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:91,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:91,1
    - Dst: G1FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:92,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:93,1
    - Dst: G1FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:95,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:95,1
    - Dst: G1FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:96,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:97,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:97,1
    - Dst: g1flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:99,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:101,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:102,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:103,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:103,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:104,1
    - Dst: G1FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:104,1
    - Dst: g1flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:106,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:108,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:109,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:110,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:110,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:111,1
    - Dst: G1FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:111,1
    - Dst: g1flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:113,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:115,1
    - Dst: G1FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:115,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:116,1
    - Dst: G1FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:116,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:117,1
    - Dst: G1FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:117,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:118,1
    - Dst: G1FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 119
    functionName: test_flags_macros
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - G1FLAGS_SET_BBOX
    - G1FLAGS_GET_GEODETIC
    - CU_ASSERT_EQUAL
    - G1FLAGS_GET_ZM
    - G1FLAGS_SET_Z
    - g1flags
    - G1FLAGS_SET_M
    - G1FLAGS_SET_GEODETIC
    - G1FLAGS_GET_Z
    - G1FLAGS_GET_BBOX
    - G1FLAGS_GET_M
    linkageType: ''
    returnType: void
    signature: void test_flags_macros(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:127,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:129,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:132,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:133,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:135,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:138,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:140,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:143,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:144,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:145,1
    - Dst: gserialized1_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:148,1
    - Dst: gserialized1_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:149,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: test_serialized1_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - gserialized1_get_srid
    - CU_ASSERT_EQUAL
    - gserialized1_set_srid
    linkageType: ''
    returnType: void
    signature: void test_serialized1_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:158,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:159,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:160,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:161,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:163,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:164,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:165,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:166,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:168,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:169,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:170,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:171,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:173,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:174,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:175,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:176,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:178,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:180,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:181,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:183,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:185,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:186,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:188,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:189,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:190,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: test_gserialized1_from_lwgeom_size
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - gserialized1_from_lwgeom_size
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_from_lwgeom_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:200,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:201,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:202,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:203,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:208,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:209,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:210,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:211,1
    - Dst: isinf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:211,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:212,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:216,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:217,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:218,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:219,1
    - Dst: isinf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:219,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:220,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:224,1
    - Dst: lwgeom_calculate_gbox_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:225,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:226,1
    - Dst: isnan
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:226,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 195
    functionDepth: 8
    functionLinenumber: 195
    functionLinenumberEnd: 229
    functionName: test_lwgeom_calculate_gbox
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_gbox_cartesian
    - lwgeom_free
    - isinf
    - CU_ASSERT_DOUBLE_EQUAL
    - isnan
    - CU_ASSERT
    - lwgeom_from_hexwkb
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_calculate_gbox(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:272,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:273,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:274,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:275,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:276,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:277,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:279,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:280,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:283,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:286,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:289,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:289,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:291,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:292,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:293,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 231
    functionDepth: 11
    functionLinenumber: 231
    functionLinenumberEnd: 297
    functionName: test_lwgeom_from_gserialized
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized1_from_lwgeom_size
    - CU_ASSERT_EQUAL
    - lwgeom_from_gserialized
    - ASSERT_STRING_EQUAL
    - gbox_same
    - CU_ASSERT
    - lwgeom_add_bbox
    - gbox_float_round
    - gserialized1_from_lwgeom
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_from_gserialized(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:330,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:331,1
    - Dst: gserialized1_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:332,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:334,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:335,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 339
    functionName: test_gserialized1_is_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized1_is_empty
    - CU_ASSERT_EQUAL
    - gserialized1_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_is_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry_type_from_string
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:350,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:352,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:353,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:354,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:355,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:360,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:361,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:362,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:363,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:368,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:369,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:370,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:371,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:374,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:376,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:377,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:378,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:379,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:382,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 386
    functionName: test_geometry_type_from_string
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - geometry_type_from_string
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_geometry_type_from_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:392,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:393,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:393,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:394,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:396,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:397,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:397,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:398,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:400,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:401,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:401,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 404
    functionName: test_lwgeom_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_count_vertices
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_count_vertices(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:412,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:413,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:413,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:414,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:415,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:417,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:418,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:418,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:419,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:421,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:423,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:423,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:424,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: test_on_gser_lwgeom_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_count_vertices
    - CU_ASSERT_EQUAL
    - lwgeom_from_gserialized
    - gserialized1_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_on_gser_lwgeom_count_vertices(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:436,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:438,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:439,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:440,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:442,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:443,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:444,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:446,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:447,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:448,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:450,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:452,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:455,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:456,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:458,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:459,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:460,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:462,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:463,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:464,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 430
    functionDepth: 5
    functionLinenumber: 430
    functionLinenumberEnd: 467
    functionName: test_lwcollection_extract
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - lwcollection_free
    - lwgeom_from_wkt
    - lwcollection_extract
    linkageType: ''
    returnType: void
    signature: void test_lwcollection_extract(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:474,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:475,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:476,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:479,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:480,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:481,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:484,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:485,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:486,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:489,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:490,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 493
    functionName: test_lwgeom_free
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_free(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:502,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:503,1
    - Dst: lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:512,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:516,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:517,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:520,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:521,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:522,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:523,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:525,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:527,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 495
    functionDepth: 10
    functionLinenumber: 495
    functionLinenumberEnd: 529
    functionName: do_lwgeom_swap_ordinates
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - strcmp
    - lwgeom_free
    - CU_ASSERT_DOUBLE_EQUAL
    - ASSERT_STRING_EQUAL
    - lwgeom_add_bbox
    - fprintf
    - lwfree
    - lwgeom_from_wkt
    - lwgeom_swap_ordinates
    linkageType: ''
    returnType: void
    signature: void do_lwgeom_swap_ordinates(char *in, char *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:536,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:541,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:546,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:551,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:556,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:561,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:566,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:571,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:576,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:581,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:586,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:591,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:596,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:601,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:606,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:616,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:621,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:626,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:636,1
    - Dst: do_lwgeom_swap_ordinates
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 531
    functionDepth: 11
    functionLinenumber: 531
    functionLinenumberEnd: 645
    functionName: test_lwgeom_swap_ordinates
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - do_lwgeom_swap_ordinates
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_swap_ordinates(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:653,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:654,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:655,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:658,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:660,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:661,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:662,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:664,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:665,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:666,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:668,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:669,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:670,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:673,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:674,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:675,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:678,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:679,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:680,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:683,1
    - Dst: next_float_up
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:684,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:685,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:688,1
    - Dst: next_float_down
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:689,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 691
    functionName: test_f2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - next_float_down
    - CU_ASSERT_DOUBLE_EQUAL
    - next_float_up
    linkageType: ''
    returnType: void
    signature: void test_f2d(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:729,1
    - Dst: lwgeom_clone
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:730,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:731,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:732,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:733,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:734,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:735,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:736,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 699
    functionDepth: 11
    functionLinenumber: 699
    functionLinenumberEnd: 741
    functionName: test_lwgeom_clone
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_clone
    - fprintf
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_clone(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:753,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:754,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:754,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:755,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:757,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:758,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:759,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:760,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:761,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:762,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:765,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:766,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:766,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:767,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:769,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:770,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:771,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:772,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:773,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:774,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:777,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:778,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:778,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:779,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:781,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:782,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:783,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:784,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:785,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:786,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:789,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:790,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:790,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:791,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:793,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:794,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:795,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:796,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:797,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:798,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:803,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:804,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:805,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:809,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:809,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:810,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 746
    functionDepth: 11
    functionLinenumber: 746
    functionLinenumberEnd: 812
    functionName: test_lwgeom_force_clockwise
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - CU_ASSERT_TRUE
    - ASSERT_STRING_EQUAL
    - CU_ASSERT_FALSE
    - CU_ASSERT
    - lwgeom_same
    - fprintf
    - lwgeom_from_hexwkb
    - lwgeom_is_clockwise
    - lwgeom_to_ewkt
    - lwfree
    - lwgeom_from_wkt
    - lwgeom_force_clockwise
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_force_clockwise(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:821,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:822,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:822,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:823,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:825,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:826,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:826,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:827,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:829,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:830,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:830,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:831,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:833,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:834,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:834,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:835,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:837,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:838,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:838,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:839,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:841,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:842,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:842,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:843,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:845,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:846,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:846,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:847,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:849,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:850,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:850,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 817
    functionDepth: 4
    functionLinenumber: 817
    functionLinenumberEnd: 853
    functionName: test_lwgeom_is_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_is_empty
    - lwgeom_from_wkt
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_is_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:862,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:863,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:863,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:864,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:865,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:865,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:866,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:868,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:869,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:869,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:870,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:871,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:871,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:872,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:874,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:875,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:875,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:876,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:877,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:877,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:878,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:880,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:881,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:881,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:882,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:883,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:883,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:884,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:886,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:887,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:887,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:888,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:889,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:889,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:890,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:892,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:893,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:893,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:894,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:895,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:895,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:896,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:898,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:899,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:899,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:900,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:901,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:901,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:902,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:904,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:905,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:905,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:906,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:907,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:907,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:908,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:910,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:911,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:911,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:912,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:914,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:915,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:915,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:916,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:918,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:919,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:919,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:920,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:922,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:923,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:923,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:924,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:926,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:927,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:927,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:928,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:930,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:931,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:932,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:932,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:933,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:934,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:936,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:937,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:938,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:938,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:939,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:940,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:942,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:943,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:944,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:944,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:945,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 858
    functionDepth: 4
    functionLinenumber: 858
    functionLinenumberEnd: 948
    functionName: test_lwgeom_same
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT
    - lwgeom_add_bbox
    - lwgeom_same
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_same(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:959,1
    - Dst: lwgeom_as_curve
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:960,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:962,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:963,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:964,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:965,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:966,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:967,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:968,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:970,1
    - Dst: lwgeom_as_curve
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:971,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:973,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:974,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:975,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:976,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:977,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:978,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:979,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:981,1
    - Dst: lwgeom_as_curve
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:982,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:984,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:985,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:986,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:987,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:988,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:989,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:990,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:992,1
    - Dst: lwgeom_as_curve
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:993,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:995,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:996,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:997,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:998,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:999,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1000,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 953
    functionDepth: 11
    functionLinenumber: 953
    functionLinenumberEnd: 1003
    functionName: test_lwgeom_as_curve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - lwgeom_as_curve
    - ASSERT_STRING_EQUAL
    - fprintf
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_as_curve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1010,1
    - Dst: lwline_from_lwmpoint
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1011,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1012,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1013,1
    - Dst: lwline_length_2d
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1013,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1015,1
    - Dst: lwmpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: test_lwline_from_lwmpoint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwmpoint_free
    - lwline_from_lwmpoint
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lwline_free
    - lwgeom_from_wkt
    - lwline_length_2d
    linkageType: ''
    returnType: void
    signature: void test_lwline_from_lwmpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1029,1
    - Dst: lwgeom_scale
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1031,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1032,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1033,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1034,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1035,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1037,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1038,1
    - Dst: lwgeom_scale
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1040,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1042,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1043,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1044,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1045,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1046,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1047,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1048,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1049,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1022
    functionDepth: 11
    functionLinenumber: 1022
    functionLinenumberEnd: 1051
    functionName: test_lwgeom_scale
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_DOUBLE_EQUAL
    - lwgeom_scale
    - ASSERT_STRING_EQUAL
    - lwgeom_add_bbox
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_scale(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1055,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1056,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1057,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1059,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1060,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1061,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1063,1
    - Dst: gbox_same_2d
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1063,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1064,1
    - Dst: gbox_same_2d
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1064,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1069,1
    - Dst: gserialized1_read_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1071,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1073,1
    - Dst: gbox_same_2d
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1073,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1074,1
    - Dst: gbox_same_2d_float
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1074,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1077,1
    - Dst: gbox_same_2d
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1077,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1078,1
    - Dst: gbox_same_2d_float
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1078,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1080,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1081,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1082,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1053
    functionDepth: 5
    functionLinenumber: 1053
    functionLinenumberEnd: 1084
    functionName: test_gbox_same_2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gbox_same_2d_float
    - CU_ASSERT_FALSE
    - lwgeom_add_bbox
    - gserialized1_from_lwgeom
    - gserialized1_read_gbox_p
    - lwfree
    - CU_ASSERT_TRUE
    - lwgeom_from_wkt
    - gbox_same_2d
    linkageType: ''
    returnType: void
    signature: void test_gbox_same_2d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1102,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1104,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1106,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1108,1
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1110,1
    - Dst: gserialized1_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1110,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1112,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1086
    functionDepth: 5
    functionLinenumber: 1086
    functionLinenumberEnd: 1115
    functionName: test_gserialized1_peek_gbox_p_no_box_when_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - gserialized1_peek_gbox_p
    - CU_ASSERT_FALSE
    - gserialized1_has_bbox
    - gserialized1_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_peek_gbox_p_no_box_when_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1139,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1142,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1143,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1145,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1147,1
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1147,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1149,1
    - Dst: gserialized1_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1150,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1152,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1154,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1154,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1156,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1117
    functionDepth: 7
    functionLinenumber: 1117
    functionLinenumberEnd: 1159
    functionName: test_gserialized1_peek_gbox_p_gets_correct_box
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_free
    - gbox_same
    - lwgeom_calculate_gbox
    - CU_ASSERT_FALSE
    - gserialized1_peek_gbox_p
    - gserialized1_has_bbox
    - gbox_float_round
    - gserialized1_from_lwgeom
    - lwfree
    - CU_ASSERT_TRUE
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_peek_gbox_p_gets_correct_box(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1175,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1177,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1178,1
    - Dst: gserialized1_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1182,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1183,1
    - Dst: gserialized1_from_lwgeom_any
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1187,1
    - Dst: lwflags_get_g1flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1188,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1190,1
    - Dst: gserialized1_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1191,1
    - Dst: gserialized1_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1191,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1193,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1161
    functionDepth: 4
    functionLinenumber: 1161
    functionLinenumberEnd: 1196
    functionName: test_gserialized1_peek_gbox_p_fails_for_unsupported_cases
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - gserialized1_from_lwgeom_size
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - gserialized1_peek_gbox_p
    - lwgeom_drop_bbox
    - CU_ASSERT_FALSE
    - gserialized1_has_bbox
    - lwflags_get_g1flags
    - lwalloc
    - lwfree
    - lwgeom_from_wkt
    - gserialized1_from_lwgeom_any
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_peek_gbox_p_fails_for_unsupported_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1200,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1200,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1201,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1201,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1202,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1202,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1203,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1203,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1204,1
    - Dst: SIGNUM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1205
    functionName: test_signum_macro
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - SIGNUM
    linkageType: ''
    returnType: void
    signature: void test_signum_macro(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1210,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1212,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1213,1
    - Dst: gserialized1_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1214,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1215,1
    - Dst: gserialized1_peek_first_point
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1217,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1218,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - geometry
    - p
    argTypes:
    - char*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1222
    functionName: peek1_point_helper
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT
    - gserialized1_peek_first_point
    - cu_error_msg_reset
    - gserialized1_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: int
    signature: int peek1_point_helper(char *geometry, POINT4D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1229,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1229,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1230,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1231,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1233,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1233,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1234,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1235,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1236,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1238,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1240,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1241,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1243,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1244,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1245,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1246,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1247,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1249,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1249,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1250,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1250,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1251,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1251,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1252,1
    - Dst: peek1_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1224
    functionDepth: 6
    functionLinenumber: 1224
    functionLinenumberEnd: 1253
    functionName: test_gserialized1_peek_first_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - peek1_point_helper
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_gserialized1_peek_first_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1261,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1262,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1263,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1264,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1265,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1266,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1267,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1268,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1269,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1270,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1271,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1272,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1273,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1274,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1275,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1276,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1277,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1278,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1279,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1280,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1281,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1282,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1283,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1284,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1285,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1286,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1287,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized1.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1289
    functionName: gserialized1_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void gserialized1_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:22,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:23,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:25,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:27,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - in
    - out
    - srs
    - precision
    - has_bbox
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 9
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: do_geojson_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 3
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_geojson
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_geojson_test(char * in, char * out, char * srs, int precision,
      int has_bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:34,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:35,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:37,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:38,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:40,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 9
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: do_geojson_unsupported
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_to_geojson
    - cu_error_msg_reset
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_geojson_unsupported(char * in, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:48,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:54,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:60,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:66,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:72,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:78,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: out_geojson_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void out_geojson_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:91,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:97,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: out_geojson_test_dims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void out_geojson_test_dims(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:113,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:119,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:125,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:131,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:137,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:143,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 153
    functionName: out_geojson_test_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void out_geojson_test_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:158,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:164,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:170,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:176,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:182,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:188,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: out_geojson_test_bbox
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void out_geojson_test_bbox(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:203,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:209,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:215,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:221,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:227,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:233,1
    - Dst: do_geojson_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:239,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:245,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:250,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:255,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:260,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:265,1
    - Dst: do_geojson_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 200
    functionDepth: 10
    functionLinenumber: 200
    functionLinenumberEnd: 273
    functionName: out_geojson_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - do_geojson_unsupported
    - do_geojson_test
    linkageType: ''
    returnType: void
    signature: void out_geojson_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:281,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:282,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:283,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:284,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:285,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_geojson.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: out_geojson_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_geojson_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:49,1
    - Dst: lwgeom_geos_noop
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:50,1
    - Dst: CU_ASSERT_PTR_NOT_NULL_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:51,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:52,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:53,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:54,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:55,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:56,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:61,1
    - Dst: lwgeom_geos_noop
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:62,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:63,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:64,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:65,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:66,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:67,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:71,1
    - Dst: lwgeom_geos_noop
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:72,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:73,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:74,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:75,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:76,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 23
    functionDepth: 11
    functionLinenumber: 23
    functionLinenumberEnd: 78
    functionName: test_geos_noop
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_geos_noop
    - lwgeom_free
    - CU_ASSERT_PTR_NOT_NULL_FATAL
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geos_noop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:88,1
    - Dst: lwgeom_linemerge
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:89,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:90,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:91,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:92,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:93,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:94,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:97,1
    - Dst: lwgeom_linemerge
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:98,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:99,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:100,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:101,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:102,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 11
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: test_geos_linemerge
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    - lwgeom_linemerge
    linkageType: ''
    returnType: void
    signature: void test_geos_linemerge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:115,1
    - Dst: lwgeom_offsetcurve
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:116,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:117,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:118,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:119,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:120,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 12
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: test_geos_offsetcurve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_offsetcurve
    - ASSERT_STRING_EQUAL
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geos_offsetcurve(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:129,1
    - Dst: lwgeom_offsetcurve
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:130,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:132,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 12
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: test_geos_offsetcurve_crash
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_offsetcurve
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geos_offsetcurve_crash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:148,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:149,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:150,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:151,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:154,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:158,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:162,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:163,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:164,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 11
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: test_geos_makevalid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_normalize
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkb
    - lwgeom_make_valid
    linkageType: ''
    returnType: void
    signature: void test_geos_makevalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:173,1
    - Dst: lwgeom_segmentize_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:175,1
    - Dst: lwgeom_subdivide
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:177,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:178,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:180,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:181,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:182,1
    - Dst: lwgeom_subdivide
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:184,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:185,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:187,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:188,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:189,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:191,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 169
    functionDepth: 14
    functionLinenumber: 169
    functionLinenumberEnd: 193
    functionName: test_geos_subdivide
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_subdivide
    - CU_ASSERT_EQUAL
    - lwcollection_free
    - lwgeom_segmentize_sphere
    - lwgeom_to_ewkt
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_geos_subdivide(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:201,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:202,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:203,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:204,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:205,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:206,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geos.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: geos_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geos.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void geos_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:22,1
    - Dst: lwgeom_to_x3d3
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:23,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:25,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:27,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - precision
    - option
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: do_x3d3_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_x3d3
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_x3d3_test(char * in, char * out, int precision, int option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:34,1
    - Dst: lwgeom_to_x3d3
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:35,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:37,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:38,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:40,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: do_x3d3_unsupported
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_x3d3
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_x3d3_unsupported(char * in, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:48,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:54,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:60,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: out_x3d3_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - do_x3d3_test
    linkageType: ''
    returnType: void
    signature: void out_x3d3_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:73,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:79,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:91,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:97,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:102,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:108,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:114,1
    - Dst: do_x3d3_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:132,1
    - Dst: do_x3d3_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 141
    functionName: out_x3d3_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - do_x3d3_unsupported
    - do_x3d3_test
    linkageType: ''
    returnType: void
    signature: void out_x3d3_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:146,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:152,1
    - Dst: do_x3d3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: out_x3d3_test_option
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - do_x3d3_test
    linkageType: ''
    returnType: void
    signature: void out_x3d3_test_option(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:171,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:172,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:173,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_x3d.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: out_x3d_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_x3d_suite_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:23,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:26,1
    - Dst: lwpoint_to_latlon
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:27,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:28,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:30,1
    - Dst: CU_FAIL
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:31,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:33,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:34,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:35,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:38,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:40,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - point_wkt
    - format
    - expected
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: test_lwpoint_to_latlon_assert_format
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - CU_get_number_of_failures
    - lwpoint_to_latlon
    - printf
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - strlen
    - lwfree
    - lwpoint_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_assert_format(char *point_wkt, const char
      *format, const char *expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:46,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:47,1
    - Dst: lwpoint_to_latlon
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:48,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:49,1
    - Dst: strlen
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:50,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:52,1
    - Dst: CU_FAIL
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:53,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:57,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - point_wkt
    - format
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: test_lwpoint_to_latlon_assert_error
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - CU_FAIL
    - lwpoint_to_latlon
    - printf
    - cu_error_msg_reset
    - strlen
    - lwfree
    - lwpoint_free
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_assert_error(char *point_wkt, const char
      *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:68,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:73,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:78,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:83,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:88,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:93,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:98,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:103,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:108,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:113,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:118,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:123,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:128,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:133,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:138,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:143,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:148,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:153,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 164
    functionName: test_lwpoint_to_latlon_default_format
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - test_lwpoint_to_latlon_assert_format
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_default_format(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:172,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:173,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:174,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:175,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:176,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:177,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:179,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:180,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:181,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:182,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:183,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:184,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:186,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:187,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:188,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:189,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:190,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:191,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:193,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:194,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:195,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:196,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:197,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: test_lwpoint_to_latlon_format_orders
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - test_lwpoint_to_latlon_assert_format
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_format_orders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:207,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:209,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:212,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:213,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:214,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:216,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:218,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: test_lwpoint_to_latlon_optional_format
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - test_lwpoint_to_latlon_assert_format
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_optional_format(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:227,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:229,1
    - Dst: test_lwpoint_to_latlon_assert_format
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: test_lwpoint_to_latlon_oddball_formats
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - test_lwpoint_to_latlon_assert_format
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_oddball_formats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:240,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:241,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:242,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:243,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:244,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:245,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:246,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:249,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:250,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:253,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:256,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:259,1
    - Dst: test_lwpoint_to_latlon_assert_error
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 265
    functionName: test_lwpoint_to_latlon_bad_formats
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - test_lwpoint_to_latlon_assert_error
    linkageType: ''
    returnType: void
    signature: void test_lwpoint_to_latlon_bad_formats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - precision
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: assert_lwprint_equal
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_lwprint_equal(d, precision, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:281,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:289,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:290,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:296,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:299,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:300,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:304,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:307,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:313,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:314,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:315,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:316,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:317,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:318,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:319,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:320,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:321,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:322,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:323,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:324,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:325,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:326,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:327,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:328,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:329,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:330,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:331,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:332,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:333,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:334,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:335,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:336,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:337,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:338,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:339,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:342,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:343,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:344,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:345,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:346,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:349,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:350,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:351,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:352,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:353,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:354,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:355,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:356,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:357,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:360,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:361,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:362,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:363,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:364,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:365,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:366,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:367,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:368,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:371,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:373,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:376,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:378,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:380,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:381,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:384,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:385,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:388,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:389,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:390,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:391,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:394,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:395,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:400,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:401,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:404,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:405,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:406,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:407,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:408,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:409,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:410,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:411,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:412,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:413,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:414,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:415,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:416,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:417,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:418,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:419,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:437,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:438,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:441,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:442,1
    - Dst: rint
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:447,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:448,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:449,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:452,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:452,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:453,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:453,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:454,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:455,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:456,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:456,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:457,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:457,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:459,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:459,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:460,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:460,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:461,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:462,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:463,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:463,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:464,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:464,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:468,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:469,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:470,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:471,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:472,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:473,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:474,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:475,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:477,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:478,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:479,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:480,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:481,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:482,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:483,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:484,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:485,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:486,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:487,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:488,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:489,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:490,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:491,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:492,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:493,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:494,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:499,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:500,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:501,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:505,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:506,1
    - Dst: assert_lwprint_equal
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 158
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 508
    functionName: test_lwprint
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - nextafter
    - rint
    - assert_lwprint_equal
    linkageType: ''
    returnType: void
    signature: void test_lwprint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: assert_lwprint_roundtrip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_lwprint_roundtrip(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:522,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:522,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:523,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:523,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:526,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:526,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:527,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:527,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:528,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:529,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:530,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:530,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:531,1
    - Dst: nextafter
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:531,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:534,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:535,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:536,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:537,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:538,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:539,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:540,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:541,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:542,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:543,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:546,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:547,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:548,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:549,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:552,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:553,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:554,1
    - Dst: assert_lwprint_roundtrip
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 567
    functionName: test_lwprint_roundtrip
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - assert_lwprint_roundtrip
    - nextafter
    linkageType: ''
    returnType: void
    signature: void test_lwprint_roundtrip(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:575,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:576,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:577,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:578,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:579,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:580,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:581,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_print.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: print_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_print.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void print_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:50,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:52,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:54,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:54,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: count_points_using_iterator
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_next
    - lwpointiterator_destroy
    - lwpointiterator_has_next
    - CU_ASSERT_TRUE
    - lwpointiterator_create
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t count_points_using_iterator(LWGEOM* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:66,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:67,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:72,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:73,1
    - Dst: count_points_using_iterator
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:75,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:77,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:77,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:79,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:85,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 8
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: test_point_count
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - memset
    - lwgeom_free
    - lwgeom_count_vertices
    - CU_ASSERT_EQUAL
    - lwgeom_get_type
    - lwalloc
    - count_points_using_iterator
    - CU_ASSERT_TRUE
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_point_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:94,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:95,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:101,1
    - Dst: lwpointiterator_modify_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:101,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:103,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: test_cannot_modify_read_only
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwpointiterator_destroy
    - CU_ASSERT_EQUAL
    - lwpointiterator_modify_next
    - lwgeom_from_wkt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void test_cannot_modify_read_only(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:115,1
    - Dst: lwpointiterator_create_rw
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:116,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:117,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:119,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:124,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:125,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:126,1
    - Dst: sqrt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:127,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:129,1
    - Dst: lwpointiterator_modify_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:129,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:130,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:130,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:132,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:133,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:136,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:138,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:139,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:142,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:144,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 107
    functionDepth: 7
    functionLinenumber: 107
    functionLinenumberEnd: 147
    functionName: test_modification
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - sqrt
    - lwpointiterator_next
    - lwpointiterator_destroy
    - CU_ASSERT_EQUAL
    - lwpointiterator_has_next
    - lwpointiterator_create_rw
    - lwgeom_has_m
    - lwgeom_has_z
    - CU_ASSERT_TRUE
    - lwpointiterator_modify_next
    - lwgeom_from_wkt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void test_modification(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:152,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:154,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:155,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:156,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:158,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 7
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: test_no_memory_leaked_when_iterator_is_partially_used
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwpointiterator_next
    - lwpointiterator_destroy
    - lwgeom_from_wkt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void test_no_memory_leaked_when_iterator_is_partially_used(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:166,1
    - Dst: lwpointiterator_create_rw
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:167,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:168,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:171,1
    - Dst: lwpointiterator_peek
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:178,1
    - Dst: lwpointiterator_modify_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:183,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:191,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:192,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:204,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:210,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:211,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:214,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 216
    functionName: test_mixed_rw_access
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwpointiterator_peek
    - lwpointiterator_next
    - lwpointiterator_destroy
    - CU_ASSERT_EQUAL
    - lwpointiterator_has_next
    - lwpointiterator_create_rw
    - lwpointiterator_modify_next
    - lwgeom_from_wkt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void test_mixed_rw_access(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:222,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:238,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:241,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:243,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:244,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:245,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:248,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 7
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: test_ordering
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwpointiterator_next
    - lwpointiterator_destroy
    - CU_ASSERT_EQUAL
    - lwpointiterator_has_next
    - lwgeom_from_wkt
    - lwpointiterator_create
    linkageType: ''
    returnType: void
    signature: void test_ordering(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:258,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:259,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:260,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:261,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:262,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:263,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_iterator.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: iterator_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_iterator.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void iterator_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:27,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:30,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:31,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:33,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:34,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:34,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:35,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:35,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:38,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:39,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:40,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:41,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:42,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:43,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:43,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:43,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:46,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:47,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:48,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:49,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:51,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:52,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:52,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:52,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:55,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:56,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:57,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:58,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:60,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:63,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:63,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:63,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:67,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:68,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:70,1
    - Dst: ASSERT_LWGEOM_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:71,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:72,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 20
    functionDepth: 12
    functionLinenumber: 20
    functionLinenumberEnd: 73
    functionName: test_lwgeom_node
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_node.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_FATAL
    - ASSERT_STRING_EQUAL
    - CU_ASSERT
    - lwgeom_same
    - cu_error_msg_reset
    - lwgeom_node
    - lwfree
    - lwgeom_to_ewkt
    - ASSERT_LWGEOM_EQUAL
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_node(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: clean_geos_node_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_node.c
    functionUses: 0
    functionsReached:
    - finishGEOS
    linkageType: ''
    returnType: int
    signature: int clean_geos_node_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:88,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_node.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: node_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_node.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void node_suite_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:25,1
    - Dst: lwgeom_homogenize
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:26,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:27,1
    - Dst: strcmp
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:28,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:29,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:31,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:32,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:33,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 11
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: do_geom_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 2
    functionsReached:
    - strcmp
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_homogenize
    - fprintf
    - lwfree
    - lwgeom_to_ewkt
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_geom_test(char * in, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:41,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:44,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:47,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:50,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:53,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: test_coll_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_coll_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:63,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:66,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:69,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:72,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:75,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: test_coll_line
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_coll_line(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:85,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:88,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:91,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:94,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:97,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: test_coll_poly
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_coll_poly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:108,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:111,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:116,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:119,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:124,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:127,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:132,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:137,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: test_coll_coll
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_coll_coll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:147,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: test_coll_curve
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_coll_curve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:157,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:160,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:163,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:166,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:171,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:176,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:179,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:182,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:185,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:190,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:193,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:196,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:199,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:204,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:209,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:213,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:217,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:221,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:224,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:227,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:230,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:233,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:236,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:240,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:243,1
    - Dst: do_geom_test
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 248
    functionName: test_geom
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - do_geom_test
    linkageType: ''
    returnType: void
    signature: void test_geom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:256,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:257,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:258,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:259,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:260,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:261,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_homogenize.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: homogenize_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_homogenize.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void homogenize_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:26,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:26,1
    - Dst: G2FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:27,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:28,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:28,1
    - Dst: G2FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:29,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:30,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:31,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:31,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:33,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:33,1
    - Dst: G2FLAGS_SET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:34,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:35,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:35,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:37,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:37,1
    - Dst: G2FLAGS_SET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:38,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:39,1
    - Dst: G2FLAGS_GET_BBOX
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:39,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:41,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:41,1
    - Dst: G2FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:42,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:43,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:43,1
    - Dst: g2flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:47,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:47,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:48,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:48,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:49,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:50,1
    - Dst: G2FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:50,1
    - Dst: g2flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:52,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:54,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:54,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:55,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:55,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:56,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:57,1
    - Dst: G2FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:57,1
    - Dst: g2flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:59,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:61,1
    - Dst: G2FLAGS_GET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:61,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:62,1
    - Dst: G2FLAGS_GET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:62,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:63,1
    - Dst: G2FLAGS_GET_M
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:63,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:64,1
    - Dst: G2FLAGS_GET_ZM
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:64,1
    - Dst: G2FLAGS_SET_VERSION
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:67,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:68,1
    - Dst: G2FLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:68,1
    - Dst: G2FLAGS_SET_VERSION
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:69,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:70,1
    - Dst: G2FLAGS_GET_VERSION
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 71
    functionName: test_g2flags_macros
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - G2FLAGS_SET_Z
    - G2FLAGS_GET_VERSION
    - CU_ASSERT_EQUAL
    - G2FLAGS_GET_GEODETIC
    - G2FLAGS_GET_ZM
    - G2FLAGS_GET_Z
    - G2FLAGS_GET_M
    - G2FLAGS_SET_VERSION
    - G2FLAGS_SET_M
    - g2flags
    - G2FLAGS_SET_BBOX
    - G2FLAGS_GET_BBOX
    - G2FLAGS_SET_GEODETIC
    linkageType: ''
    returnType: void
    signature: void test_g2flags_macros(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:80,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:81,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:82,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:86,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:86,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:87,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:88,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:92,1
    - Dst: G2FLAGS_GET_EXTENDED
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:92,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:94,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:95,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:96,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:99,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:99,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: test_gserialized2_extended_flags
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized2
    - gserialized2_from_lwgeom_size
    - CU_ASSERT_EQUAL
    - FLAGS_GET_SOLID
    - G2FLAGS_GET_EXTENDED
    - gserialized2_from_lwgeom
    - lwfree
    - FLAGS_SET_SOLID
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_extended_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:110,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:112,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:115,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:116,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:118,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:121,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:122,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:123,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:126,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:128,1
    - Dst: gserialized2_set_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:131,1
    - Dst: gserialized2_get_srid
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:132,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: test_gserialized2_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - gserialized2_get_srid
    - gserialized2_set_srid
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:141,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:142,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:143,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:144,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:146,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:147,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:149,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:151,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:152,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:153,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:154,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:156,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:157,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:158,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:159,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:161,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:162,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:163,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:164,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:166,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:167,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:168,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:169,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:171,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:173,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 176
    functionName: test_gserialized2_from_lwgeom_size
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    - gserialized2_from_lwgeom_size
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_from_lwgeom_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:220,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:221,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:222,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:223,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:225,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:227,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:228,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:231,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:232,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:233,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:236,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:239,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:239,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:241,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:242,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:243,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:244,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:245,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:248,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:249,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:250,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:251,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:252,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:253,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:254,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:254,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:255,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:256,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:258,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:259,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:260,1
    - Dst: FLAGS_GET_SOLID
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:260,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:261,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:262,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:263,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 179
    functionDepth: 11
    functionLinenumber: 179
    functionLinenumberEnd: 267
    functionName: test_lwgeom_from_gserialized2
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized2
    - gserialized2_from_lwgeom_size
    - CU_ASSERT_EQUAL
    - gbox_same
    - ASSERT_STRING_EQUAL
    - FLAGS_GET_SOLID
    - CU_ASSERT
    - lwgeom_add_bbox
    - gbox_float_round
    - gserialized2_from_lwgeom
    - lwgeom_to_ewkt
    - lwfree
    - LWSIZE_GET
    - FLAGS_SET_SOLID
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_from_gserialized2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:300,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:301,1
    - Dst: gserialized2_is_empty
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:302,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:304,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:305,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 309
    functionName: test_gserialized2_is_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - gserialized2_is_empty
    - gserialized2_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_is_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:319,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:320,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:320,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:321,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:322,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:324,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:325,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:325,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:326,1
    - Dst: lwgeom_from_gserialized2
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:330,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:330,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:331,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: test_on_gser2_lwgeom_count_vertices
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized2
    - lwgeom_count_vertices
    - CU_ASSERT_EQUAL
    - gserialized2_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_on_gser2_lwgeom_count_vertices(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:354,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:356,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:358,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:360,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:360,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:362,1
    - Dst: gserialized2_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:362,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:364,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 338
    functionDepth: 5
    functionLinenumber: 338
    functionLinenumberEnd: 367
    functionName: test_gserialized2_peek_gbox_p_no_box_when_empty
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - gserialized2_peek_gbox_p
    - CU_ASSERT_FALSE
    - gserialized2_has_bbox
    - gserialized2_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_peek_gbox_p_no_box_when_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:391,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:394,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:395,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:397,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:399,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:399,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:401,1
    - Dst: gserialized2_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:402,1
    - Dst: gbox_float_round
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:404,1
    - Dst: CU_ASSERT_TRUE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:406,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:406,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:408,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 411
    functionName: test_gserialized2_peek_gbox_p_gets_correct_box
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_free
    - gbox_same
    - gserialized2_peek_gbox_p
    - lwgeom_calculate_gbox
    - CU_ASSERT_FALSE
    - gserialized2_has_bbox
    - gbox_float_round
    - gserialized2_from_lwgeom
    - lwfree
    - CU_ASSERT_TRUE
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_peek_gbox_p_gets_correct_box(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:427,1
    - Dst: gbox_init
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:429,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:430,1
    - Dst: gserialized2_from_lwgeom_size
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:434,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:435,1
    - Dst: gserialized2_from_lwgeom_any
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:439,1
    - Dst: lwflags_get_g2flags
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:440,1
    - Dst: CU_ASSERT_FALSE
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:442,1
    - Dst: gserialized2_has_bbox
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:442,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:443,1
    - Dst: gserialized2_peek_gbox_p
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:443,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:445,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 448
    functionName: test_gserialized2_peek_gbox_p_fails_for_unsupported_cases
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_free
    - gserialized2_from_lwgeom_size
    - CU_ASSERT_EQUAL
    - gserialized2_peek_gbox_p
    - lwgeom_drop_bbox
    - CU_ASSERT_FALSE
    - gserialized2_has_bbox
    - gserialized2_from_lwgeom_any
    - lwalloc
    - lwfree
    - lwgeom_from_wkt
    - lwflags_get_g2flags
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_peek_gbox_p_fails_for_unsupported_cases(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:453,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:455,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:456,1
    - Dst: gserialized2_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:457,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:458,1
    - Dst: gserialized2_peek_first_point
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:460,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:461,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - geometry
    - p
    argTypes:
    - char*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: peek2_point_helper
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT
    - cu_error_msg_reset
    - gserialized2_from_lwgeom
    - lwfree
    - lwgeom_from_wkt
    - gserialized2_peek_first_point
    linkageType: ''
    returnType: int
    signature: int peek2_point_helper(char *geometry, POINT4D *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:472,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:472,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:473,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:474,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:476,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:476,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:477,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:478,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:479,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:481,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:481,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:482,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:483,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:484,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:486,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:486,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:487,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:488,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:489,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:490,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:492,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:492,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:493,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:493,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:494,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:494,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:495,1
    - Dst: peek2_point_helper
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 496
    functionName: test_gserialized2_peek_first_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - peek2_point_helper
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_gserialized2_peek_first_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:504,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:505,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:506,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:507,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:508,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:509,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:510,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:511,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:512,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:513,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:514,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_gserialized2.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: gserialized2_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void gserialized2_suite_setup(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:162,1
    - Dst: lwgeom_set_debuglogger
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:163,1
    - Dst: CU_initialize_registry
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:166,1
    - Dst: CU_get_error
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:168,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:169,1
    - Dst: CU_basic_set_mode
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:181,1
    - Dst: CU_basic_run_tests
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:184,1
    - Dst: CU_get_registry
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:191,1
    - Dst: CU_get_suite_by_name
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:196,1
    - Dst: CU_get_test_by_name
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:203,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:216,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:223,1
    - Dst: CU_run_test
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:227,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:230,1
    - Dst: CU_get_number_of_asserts
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:234,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:235,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:236,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:243,1
    - Dst: CU_run_suite
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:247,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:250,1
    - Dst: CU_get_number_of_tests_run
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:254,1
    - Dst: CU_get_number_of_tests_failed
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:255,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:256,1
    - Dst: CU_get_number_of_asserts
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:258,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:259,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:260,1
    - Dst: CU_basic_show_failures
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:267,1
    - Dst: CU_get_failure_list
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:267,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:268,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:270,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 0
    functionsReached:
    - printf
    - CU_get_number_of_tests_run
    - CU_cleanup_registry
    - CU_get_error
    - lwgeom_set_debuglogger
    - CU_basic_show_failures
    - CU_get_test_by_name
    - CU_basic_run_tests
    - CU_get_suite_by_name
    - CU_basic_set_mode
    - CU_get_failure_list
    - CU_run_test
    - CU_initialize_registry
    - CU_get_registry
    - CU_get_number_of_asserts
    - CU_get_number_of_failures
    - CU_get_number_of_tests_failed
    - lwgeom_set_handlers
    - CU_run_suite
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: cu_errorreporter
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cu_errorreporter(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:292,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: cu_noticereporter
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cu_noticereporter(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:301,1
    - Dst: fprintf
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: cu_debuglogger
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cu_debuglogger(int level, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: cu_error_msg_reset
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 27
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cu_error_msg_reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:322,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:323,1
    - Dst: transfn
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:324,1
    - Dst: ASSERT_LWGEOM_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:326,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:328,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:329,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_tester.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - (*transfn)(LWGEOM*)
    - input_wkt
    - expected_wkt
    argTypes:
    - LWGEOM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: do_fn_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_tester.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - ASSERT_LWGEOM_EQUAL
    - lwgeom_from_wkt
    - transfn
    linkageType: ''
    returnType: void
    signature: void do_fn_test(LWGEOM* (*transfn)(LWGEOM*), char *input_wkt, char
      *expected_wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:23,1
    - Dst: lwgeom_to_gml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:24,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:26,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:28,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - srs
    - precision
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 8
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: do_gml2_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml2
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml2_test(char * in, char * out, char * srs, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:34,1
    - Dst: lwgeom_to_gml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:35,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:37,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:39,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - in
    - out
    - srs
    - precision
    - prefix
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 8
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: do_gml2_test_prefix
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml2
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml2_test_prefix(char * in, char * out, char * srs, int precision,
      const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:45,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:46,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:48,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:50,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - in
    - out
    - srs
    - precision
    - opts
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 8
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: do_gml3_test_opts
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml3
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml3_test_opts(char * in, char * out, char * srs, int precision,
      int opts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:59,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:60,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:62,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:64,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - in
    - out
    - srs
    - precision
    - is_geodetic
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: do_gml3_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml3
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml3_test(char * in, char * out, char * srs, int precision,
      int is_geodetic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:73,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:74,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:76,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:78,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - in
    - out
    - srs
    - precision
    - is_geodetic
    - prefix
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: do_gml3_test_prefix
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml3
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml3_test_prefix(char * in, char * out, char * srs, int precision,
      int is_geodetic, const char *prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:88,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:89,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:93,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - in
    - out
    - srs
    - precision
    - is_geodetic
    - is_dims
    - prefix
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 8
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: do_gml3_test_nodims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_gml3
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml3_test_nodims(char * in, char * out, char * srs, int precision,
      int is_geodetic, int is_dims, const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:99,1
    - Dst: lwgeom_to_gml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:100,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:102,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:103,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:105,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 8
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: do_gml2_unsupported
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_to_gml2
    - cu_error_msg_reset
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_gml2_unsupported(char * in, char * out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:112,1
    - Dst: lwgeom_extent_to_gml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:113,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:116,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:120,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:123,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:124,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - in
    - out
    - srs
    - precision
    - prefix
    argTypes:
    - char*
    - char*
    - char*
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: do_gml2_extent_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - ASSERT_STRING_EQUAL
    - cu_error_msg_reset
    - lwfree
    - lwgeom_extent_to_gml2
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: "void do_gml2_extent_test(char * in, char * out, char * srs,\n                                   double
      precision, char * prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:131,1
    - Dst: lwgeom_extent_to_gml3
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:132,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:134,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:136,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - in
    - out
    - srs
    - precision
    - opts
    - prefix
    argTypes:
    - char*
    - char*
    - char*
    - double
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: do_gml3_extent_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwfree
    - lwgeom_from_wkt
    - lwgeom_extent_to_gml3
    linkageType: ''
    returnType: void
    signature: "void do_gml3_extent_test(char * in, char * out, char * srs,\n                                double
      precision, int opts, char* prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:143,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:149,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:156,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:162,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:169,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:175,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:182,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 140
    functionDepth: 9
    functionLinenumber: 140
    functionLinenumberEnd: 192
    functionName: out_gml_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test
    - do_gml2_test
    linkageType: ''
    returnType: void
    signature: void out_gml_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:197,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:203,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:210,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:216,1
    - Dst: do_gml3_test_opts
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:222,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:229,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:235,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:242,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:248,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:255,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:262,1
    - Dst: do_gml3_test_opts
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:268,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:275,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:281,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:287,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:293,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:300,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 194
    functionDepth: 9
    functionLinenumber: 194
    functionLinenumberEnd: 310
    functionName: out_gml_test_srid
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test_opts
    - do_gml3_test
    - do_gml2_test
    linkageType: ''
    returnType: void
    signature: void out_gml_test_srid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:316,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 9
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: out_gml_test_geodetic
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test
    linkageType: ''
    returnType: void
    signature: void out_gml_test_geodetic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:332,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:338,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:345,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:351,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:358,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 329
    functionDepth: 9
    functionLinenumber: 329
    functionLinenumberEnd: 368
    functionName: out_gml_test_dims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test
    - do_gml2_test
    linkageType: ''
    returnType: void
    signature: void out_gml_test_dims(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:374,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:380,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:387,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:393,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:399,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:405,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:412,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:419,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:425,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:432,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:438,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:445,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:451,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:458,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:464,1
    - Dst: do_gml2_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:471,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:477,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:483,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:487,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:493,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:498,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:504,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:509,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:513,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:519,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:524,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:530,1
    - Dst: do_gml3_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:535,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:541,1
    - Dst: do_gml2_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 371
    functionDepth: 9
    functionLinenumber: 371
    functionLinenumberEnd: 549
    functionName: out_gml_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml2_unsupported
    - do_gml3_test
    - do_gml2_test
    linkageType: ''
    returnType: void
    signature: void out_gml_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:554,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:560,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:567,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:573,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:580,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:586,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:592,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:599,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:605,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:612,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:618,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:625,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:631,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:637,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:643,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:649,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:655,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:661,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:667,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:675,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:681,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:688,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:694,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:701,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:707,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:713,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:720,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:726,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:733,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:739,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:746,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:752,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:758,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:764,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:770,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:776,1
    - Dst: do_gml2_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:782,1
    - Dst: do_gml3_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 551
    functionDepth: 9
    functionLinenumber: 551
    functionLinenumberEnd: 795
    functionName: out_gml_test_geoms_prefix
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test_prefix
    - do_gml2_test_prefix
    linkageType: ''
    returnType: void
    signature: void out_gml_test_geoms_prefix(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:801,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:808,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:815,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:821,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:828,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:835,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:842,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:848,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:854,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:860,1
    - Dst: do_gml3_test_nodims
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 798
    functionDepth: 9
    functionLinenumber: 798
    functionLinenumberEnd: 870
    functionName: out_gml_test_geoms_nodims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_test_nodims
    linkageType: ''
    returnType: void
    signature: void out_gml_test_geoms_nodims(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:875,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:879,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:883,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:889,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:895,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:901,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:907,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:913,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:919,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:925,1
    - Dst: do_gml2_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 872
    functionDepth: 7
    functionLinenumber: 872
    functionLinenumberEnd: 936
    functionName: out_gml2_extent
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml2_extent_test
    linkageType: ''
    returnType: void
    signature: void out_gml2_extent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:941,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:945,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:949,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:955,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:961,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:967,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:971,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:975,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:979,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:985,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:991,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:997,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1003,1
    - Dst: do_gml3_extent_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 938
    functionDepth: 7
    functionLinenumber: 938
    functionLinenumberEnd: 1014
    functionName: out_gml3_extent
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - do_gml3_extent_test
    linkageType: ''
    returnType: void
    signature: void out_gml3_extent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1022,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1023,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1024,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1025,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1026,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1027,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1028,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1029,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1030,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_gml.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1032
    functionName: out_gml_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_gml.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_gml_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create_with_size
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:27,1
    - Dst: stringbuffer_append
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:28,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:29,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:31,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: test_stringbuffer_append
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_destroy
    - ASSERT_STRING_EQUAL
    - stringbuffer_append
    - stringbuffer_create_with_size
    - stringbuffer_getstring
    linkageType: ''
    returnType: void
    signature: void test_stringbuffer_append(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create_with_size
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:41,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:42,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:43,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:45,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: test_stringbuffer_aprintf
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c
    functionUses: 0
    functionsReached:
    - stringbuffer_destroy
    - stringbuffer_aprintf
    - ASSERT_STRING_EQUAL
    - stringbuffer_create_with_size
    - stringbuffer_getstring
    linkageType: ''
    returnType: void
    signature: void test_stringbuffer_aprintf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:59,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:60,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: stringbuffer_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void stringbuffer_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:28,1
    - Dst: lwmline_construct_empty
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:31,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:33,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:33,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:35,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:37,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:37,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:40,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:41,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:42,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:43,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:45,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:45,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:48,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:50,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:51,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:53,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:53,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:57,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:58,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:59,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:61,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:61,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:65,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:66,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:67,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:69,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:69,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:72,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:74,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:75,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:77,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:79,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:79,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:81,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:82,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:82,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:84,1
    - Dst: lwline_split_by_point_to
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:86,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:87,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:88,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 91
    functionName: test_lwline_split_by_point_to
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_split.c
    functionUses: 0
    functionsReached:
    - lwmline_construct_empty
    - lwgeom_as_lwpoint
    - lwline_split_by_point_to
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - lwcollection_free
    - cu_error_msg_reset
    - lwline_free
    - lwpoint_free
    - lwgeom_from_wkt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void test_lwline_split_by_point_to(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:98,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:99,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:100,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:101,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:102,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:103,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:104,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:106,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:107,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:108,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:109,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:110,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:113,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:114,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:115,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:116,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:117,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:118,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:120,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:121,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:122,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:123,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:124,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:127,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:128,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:129,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:130,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:131,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:132,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:134,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:135,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:136,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:137,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:138,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:141,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:142,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:143,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:144,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:145,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:147,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:148,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:149,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:152,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:153,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:154,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:155,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:156,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:157,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:158,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:159,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:160,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:161,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:164,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:165,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:166,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:167,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:169,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:170,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:171,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:172,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:174,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:175,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:176,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:177,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:178,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:181,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:182,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:183,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:184,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:186,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:187,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:188,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:189,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:191,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:192,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:193,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:194,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:195,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:198,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:199,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:200,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:201,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:203,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:204,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:205,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:206,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:208,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:209,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:210,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:211,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:212,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:215,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:216,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:217,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:219,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:221,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:222,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:223,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:224,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:226,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:227,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:228,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:229,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:230,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:233,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:234,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:235,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:236,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:238,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:239,1
    - Dst: lwgeom_to_ewkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:240,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:241,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:243,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:244,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:245,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:246,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:247,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:250,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:251,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:252,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:253,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:254,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:256,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:259,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:260,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:261,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:262,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:263,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:264,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:265,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:266,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:267,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:268,1
    - Dst: ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:269,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:271,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:272,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:273,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:276,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:277,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:278,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:278,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:278,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:279,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:280,1
    - Dst: CU_ASSERT_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:281,1
    - Dst: ASSERT_INT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:282,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:282,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:283,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:284,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 162
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 93
    functionDepth: 13
    functionLinenumber: 93
    functionLinenumberEnd: 286
    functionName: test_lwgeom_split
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_split.c
    functionUses: 0
    functionsReached:
    - lwgeom_split
    - lwgeom_free
    - ASSERT_DOUBLE_EQUAL
    - lwgeom_as_lwcollection
    - CU_ASSERT_FATAL
    - ASSERT_STRING_EQUAL
    - printf
    - CU_ASSERT
    - lwgeom_normalize
    - lwpoint_as_lwgeom
    - lwfree
    - lwgeom_to_ewkt
    - getPoint2d_p
    - lwline_get_lwpoint
    - ASSERT_INT_EQUAL
    - lwgeom_from_wkt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_split(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finishGEOS
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: clean_geos_split_suite
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_split.c
    functionUses: 0
    functionsReached:
    - finishGEOS
    linkageType: ''
    returnType: int
    signature: int clean_geos_split_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:301,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:302,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_split.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: split_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_split.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void split_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:34,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:35,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:36,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - GEOGRAPHIC_EDGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: edge_deg2rad
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - deg2rad
    linkageType: ''
    returnType: void
    signature: void edge_deg2rad(GEOGRAPHIC_EDGE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: latitude_radians_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:56,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:56,1
    - Dst: longitude_radians_normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:57,1
    - Dst: deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: point_deg2rad
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - latitude_radians_normalize
    - deg2rad
    - longitude_radians_normalize
    linkageType: ''
    returnType: void
    signature: void point_deg2rad(GEOGRAPHIC_POINT *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:65,1
    - Dst: rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: point_rad2deg
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - rad2deg
    linkageType: ''
    returnType: void
    signature: void point_rad2deg(GEOGRAPHIC_POINT *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:74,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:75,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:76,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:77,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:79,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:80,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:82,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:83,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:84,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:85,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:87,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: test_sphere_direction
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - sphere_direction
    - sphere_distance
    - CU_ASSERT_DOUBLE_EQUAL
    - geographic_point_init
    linkageType: ''
    returnType: void
    signature: void test_sphere_direction(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:100,1
    - Dst: sphere_project
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:101,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:103,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:104,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:107,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:108,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:110,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:111,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:113,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:114,1
    - Dst: sphere_project
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:115,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:117,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:118,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:120,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:121,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:122,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:123,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:125,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:126,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:128,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:129,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:130,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:131,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:133,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:134,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:136,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:137,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:138,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:140,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:141,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:143,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:144,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:145,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:147,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:148,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:150,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:151,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:152,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:154,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:155,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:157,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:158,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:159,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:161,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:162,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:164,1
    - Dst: sphere_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:165,1
    - Dst: sphere_direction
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:166,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:168,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 170
    functionName: test_sphere_project
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - sphere_direction
    - CU_ASSERT_DOUBLE_EQUAL
    - sphere_distance
    - geographic_point_init
    - sphere_project
    linkageType: ''
    returnType: void
    signature: void test_sphere_project(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:191,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:192,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:196,1
    - Dst: ll2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:197,1
    - Dst: robust_cross_product
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:200,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:201,1
    - Dst: unit_normal
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:204,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:208,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:209,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:210,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:211,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:212,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 221
    functionName: cross_product_stability
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - unit_normal
    - normalize
    - printf
    - ll2cart
    - robust_cross_product
    - geographic_point_init
    linkageType: ''
    returnType: void
    signature: void cross_product_stability(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_reference_data
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:244,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:246,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:246,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:247,1
    - Dst: srandomdev
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:249,1
    - Dst: random
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:253,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:253,1
    - Dst: random
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:254,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:254,1
    - Dst: random
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:258,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:258,1
    - Dst: random
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:259,1
    - Dst: pow
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:259,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:264,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:266,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:270,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:271,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:272,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:273,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:274,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:275,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:277,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:278,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:279,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:280,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:281,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:281,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:282,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:282,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:283,1
    - Dst: CU_FAIL_FATAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:284,1
    - Dst: Slow
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:284,1
    - Dst: fast
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:284,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 291
    functionName: test_gbox_from_spherical_coordinates
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - FLAGS_SET_GEODETIC
    - fast
    - srandomdev
    - lwgeom_calculate_gbox_geodetic
    - lwline_as_lwgeom
    - fabs
    - printf
    - Slow
    - pow
    - lwline_construct
    - gbox_to_string
    - ptarray_construct_reference_data
    - CU_FAIL_FATAL
    - random
    linkageType: ''
    returnType: void
    signature: void test_gbox_from_spherical_coordinates(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:305,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:306,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:308,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:309,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:311,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:313,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:315,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:317,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:317,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:318,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:318,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:319,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:319,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:319,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:319,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:320,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:322,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:323,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:324,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:325,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:326,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 295
    functionDepth: 7
    functionLinenumber: 295
    functionLinenumberEnd: 330
    functionName: test_gserialized_get_gbox_geocentric
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - FLAGS_SET_GEODETIC
    - fabs
    - CU_ASSERT_DOUBLE_EQUAL
    - printf
    - lwgeom_calculate_gbox
    - lwgeom_from_wkt
    - gbox_to_string
    linkageType: ''
    returnType: void
    signature: void test_gserialized_get_gbox_geocentric(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - lon1
    - lat1
    - lon2
    - lat2
    - e
    argTypes:
    - double
    - double
    - double
    - double
    - GEOGRAPHIC_EDGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: edge_set
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - edge_deg2rad
    linkageType: ''
    returnType: void
    signature: void edge_set(double lon1, double lat1, double lon2, double lat2, GEOGRAPHIC_EDGE
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_deg2rad
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lon
    - lat
    - p
    argTypes:
    - double
    - double
    - GEOGRAPHIC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: point_set
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - point_deg2rad
    linkageType: ''
    returnType: void
    signature: void point_set(double lon, double lat, GEOGRAPHIC_POINT *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:370,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:371,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:373,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:374,1
    - Dst: clairaut_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:376,1
    - Dst: clairaut_geographic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:377,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:379,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:380,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:381,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:382,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:389,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:390,1
    - Dst: clairaut_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:392,1
    - Dst: clairaut_geographic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:393,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:395,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:396,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:397,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 399
    functionName: test_clairaut
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - point_set
    - clairaut_geographic
    - CU_ASSERT_DOUBLE_EQUAL
    - clairaut_cartesian
    - geog2cart
    linkageType: ''
    returnType: void
    signature: void test_clairaut(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:408,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:409,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:410,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:411,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:422,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:423,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:426,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:427,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:428,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:444,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:445,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:446,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:447,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:448,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:449,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:450,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:453,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:454,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:456,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:459,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:460,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:461,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:462,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:464,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:465,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:466,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:467,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:468,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:470,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:471,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:474,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:475,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:476,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:477,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:479,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:480,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:481,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:482,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:483,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:485,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:486,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:487,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:490,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:491,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:492,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:493,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:494,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:495,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:495,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:496,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:499,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:500,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:501,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:502,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:503,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:504,1
    - Dst: fabs
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:504,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:505,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:508,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:509,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:510,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:511,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:512,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:513,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:516,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:517,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:518,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:519,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:520,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:523,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:524,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:525,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:526,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:527,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:530,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:531,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:532,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:533,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:535,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:536,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:537,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:538,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:539,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:541,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:542,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:545,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:546,1
    - Dst: edge_intersection
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:547,1
    - Dst: point_rad2deg
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:548,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:550,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:551,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:552,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:553,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:554,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:556,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 401
    functionDepth: 6
    functionLinenumber: 401
    functionLinenumberEnd: 559
    functionName: test_edge_intersection
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - edge_set
    - edge_intersection
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - fabs
    - printf
    - point_rad2deg
    linkageType: ''
    returnType: void
    signature: void test_edge_intersection(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:563,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:569,1
    - Dst: exit
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:570,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:573,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:574,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:575,1
    - Dst: geographic_point_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:576,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:577,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:578,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - wkt
    - A1
    - A2
    argTypes:
    - char*
    - POINT3D*
    - POINT3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 581
    functionName: line2pts
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - printf
    - getPoint2d_p
    - exit
    - lwline_free
    - lwgeom_from_wkt
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: void
    signature: void line2pts(const char *wkt, POINT3D *A1, POINT3D *A2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:590,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:591,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:592,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:593,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:596,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:597,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:598,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:599,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:604,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:607,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:610,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:613,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:614,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:615,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:620,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:623,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:626,1
    - Dst: geog2cart
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:629,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:630,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:631,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:634,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:635,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:636,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:639,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:640,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:641,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:642,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:645,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:646,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:647,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:648,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:651,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:652,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:653,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:654,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:657,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:658,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:659,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:660,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:663,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:664,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:665,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:666,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:669,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:670,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:671,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:672,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:675,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:676,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:677,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:678,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:681,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:682,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:683,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:684,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:687,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:688,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:689,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:690,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:693,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:694,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:695,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:696,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:699,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:700,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:701,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:702,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:708,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:709,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:710,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:711,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:713,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:714,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:715,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:716,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:718,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:719,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:720,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:721,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:723,1
    - Dst: line2pts
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:724,1
    - Dst: edge_intersects
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:725,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 728
    functionName: test_edge_intersects
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - geog2cart
    - line2pts
    - CU_ASSERT
    - edge_intersects
    linkageType: ''
    returnType: void
    signature: void test_edge_intersects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:738,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:739,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:740,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:741,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:744,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:745,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:746,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:748,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:749,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:750,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:752,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:753,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:754,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:757,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:758,1
    - Dst: edge_distance_to_point
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:759,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:760,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:763,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 765
    functionName: test_edge_distance_to_point
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - edge_set
    - point_set
    - edge_distance_to_point
    - CU_ASSERT_DOUBLE_EQUAL
    - printf
    linkageType: ''
    returnType: void
    signature: void test_edge_distance_to_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:774,1
    - Dst: edge_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:775,1
    - Dst: edge_distance_to_edge
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:776,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:778,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:779,1
    - Dst: printf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:780,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:782,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:783,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:784,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:785,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 787
    functionName: test_edge_distance_to_edge
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - edge_set
    - edge_distance_to_edge
    - CU_ASSERT_DOUBLE_EQUAL
    - printf
    linkageType: ''
    returnType: void
    signature: void test_edge_distance_to_edge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:799,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:800,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:801,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:802,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wkt
    - g
    argTypes:
    - char*
    - GSERIALIZED**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: lwgeom_over_gserialized
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - FLAGS_SET_GEODETIC
    - gserialized_from_lwgeom
    - lwgeom_from_gserialized
    - lwgeom_from_wkt
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * lwgeom_over_gserialized(char *wkt, GSERIALIZED **g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_over_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:830,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:831,1
    - Dst: lwgeom_check_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:831,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:832,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:833,1
    - Dst: lwgeom_over_gserialized
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:840,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:841,1
    - Dst: lwgeom_check_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:841,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:844,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 806
    functionDepth: 7
    functionLinenumber: 806
    functionLinenumberEnd: 848
    functionName: test_lwgeom_check_geodetic
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_over_gserialized
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - lwfree
    - lwgeom_check_geodetic
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_check_geodetic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:901,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:902,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:903,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:904,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:905,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:907,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:908,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:909,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:911,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:912,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:913,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:914,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:915,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:917,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:918,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:919,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:921,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:922,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:923,1
    - Dst: gserialized_get_type
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:924,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:925,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:927,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:928,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 894
    functionDepth: 6
    functionLinenumber: 894
    functionLinenumberEnd: 931
    functionName: test_gserialized_from_lwgeom
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - FLAGS_SET_GEODETIC
    - gserialized_from_lwgeom
    - CU_ASSERT_EQUAL
    - lwfree
    - gserialized_get_type
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gserialized_from_lwgeom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:942,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:948,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:949,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:950,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:953,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:959,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:960,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:961,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:964,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:970,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:971,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:972,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:978,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:984,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:985,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:986,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:989,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:995,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:996,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:997,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1000,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1006,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1007,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1008,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1011,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1017,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1018,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1019,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1022,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1028,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1029,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1030,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1033,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1039,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1040,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1041,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1044,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1050,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1051,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1052,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1055,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1061,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1062,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1063,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1066,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1072,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1073,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1074,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1077,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1083,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1084,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1085,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1088,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1094,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1095,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1096,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1099,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1106,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1107,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1110,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1116,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1117,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 933
    functionDepth: 8
    functionLinenumber: 933
    functionLinenumberEnd: 1120
    functionName: test_ptarray_contains_point_sphere
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ptarray_contains_point_sphere
    - CU_ASSERT_EQUAL
    - lwgeom_from_hexwkb
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_ptarray_contains_point_sphere(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1129,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1133,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1134,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1135,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1138,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1142,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1143,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1144,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1147,1
    - Dst: lwpoly_covers_point2d
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1151,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1152,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1122
    functionDepth: 12
    functionLinenumber: 1122
    functionLinenumberEnd: 1155
    functionName: test_lwpoly_covers_point2d
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    - lwpoly_covers_point2d
    linkageType: ''
    returnType: void
    signature: void test_lwpoly_covers_point2d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1159,1
    - Dst: ptarray_contains_point_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1170,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1171,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1157
    functionDepth: 5
    functionLinenumber: 1157
    functionLinenumberEnd: 1174
    functionName: test_ptarray_contains_point_sphere_iowa
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_EQUAL
    - ptarray_contains_point_sphere
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_ptarray_contains_point_sphere_iowa(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1184,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1188,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1189,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1190,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1192,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1193,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1194,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1197,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1198,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1199,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1201,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1202,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1203,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1206,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1207,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1208,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1209,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1210,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1211,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1214,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1215,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1216,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1217,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1218,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1219,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1222,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1223,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1224,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1225,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1226,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1227,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1229,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1230,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1231,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1232,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1233,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1234,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1237,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1238,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1239,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1240,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1241,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1242,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1245,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1246,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1247,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1248,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1249,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1250,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1253,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1254,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1255,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1256,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1257,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1258,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1261,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1262,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1263,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1264,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1265,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1266,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1269,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1270,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1271,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1272,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1273,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1274,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1277,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1278,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1279,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1280,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1281,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1282,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1285,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1286,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1287,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1288,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1289,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1177
    functionDepth: 8
    functionLinenumber: 1177
    functionLinenumberEnd: 1291
    functionName: test_lwgeom_distance_sphere
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_DOUBLE_EQUAL
    - lwgeom_from_hexwkb
    - lwgeom_distance_spheroid
    - spheroid_init
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_distance_sphere(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1305,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1309,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1310,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1311,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1315,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1319,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1320,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1321,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1325,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1329,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1330,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1331,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1335,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1339,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1340,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1341,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1345,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1349,1
    - Dst: point_set
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1350,1
    - Dst: spheroid_distance
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1351,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1357
    functionName: test_spheroid_distance
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - spheroid_distance
    - spheroid_init
    - CU_ASSERT_DOUBLE_EQUAL
    - point_set
    linkageType: ''
    returnType: void
    signature: void test_spheroid_distance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1367,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1369,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1372,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1373,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1377,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1378,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1382,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1383,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1384,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1387,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1388,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1390,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1391,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1394,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1395,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1397,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1400,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1401,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1403,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1404,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1407,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1408,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1410,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1413,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1414,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1416,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1417,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1420,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1421,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1423,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1426,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1427,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1429,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1430,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1433,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1434,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1359
    functionDepth: 6
    functionLinenumber: 1359
    functionLinenumberEnd: 1437
    functionName: test_spheroid_area
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_calculate_gbox_geodetic
    - lwgeom_area_spheroid
    - CU_ASSERT_DOUBLE_EQUAL
    - lwgeom_area_sphere
    - lwflags
    - spheroid_init
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_spheroid_area(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1448,1
    - Dst: lwflags
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1450,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1453,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1454,1
    - Dst: gbox_angular_width
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1455,1
    - Dst: gbox_angular_height
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1456,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1457,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1458,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1459,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1462,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1463,1
    - Dst: gbox_angular_width
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1464,1
    - Dst: gbox_angular_height
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1465,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1467,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1468,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1469,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1472,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1473,1
    - Dst: gbox_centroid
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1474,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1476,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1477,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1439
    functionDepth: 6
    functionLinenumber: 1439
    functionLinenumberEnd: 1480
    functionName: test_gbox_utils
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_calculate_gbox_geodetic
    - CU_ASSERT_DOUBLE_EQUAL
    - lwflags
    - gbox_centroid
    - gbox_angular_height
    - spheroid_init
    - gbox_angular_width
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_gbox_utils(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1487,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1488,1
    - Dst: vector_angle
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1492,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1493,1
    - Dst: vector_angle
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1498,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1499,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1502,1
    - Dst: vector_angle
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1503,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1504,1
    - Dst: normalize
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1507,1
    - Dst: vector_angle
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1508,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1511
    functionName: test_vector_angle
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - vector_angle
    - CU_ASSERT_DOUBLE_EQUAL
    - memset
    - normalize
    linkageType: ''
    returnType: void
    signature: void test_vector_angle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1518,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1519,1
    - Dst: memset
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1520,1
    - Dst: vector_rotate
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1525,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1527,1
    - Dst: vector_rotate
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1530,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1532,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1533,1
    - Dst: vector_rotate
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1536,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1513
    functionDepth: 3
    functionLinenumber: 1513
    functionLinenumberEnd: 1539
    functionName: test_vector_rotate
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - memset
    - vector_rotate
    linkageType: ''
    returnType: void
    signature: void test_vector_rotate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1549,1
    - Dst: lwgeom_segmentize_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1550,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1553,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1554,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1541
    functionDepth: 6
    functionLinenumber: 1541
    functionLinenumberEnd: 1559
    functionName: test_lwgeom_segmentize_sphere
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - lwgeom_free
    - lwgeom_from_wkt
    - lwgeom_segmentize_sphere
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_segmentize_sphere(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1568,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1572,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1573,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1575,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1576,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1579,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1580,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1581,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1582,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1584,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1585,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1586,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1587,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1589,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1590,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1591,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1561
    functionDepth: 4
    functionLinenumber: 1561
    functionLinenumberEnd: 1594
    functionName: test_lwgeom_area_sphere
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_DOUBLE_EQUAL
    - lwgeom_area_sphere
    - spheroid_init
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void test_lwgeom_area_sphere(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1605,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1615,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1616,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1617,1
    - Dst: geography_substring
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1618,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1619,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1620,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1621,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1622,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1624,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1625,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1626,1
    - Dst: geography_substring
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1627,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1628,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1629,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1630,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1631,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1633,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1634,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1635,1
    - Dst: geography_substring
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1636,1
    - Dst: lwgeom_length
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1637,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1638,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1639,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1597
    functionDepth: 5
    functionLinenumber: 1597
    functionLinenumberEnd: 1641
    functionName: test_geography_substring
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - CU_ASSERT_DOUBLE_EQUAL
    - spheroid_init
    - lwgeom_from_wkt
    - lwgeom_length
    - geography_substring
    linkageType: ''
    returnType: void
    signature: void test_geography_substring(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1657,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1658,1
    - Dst: gbox_to_string
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1659,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1661,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1644
    functionDepth: 3
    functionLinenumber: 1644
    functionLinenumberEnd: 1664
    functionName: test_gbox_to_string_truncated
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - ASSERT_STRING_EQUAL
    - lwfree
    - gbox_to_string
    - FLAGS_SET_M
    linkageType: ''
    returnType: void
    signature: void test_gbox_to_string_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1672,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1673,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1675,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1676,1
    - Dst: gbox_geocentric_get_gbox_cartesian
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1679,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1685,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1686,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1687,1
    - Dst: CU_ASSERT
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1666
    functionDepth: 6
    functionLinenumber: 1666
    functionLinenumberEnd: 1689
    functionName: BOX3D_BOXLL_TEST
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_calculate_gbox_geodetic
    - snprintf
    - gbox_geocentric_get_gbox_cartesian
    - CU_ASSERT
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void BOX3D_BOXLL_TEST(double xmin, double ymin, double xmax, double
      ymax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOX3D_BOXLL_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1693,1
    - Dst: BOX3D_BOXLL_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1694,1
    - Dst: BOX3D_BOXLL_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1695,1
    - Dst: BOX3D_BOXLL_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1696,1
    - Dst: BOX3D_BOXLL_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 7
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: test_gbox_geocentric_get_gbox_cartesian
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - BOX3D_BOXLL_TEST
    linkageType: ''
    returnType: void
    signature: void test_gbox_geocentric_get_gbox_cartesian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1707,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1708,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1709,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1710,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1711,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1712,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1713,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1714,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1715,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1716,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1717,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1718,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1719,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1720,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1721,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1722,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1723,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1724,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1725,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1726,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1727,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1728,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1729,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1730,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1731,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_geodetic.c:1732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1733
    functionName: geodetic_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_geodetic.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void geodetic_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:22,1
    - Dst: lwgeom_to_kml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:23,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:25,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:27,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - precision
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: do_kml_test
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_kml2
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_kml_test(char * in, char * out, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:34,1
    - Dst: lwgeom_to_kml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:35,1
    - Dst: ASSERT_STRING_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:37,1
    - Dst: cu_error_msg_reset
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:38,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:40,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: do_kml_unsupported
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_STRING_EQUAL
    - lwgeom_to_kml2
    - cu_error_msg_reset
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_kml_unsupported(char * in, char * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:47,1
    - Dst: lwgeom_to_kml2
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:48,1
    - Dst: ASSERT_VARLENA_EQUAL
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:50,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:52,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - precision
    - prefix
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: do_kml_test_prefix
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ASSERT_VARLENA_EQUAL
    - lwgeom_to_kml2
    - lwfree
    - lwgeom_from_wkt
    linkageType: ''
    returnType: void
    signature: void do_kml_test_prefix(char * in, char * out, int precision, const
      char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:60,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:66,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:72,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: out_kml_test_precision
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - do_kml_test
    linkageType: ''
    returnType: void
    signature: void out_kml_test_precision(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:88,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:94,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: out_kml_test_dims
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - do_kml_test
    linkageType: ''
    returnType: void
    signature: void out_kml_test_dims(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:110,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:116,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:122,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:128,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:134,1
    - Dst: do_kml_test
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:140,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:146,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:151,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:156,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:161,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:166,1
    - Dst: do_kml_unsupported
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 174
    functionName: out_kml_test_geoms
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - do_kml_unsupported
    - do_kml_test
    linkageType: ''
    returnType: void
    signature: void out_kml_test_geoms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:179,1
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:185,1
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:191,1
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:197,1
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:203,1
    - Dst: do_kml_test_prefix
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: out_kml_test_prefix
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - do_kml_test_prefix
    linkageType: ''
    returnType: void
    signature: void out_kml_test_prefix(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:221,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:222,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:223,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:224,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/liblwgeom/cunit/cu_out_kml.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: out_kml_suite_setup
    functionSourceFile: /src/postgis/liblwgeom/cunit/cu_out_kml.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void out_kml_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - LWT_BE_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: lwt_CreateBackendIface
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: LWT_BE_IFACE
    signature: LWT_BE_IFACE * lwt_CreateBackendIface(const LWT_BE_DATA *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iface
    - cb
    argTypes:
    - LWT_BE_IFACE*
    - LWT_BE_CALLBACKS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: lwt_BackendIfaceRegisterCallbacks
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void lwt_BackendIfaceRegisterCallbacks(LWT_BE_IFACE *iface,\n                                       const
      LWT_BE_CALLBACKS* cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - LWT_BE_IFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: lwt_FreeBackendIface
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwt_FreeBackendIface(LWT_BE_IFACE* iface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - be
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: CHECKCB
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKCB(be, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - be
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: CB0
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CB0(be, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - be
    - ','
    - method
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: CB1
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CB1(be, method, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: CBT0
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT0(to, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: CBT1
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT1(to, method, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: CBT2
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT2(to, method, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: CBT3
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT3(to, method, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: CBT4
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT4(to, method, a1, a2, a3, a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: CBT5
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT5(to, method, a1, a2, a3, a4, a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - to
    - ','
    - method
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: CBT6
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBT6(to, method, a1, a2, a3, a4, a5, a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CB0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - be
    argTypes:
    - LWT_BE_IFACE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: lwt_be_lastErrorMessage
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CB0
    linkageType: ''
    returnType: char
    signature: 'char *

      lwt_be_lastErrorMessage(const LWT_BE_IFACE* be)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CB1
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - be
    - name
    argTypes:
    - LWT_BE_IFACE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: lwt_be_loadTopologyByName
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CB1
    linkageType: ''
    returnType: LWT_BE_TOPOLOGY
    signature: 'LWT_BE_TOPOLOGY *

      lwt_be_loadTopologyByName(LWT_BE_IFACE *be, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: lwt_be_topoGetSRID
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT0
    linkageType: ''
    returnType: int
    signature: int lwt_be_topoGetSRID(LWT_TOPOLOGY *topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: lwt_be_topoGetPrecision
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT0
    linkageType: ''
    returnType: double
    signature: double lwt_be_topoGetPrecision(LWT_TOPOLOGY *topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: lwt_be_topoHasZ
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT0
    linkageType: ''
    returnType: int
    signature: int lwt_be_topoHasZ(LWT_TOPOLOGY *topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: lwt_be_freeTopology
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT0
    linkageType: ''
    returnType: int
    signature: int lwt_be_freeTopology(LWT_TOPOLOGY *topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: lwt_be_getNodeById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      lwt_be_getNodeById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT5
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - topo
    - pt
    - dist
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    - uint64_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: lwt_be_getNodeWithinDistance2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT5
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: "LWT_ISO_NODE *\nlwt_be_getNodeWithinDistance2D(LWT_TOPOLOGY *topo,\n
      \            const LWPOINT *pt,\n             double dist,\n             uint64_t
      *numelems,\n             int fields,\n             int64_t limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT4
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: lwt_be_getNodeWithinBox2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT4
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      lwt_be_getNodeWithinBox2D(const LWT_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, uint64_t limit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT4
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: lwt_be_getEdgeWithinBox2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT4
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      lwt_be_getEdgeWithinBox2D(const LWT_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, uint64_t limit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT4
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: lwt_be_getFaceWithinBox2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT4
    linkageType: ''
    returnType: LWT_ISO_FACE
    signature: 'LWT_ISO_FACE *

      lwt_be_getFaceWithinBox2D(const LWT_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, uint64_t limit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - node
    - numelems
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_NODE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: lwt_be_insertNodes
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: int lwt_be_insertNodes(LWT_TOPOLOGY *topo, LWT_ISO_NODE *node, uint64_t
      numelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - face
    - numelems
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_FACE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: lwt_be_insertFaces
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: int lwt_be_insertFaces(LWT_TOPOLOGY *topo, LWT_ISO_FACE *face, uint64_t
      numelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - ids
    - numelems
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: lwt_be_deleteFacesById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: int lwt_be_deleteFacesById(const LWT_TOPOLOGY *topo, const LWT_ELEMID
      *ids, uint64_t numelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - ids
    - numelems
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: lwt_be_deleteNodesById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: int lwt_be_deleteNodesById(const LWT_TOPOLOGY *topo, const LWT_ELEMID
      *ids, uint64_t numelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT0
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: lwt_be_getNextEdgeId
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT0
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_be_getNextEdgeId(LWT_TOPOLOGY* topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: lwt_be_getEdgeById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      lwt_be_getEdgeById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: lwt_be_getFaceById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ISO_FACE
    signature: 'LWT_ISO_FACE *

      lwt_be_getFaceById(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: lwt_be_getEdgeByNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      lwt_be_getEdgeByNode(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT4
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - ids
    - numelems
    - fields
    - box
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: lwt_be_getEdgeByFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT4
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      lwt_be_getEdgeByFace(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields, const GBOX *box)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT4
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - ids
    - numelems
    - fields
    - box
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: lwt_be_getNodeByFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT4
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      lwt_be_getNodeByFace(LWT_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t *numelems,
      int fields, const GBOX *box)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT5
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - topo
    - pt
    - dist
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    - uint64_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: lwt_be_getEdgeWithinDistance2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT5
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: "LWT_ISO_EDGE *\nlwt_be_getEdgeWithinDistance2D(LWT_TOPOLOGY *topo,\n
      \            const LWPOINT *pt,\n             double dist,\n             uint64_t
      *numelems,\n             int fields,\n             int64_t limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - edge
    - numelems
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: lwt_be_insertEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: int lwt_be_insertEdges(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edge, uint64_t
      numelems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT6
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - topo
    - sel_edge
    - sel_fields
    - upd_edge
    - upd_fields
    - exc_edge
    - exc_fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    - LWT_ISO_EDGE*
    - int
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: lwt_be_updateEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT6
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateEdges(LWT_TOPOLOGY* topo,\n  const LWT_ISO_EDGE*
      sel_edge, int sel_fields,\n  const LWT_ISO_EDGE* upd_edge, int upd_fields,\n
      \ const LWT_ISO_EDGE* exc_edge, int exc_fields\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT6
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - topo
    - sel_node
    - sel_fields
    - upd_node
    - upd_fields
    - exc_node
    - exc_fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_NODE*
    - int
    - LWT_ISO_NODE*
    - int
    - LWT_ISO_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: lwt_be_updateNodes
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT6
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateNodes(LWT_TOPOLOGY* topo,\n  const LWT_ISO_NODE*
      sel_node, int sel_fields,\n  const LWT_ISO_NODE* upd_node, int upd_fields,\n
      \ const LWT_ISO_NODE* exc_node, int exc_fields\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - faces
    - numfaces
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_FACE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: lwt_be_updateFacesById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t lwt_be_updateFacesById(LWT_TOPOLOGY* topo,\n  const LWT_ISO_FACE*
      faces, uint64_t numfaces\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - edges
    - numedges
    - upd_fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: lwt_be_updateEdgesById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateEdgesById(LWT_TOPOLOGY* topo,\n  const LWT_ISO_EDGE*
      edges, int numedges, int upd_fields\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - nodes
    - numnodes
    - upd_fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_NODE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: lwt_be_updateNodesById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateNodesById(LWT_TOPOLOGY* topo,\n  const LWT_ISO_NODE*
      nodes, int numnodes, int upd_fields\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT2
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - sel_edge
    - sel_fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: lwt_be_deleteEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT2
    linkageType: ''
    returnType: int
    signature: "int lwt_be_deleteEdges(LWT_TOPOLOGY* topo,\n  const LWT_ISO_EDGE*
      sel_edge, int sel_fields\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - split_edge
    - new_edge1
    - new_edge2
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: lwt_be_updateTopoGeomEdgeSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: int lwt_be_updateTopoGeomEdgeSplit(LWT_TOPOLOGY* topo, LWT_ELEMID split_edge,
      LWT_ELEMID new_edge1, LWT_ELEMID new_edge2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - split_face
    - new_face1
    - new_face2
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: lwt_be_updateTopoGeomFaceSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateTopoGeomFaceSplit(LWT_TOPOLOGY* topo, LWT_ELEMID
      split_face,\n                               LWT_ELEMID new_face1, LWT_ELEMID
      new_face2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - edge_id
    - face_left
    - face_right
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: lwt_be_checkTopoGeomRemEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_checkTopoGeomRemEdge(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id,\n
      \                           LWT_ELEMID face_left, LWT_ELEMID face_right)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT1
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - edge_id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: lwt_be_checkTopoGeomRemIsoEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT1
    linkageType: ''
    returnType: int
    signature: int lwt_be_checkTopoGeomRemIsoEdge(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - node_id
    - eid1
    - eid2
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: lwt_be_checkTopoGeomRemNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_checkTopoGeomRemNode(LWT_TOPOLOGY* topo, LWT_ELEMID node_id,\n
      \                           LWT_ELEMID eid1, LWT_ELEMID eid2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT1
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - node_id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: lwt_be_checkTopoGeomRemIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT1
    linkageType: ''
    returnType: int
    signature: int lwt_be_checkTopoGeomRemIsoNode(LWT_TOPOLOGY* topo, LWT_ELEMID node_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - face1
    - face2
    - newface
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: lwt_be_updateTopoGeomFaceHeal
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateTopoGeomFaceHeal(LWT_TOPOLOGY* topo,\n                             LWT_ELEMID
      face1, LWT_ELEMID face2,\n                             LWT_ELEMID newface)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - edge1
    - edge2
    - newedge
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: lwt_be_updateTopoGeomEdgeHeal
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: int
    signature: "int lwt_be_updateTopoGeomEdgeHeal(LWT_TOPOLOGY* topo,\n                             LWT_ELEMID
      edge1, LWT_ELEMID edge2,\n                             LWT_ELEMID newedge)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - edge
    - numedges
    - limit
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: lwt_be_getRingEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ELEMID
    signature: 'LWT_ELEMID *

      lwt_be_getRingEdges(LWT_TOPOLOGY *topo, LWT_ELEMID edge, uint64_t *numedges,
      uint64_t limit)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getNodeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:382,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - topo
    - pt
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: lwt_be_ExistsCoincidentNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getNodeWithinDistance2D
    - PGTOPO_BE_ERROR
    linkageType: ''
    returnType: int
    signature: int lwt_be_ExistsCoincidentNode(LWT_TOPOLOGY* topo, const LWPOINT*
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getEdgeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:395,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - topo
    - pt
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: lwt_be_ExistsEdgeIntersectingPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - PGTOPO_BE_ERROR
    - lwt_be_getEdgeWithinDistance2D
    linkageType: ''
    returnType: int
    signature: int lwt_be_ExistsEdgeIntersectingPoint(LWT_TOPOLOGY* topo, const LWPOINT*
      pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT3
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - pt
    - numelems
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: lwt_be_getClosestEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT3
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      lwt_be_getClosestEdge(const LWT_TOPOLOGY *topo, const LWPOINT *pt, uint64_t
      *numelems, int fields)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBT1
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - face
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: lwt_be_computeFaceMBR
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - CBT1
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      lwt_be_computeFaceMBR(const LWT_TOPOLOGY *topo, LWT_ELEMID face)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:430,1
    - Dst: lwgeom_snap
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:435,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:437,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:437,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:438,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:438,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:438,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:439,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - src
    - tgt
    - tol
    argTypes:
    - LWGEOM*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 11
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: _lwt_toposnap
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_count_vertices
    - lwgeom_free
    - LWDEBUGF
    - lwgeom_snap
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      _lwt_toposnap(LWGEOM *src, LWGEOM *tgt, double tol)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:454,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - faces
    - num_faces
    argTypes:
    - LWT_ISO_FACE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: _lwt_release_faces
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void _lwt_release_faces(LWT_ISO_FACE *faces, int num_faces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:464,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - edges
    - num_edges
    argTypes:
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: _lwt_release_edges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwline_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void _lwt_release_edges(LWT_ISO_EDGE *edges, int num_edges)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:474,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - nodes
    - num_nodes
    argTypes:
    - LWT_ISO_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: _lwt_release_nodes
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwpoint_free
    - lwfree
    linkageType: ''
    returnType: void
    signature: void _lwt_release_nodes(LWT_ISO_NODE *nodes, int num_nodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_loadTopologyByName
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:491,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:494,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:494,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:497,1
    - Dst: lwt_be_topoGetSRID
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:500,1
    - Dst: lwt_be_topoHasZ
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:501,1
    - Dst: lwt_be_topoGetPrecision
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - iface
    - name
    argTypes:
    - LWT_BE_IFACE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 505
    functionName: lwt_LoadTopology
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_lastErrorMessage
    - lwt_be_topoGetPrecision
    - lwt_be_loadTopologyByName
    - lwerror
    - lwt_be_topoGetSRID
    - lwt_be_topoHasZ
    - lwalloc
    linkageType: ''
    returnType: LWT_TOPOLOGY
    signature: 'LWT_TOPOLOGY *

      lwt_LoadTopology( LWT_BE_IFACE *iface, const char *name )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_freeTopology
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:510,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:511,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:512,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: lwt_FreeTopology
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwfree
    - lwnotice
    - lwt_be_freeTopology
    - lwt_be_lastErrorMessage
    linkageType: ''
    returnType: void
    signature: void lwt_FreeTopology( LWT_TOPOLOGY* topo )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_is_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:531,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:533,1
    - Dst: lwt_be_ExistsCoincidentNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:540,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:542,1
    - Dst: lwt_be_ExistsEdgeIntersectingPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:545,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:547,1
    - Dst: lwt_GetFaceContainingPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:554,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:556,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:567,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:570,1
    - Dst: lwt_be_insertNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:579,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 5
    argNames:
    - topo
    - face
    - pt
    - skipISOChecks
    - checkFace
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 586
    functionName: _lwt_AddIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_ExistsEdgeIntersectingPoint
    - lwerror
    - lwt_be_insertNodes
    - lwt_GetFaceContainingPoint
    - lwpoint_is_empty
    - lwt_be_ExistsCoincidentNode
    - PGTOPO_BE_ERROR
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_AddIsoNode( LWT_TOPOLOGY* topo, LWT_ELEMID face,\n
      \               LWPOINT* pt, int skipISOChecks, int checkFace )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddIsoNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - face
    - pt
    - skipISOChecks
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: lwt_AddIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 1
    functionsReached:
    - _lwt_AddIsoNode
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_AddIsoNode( LWT_TOPOLOGY* topo, LWT_ELEMID face,\n
      \               LWPOINT* pt, int skipISOChecks )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:616,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:618,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:618,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:621,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:624,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:624,1
    - Dst: lwt_be_getNodeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:627,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:629,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:632,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:643,1
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:644,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:647,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:648,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:649,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:653,1
    - Dst: lwt_be_getEdgeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:657,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:658,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:661,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:662,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:676,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:677,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:681,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:681,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:683,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:684,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:685,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:689,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:693,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:694,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:696,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:697,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:698,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:702,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:704,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:707,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:709,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:710,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:711,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:717,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:719,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:720,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:721,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:723,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:725,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:731,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:733,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:734,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:735,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:737,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:739,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:745,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:747,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:748,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:749,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:751,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:753,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:759,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:761,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:762,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:763,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:765,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:767,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:773,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:775,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:776,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:777,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:779,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:781,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:786,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:788,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:790,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:791,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:794,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 140
    argCount: 5
    argNames:
    - topo
    - start_node
    - end_node
    - geom
    - myself
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWLINE*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 605
    functionDepth: 10
    functionLinenumber: 605
    functionLinenumberEnd: 797
    functionName: _lwt_CheckEdgeCrossing
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - getPoint2d_cp
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - LWGEOM2GEOS
    - _lwt_release_nodes
    - lwt_be_getNodeWithinBox2D
    - ptarray_contains_point_partial
    - GEOSGeom_destroy
    - GEOSRelateBoundaryNodeRule
    - GEOSFree
    - initGEOS
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - lwt_be_getEdgeWithinBox2D
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: int
    signature: "int _lwt_CheckEdgeCrossing( LWT_TOPOLOGY* topo,\n                        LWT_ELEMID
      start_node, LWT_ELEMID end_node,\n                        const LWLINE *geom,
      LWT_ELEMID myself )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:819,1
    - Dst: lwgeom_is_simple
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:826,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:826,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:828,1
    - Dst: lwt_be_getNodeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:844,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:848,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:853,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:854,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:862,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:863,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:869,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:870,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:879,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:880,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:881,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:883,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:884,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:892,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:893,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:894,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:896,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:897,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:905,1
    - Dst: _lwt_CheckEdgeCrossing
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:909,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:920,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:922,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:936,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:938,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:941,1
    - Dst: lwt_be_updateNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:955,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:958,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 96
    argCount: 4
    argNames:
    - topo
    - startNode
    - endNode
    - geom
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 800
    functionDepth: 11
    functionLinenumber: 800
    functionLinenumberEnd: 963
    functionName: lwt_AddIsoEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getNextEdgeId
    - lwerror
    - lwline_as_lwgeom
    - _lwt_CheckEdgeCrossing
    - lwt_be_insertEdges
    - _lwt_release_nodes
    - lwgeom_is_simple
    - P2D_SAME_STRICT
    - getPoint2d_p
    - PGTOPO_BE_ERROR
    - lwt_be_updateNodesById
    - lwt_be_getNodeById
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_AddIsoEdge( LWT_TOPOLOGY* topo, LWT_ELEMID startNode,\n
      \               LWT_ELEMID endNode, const LWLINE* geom )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:974,1
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:975,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:976,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:977,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:977,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:980,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:983,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:988,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:993,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1006,1
    - Dst: lwt_be_ExistsCoincidentNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1007,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1009,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1010,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1011,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1014,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1018,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1021,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1022,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1025,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1027,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1028,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1029,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1033,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1033,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1034,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1035,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1036,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1043,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1044,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 5
    argNames:
    - topo
    - edge
    - pt
    - skipISOChecks
    - oldedge
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    - int
    - LWT_ISO_EDGE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 965
    functionDepth: 13
    functionLinenumber: 965
    functionLinenumberEnd: 1049
    functionName: _lwt_EdgeSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_split
    - lwgeom_to_wkt
    - lwgeom_free
    - lwt_be_getEdgeById
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - LWDEBUGG
    - lwpoint_as_lwgeom
    - lwfree
    - lwt_be_ExistsCoincidentNode
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    linkageType: ''
    returnType: LWCOLLECTION
    signature: 'LWCOLLECTION *

      _lwt_EdgeSplit( LWT_TOPOLOGY* topo, LWT_ELEMID edge, LWPOINT* pt, int skipISOChecks,
      LWT_ISO_EDGE** oldedge )'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_EdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1064,1
    - Dst: lwt_be_insertNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1076,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1078,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1079,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1080,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1085,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1086,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1087,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1093,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1095,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1096,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1097,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1107,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1110,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1111,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1112,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1115,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1117,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1118,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1119,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1122,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1123,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1124,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1129,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1132,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1133,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1134,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1139,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1144,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1145,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1146,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1149,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1150,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1151,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1154,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1155,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1156,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1166,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1171,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1172,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1173,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1181,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1186,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1187,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1188,1
    - Dst: lwt_be_updateTopoGeomEdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1193,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1195,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1196,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1197,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1201,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 116
    argCount: 4
    argNames:
    - topo
    - edge
    - pt
    - skipISOChecks
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1051
    functionDepth: 14
    functionLinenumber: 1051
    functionLinenumberEnd: 1206
    functionName: lwt_ModEdgeSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_updateEdges
    - lwerror
    - _lwt_release_edges
    - lwt_be_insertEdges
    - lwt_be_insertNodes
    - _lwt_EdgeSplit
    - lwcollection_free
    - PGTOPO_BE_ERROR
    - lwt_be_updateTopoGeomEdgeSplit
    - lwt_be_getNextEdgeId
    - lwgeom_as_lwline
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_ModEdgeSplit( LWT_TOPOLOGY* topo, LWT_ELEMID edge,\n
      \                 LWPOINT* pt, int skipISOChecks )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_EdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1221,1
    - Dst: lwt_be_insertNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1233,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1235,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1236,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1237,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1241,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1242,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1244,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1251,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1253,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1254,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1255,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1260,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1262,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1263,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1264,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1267,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1269,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1270,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1271,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1287,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1290,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1291,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1292,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1308,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1311,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1312,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1313,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1318,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1320,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1321,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1324,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1325,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1326,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1335,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1340,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1341,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1342,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1349,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1354,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1355,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1356,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1363,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1368,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1369,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1370,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1377,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1382,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1383,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1384,1
    - Dst: lwt_be_updateTopoGeomEdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1389,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1391,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1392,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1393,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1397,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1398,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 141
    argCount: 4
    argNames:
    - topo
    - edge
    - pt
    - skipISOChecks
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1208
    functionDepth: 14
    functionLinenumber: 1208
    functionLinenumberEnd: 1402
    functionName: lwt_NewEdgesSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_updateEdges
    - lwerror
    - _lwt_release_edges
    - lwt_be_insertEdges
    - lwt_be_insertNodes
    - _lwt_EdgeSplit
    - lwcollection_free
    - lwcollection_release
    - lwt_be_updateTopoGeomEdgeSplit
    - PGTOPO_BE_ERROR
    - lwt_be_deleteEdges
    - lwt_be_getNextEdgeId
    - lwgeom_as_lwline
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_NewEdgesSplit( LWT_TOPOLOGY* topo, LWT_ELEMID edge,\n
      \                  LWPOINT* pt, int skipISOChecks )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1444,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1448,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1449,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - pa
    - ref
    - from
    - dir
    - op
    argTypes:
    - POINTARRAY*
    - POINT2D*
    - int
    - int
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1427
    functionDepth: 3
    functionLinenumber: 1427
    functionLinenumberEnd: 1457
    functionName: _lwt_FirstDistinctVertex2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - P2D_SAME_STRICT
    - getPoint2d_p
    linkageType: ''
    returnType: int
    signature: int _lwt_FirstDistinctVertex2D(const POINTARRAY* pa, const POINT2D
      *ref, int from, int dir, POINT2D *op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1478,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1479,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1481,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1484,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1485,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1489,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1493,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1494,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1496,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1499,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1500,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - fee
    - lee
    - edge
    - fp
    - lp
    argTypes:
    - edgeend*
    - edgeend*
    - LWLINE*
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1465
    functionDepth: 4
    functionLinenumber: 1465
    functionLinenumberEnd: 1508
    functionName: _lwt_InitEdgeEndByLine
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwerror
    - _lwt_FirstDistinctVertex2D
    - LWDEBUGF
    - azimuth_pt_pt
    linkageType: ''
    returnType: int
    signature: "int _lwt_InitEdgeEndByLine(edgeend *fee, edgeend *lee, LWLINE *edge,\n
      \                                           POINT2D *fp, POINT2D *lp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1541,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1548,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1552,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1555,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1559,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1575,1
    - Dst: lwgeom_remove_repeated_points
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1578,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1579,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1583,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1584,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1585,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1591,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1592,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1594,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1598,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1602,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1604,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1605,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1606,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1612,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1621,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1631,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1642,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1654,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1655,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1657,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1661,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1664,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1666,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1667,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1668,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1674,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1682,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1692,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1703,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1714,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1716,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1718,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1727,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 123
    argCount: 5
    argNames:
    - topo
    - node
    - data
    - other
    - myedge_id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - edgeend*
    - edgeend*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1523
    functionDepth: 5
    functionLinenumber: 1523
    functionLinenumberEnd: 1737
    functionName: _lwt_FindAdjacentEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeByNode
    - lwgeom_free
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - _lwt_FirstDistinctVertex2D
    - lwgeom_remove_repeated_points
    - getPoint2d_p
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - azimuth_pt_pt
    - lwgeom_as_lwline
    linkageType: ''
    returnType: int
    signature: "int _lwt_FindAdjacentEdges( LWT_TOPOLOGY* topo, LWT_ELEMID node, edgeend
      *data,\n                        edgeend *other, int myedge_id )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1754,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1755,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1758,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1759,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1760,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1770,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - edge
    - ip
    argTypes:
    - LWLINE*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1745
    functionDepth: 3
    functionLinenumber: 1745
    functionLinenumberEnd: 1776
    functionName: _lwt_GetInteriorEdgePoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - P2D_SAME_STRICT
    - getPoint2d_p
    linkageType: ''
    returnType: int
    signature: int _lwt_GetInteriorEdgePoint(const LWLINE* edge, POINT2D* ip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1787,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1789,1
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1801,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1803,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1806,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1811,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1812,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1813,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1825,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1830,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1838,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1839,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1845,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1846,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1852,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1853,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1854,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1855,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1860,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1864,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1865,1
    - Dst: lwpoly_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1871,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - topo
    - signed_edge_ids
    - num_signed_edge_ids
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1778
    functionDepth: 4
    functionLinenumber: 1778
    functionLinenumberEnd: 1873
    functionName: _lwt_MakeRingShell
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeById
    - ptarray_append_ptarray
    - lwpoly_construct
    - ptarray_reverse_in_place
    - lwerror
    - ptarray_free
    - _lwt_release_edges
    - ptarray_clone_deep
    - lwfree
    - lwalloc
    - llabs
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      _lwt_MakeRingShell(LWT_TOPOLOGY *topo, LWT_ELEMID *signed_edge_ids, uint64_t
      num_signed_edge_ids)'
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getRingEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1907,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1911,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1914,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1920,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1921,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1926,1
    - Dst: _lwt_MakeRingShell
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1935,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1938,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1940,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1940,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1944,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1946,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1947,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1948,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1953,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1954,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1956,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1956,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1963,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1964,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1968,1
    - Dst: lwt_be_updateFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1981,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1984,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1985,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1986,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1991,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1992,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1993,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1997,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:1998,1
    - Dst: lwt_be_getFaceById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2009,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2012,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2013,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2014,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2019,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2020,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2021,1
    - Dst: lwt_be_insertFaces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2032,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2035,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2036,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2037,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2042,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2043,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2044,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2049,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2057,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2061,1
    - Dst: lwt_be_getEdgeByFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2074,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2077,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2078,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2081,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2085,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2087,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2105,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2114,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2122,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2126,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2128,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2129,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2130,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2131,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2132,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2133,1
    - Dst: gbox_contains_point2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2137,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2138,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2140,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2149,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2158,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2167,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2175,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2184,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2189,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2190,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2195,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2196,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2205,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2210,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2211,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2216,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2217,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2223,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2224,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2226,1
    - Dst: lwt_be_getNodeByFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2232,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2236,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2237,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2241,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2246,1
    - Dst: ptarray_contains_point
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2247,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2248,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2255,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2264,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2272,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2274,1
    - Dst: lwt_be_updateNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2277,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2281,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2282,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2286,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2289,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2290,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 236
    argCount: 4
    argNames:
    - topo
    - sedge
    - face
    - mbr_only
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 1892
    functionDepth: 5
    functionLinenumber: 1892
    functionLinenumberEnd: 2293
    functionName: _lwt_AddFaceSplit
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - getPoint2d_cp
    - ptarray_isccw
    - lwalloc
    - PGTOPO_BE_ERROR
    - lwt_be_updateNodesById
    - ptarray_contains_point
    - lwt_be_lastErrorMessage
    - lwpoly_free
    - lwt_be_updateFacesById
    - lwt_be_getRingEdges
    - gbox_contains_point2d
    - _lwt_release_nodes
    - lwt_be_updateEdgesById
    - _lwt_MakeRingShell
    - _lwt_release_faces
    - lwt_be_getFaceById
    - lwerror
    - _lwt_release_edges
    - lwpoly_as_lwgeom
    - lwt_be_getNodeByFace
    - lwfree
    - getPoint2d_p
    - LWDEBUGF
    - ptarray_is_closed_2d
    - LWDEBUG
    - lwt_be_insertFaces
    - lwt_be_getEdgeByFace
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_AddFaceSplit( LWT_TOPOLOGY* topo,\n                   LWT_ELEMID
      sedge, LWT_ELEMID face,\n                   int mbr_only )"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_simple
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2327,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2327,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2329,1
    - Dst: lwgeom_remove_repeated_points
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2340,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2340,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2342,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2344,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2345,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2354,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2355,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2357,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2358,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2361,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2362,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2363,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2367,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2370,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2371,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2373,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2375,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2378,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2379,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2380,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2384,1
    - Dst: lwt_be_getNodeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2400,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2403,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2417,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2418,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2424,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2439,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2440,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2446,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2447,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2449,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2450,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2460,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2461,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2467,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2468,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2470,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2471,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2479,1
    - Dst: _lwt_CheckEdgeCrossing
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2481,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2490,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2492,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2499,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2505,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2522,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2528,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2534,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2544,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2556,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2569,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2584,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2591,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2601,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2603,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2606,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2614,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2631,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2636,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2643,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2660,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2665,1
    - Dst: lwt_be_updateNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2680,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2685,1
    - Dst: lwt_be_updateNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2692,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2697,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2708,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2719,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2721,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2726,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2731,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2739,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2745,1
    - Dst: lwt_be_updateTopoGeomFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2754,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2757,1
    - Dst: lwt_be_deleteFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2764,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2766,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 272
    argCount: 6
    argNames:
    - topo
    - start_node
    - end_node
    - geom
    - skipChecks
    - modFace
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWLINE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2302
    functionDepth: 11
    functionLinenumber: 2302
    functionLinenumberEnd: 2775
    functionName: _lwt_AddEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - _lwt_FindAdjacentEdges
    - lwline_as_lwgeom
    - lwt_be_insertEdges
    - P2D_SAME_STRICT
    - PGTOPO_BE_ERROR
    - lwt_be_updateTopoGeomFaceSplit
    - lwt_be_getNextEdgeId
    - lwgeom_as_lwline
    - lwt_be_updateEdges
    - lwt_be_updateNodes
    - lwgeom_remove_repeated_points
    - _lwt_release_nodes
    - lwerror
    - _lwt_FirstDistinctVertex2D
    - lwgeom_is_simple
    - getPoint2d_p
    - _lwt_AddFaceSplit
    - llabs
    - LWDEBUGF
    - lwt_be_deleteFacesById
    - LWDEBUG
    - _lwt_CheckEdgeCrossing
    - azimuth_pt_pt
    - lwt_be_getNodeById
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_AddEdge( LWT_TOPOLOGY* topo,\n              LWT_ELEMID
      start_node, LWT_ELEMID end_node,\n              LWLINE *geom, int skipChecks,
      int modFace )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - start_node
    - end_node
    - geom
    - skipChecks
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWLINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2777
    functionDepth: 12
    functionLinenumber: 2777
    functionLinenumberEnd: 2783
    functionName: lwt_AddEdgeModFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_AddEdge
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_AddEdgeModFace( LWT_TOPOLOGY* topo,\n                    LWT_ELEMID
      start_node, LWT_ELEMID end_node,\n                    LWLINE *geom, int skipChecks
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topo
    - start_node
    - end_node
    - geom
    - skipChecks
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWLINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2785
    functionDepth: 12
    functionLinenumber: 2785
    functionLinenumberEnd: 2791
    functionName: lwt_AddEdgeNewFaces
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_AddEdge
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID lwt_AddEdgeNewFaces( LWT_TOPOLOGY* topo,\n                    LWT_ELEMID
      start_node, LWT_ELEMID end_node,\n                    LWLINE *geom, int skipChecks
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2798,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2809,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2815,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2816,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2817,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2818,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2821,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2826,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2826,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2827,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2828,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2832,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2833,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - topo
    - edges
    - numfaceedges
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2793
    functionDepth: 11
    functionLinenumber: 2793
    functionLinenumberEnd: 2838
    functionName: _lwt_FaceByEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - LWDEBUG
    - lwcollection_as_lwgeom
    - lwline_as_lwgeom
    - lwpoly_as_lwgeom
    - lwpoly_construct_empty
    - lwcollection_construct
    - lwgeom_buildarea
    - lwfree
    - lwalloc
    - lwcollection_release
    - LWDEBUGF
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      _lwt_FaceByEdges(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edges, int numfaceedges)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2853,1
    - Dst: lwt_be_getEdgeByFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2864,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2867,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2870,1
    - Dst: lwt_be_getFaceById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2875,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2878,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2882,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2885,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2887,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2893,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2895,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2896,1
    - Dst: _lwt_FaceByEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2900,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2901,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2910,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2914,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - topo
    - faceid
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2840
    functionDepth: 12
    functionLinenumber: 2840
    functionLinenumberEnd: 2919
    functionName: lwt_GetFaceGeometry
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getFaceById
    - lwerror
    - _lwt_release_edges
    - lwpoly_as_lwgeom
    - lwpoly_construct_empty
    - _lwt_FaceByEdges
    - lwfree
    - lwnotice
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - lwt_be_getEdgeByFace
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwt_GetFaceGeometry(LWT_TOPOLOGY* topo, LWT_ELEMID faceid)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2943,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2945,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2961,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2970,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2978,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2980,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2980,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2985,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2986,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2988,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2989,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2991,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2992,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2997,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:2998,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3001,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3003,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3004,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3006,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3011,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3014,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3022,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3024,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3025,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3027,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3029,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3034,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3035,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3038,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3040,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3041,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3043,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3049,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3052,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - ring
    - from
    - edges
    - numedges
    argTypes:
    - POINTARRAY*
    - int
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 2935
    functionDepth: 10
    functionLinenumber: 2935
    functionLinenumberEnd: 3063
    functionName: _lwt_FindNextRingEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - LWDEBUG
    - lwline_as_lwgeom
    - P2D_SAME_STRICT
    - getPoint2d_p
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: "int _lwt_FindNextRingEdge(const POINTARRAY *ring, int from,\n                      const
      LWT_ISO_EDGE *edges, int numedges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ary
    - from
    - to
    argTypes:
    - LWT_ELEMID*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3077
    functionName: _lwt_ReverseElemidArray
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _lwt_ReverseElemidArray(LWT_ELEMID *ary, int from, int to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_ReverseElemidArray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3085,1
    - Dst: _lwt_ReverseElemidArray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3086,1
    - Dst: _lwt_ReverseElemidArray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ary
    - from
    - to
    - rotidx
    argTypes:
    - LWT_ELEMID*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3082
    functionDepth: 1
    functionLinenumber: 3082
    functionLinenumberEnd: 3088
    functionName: _lwt_RotateElemidArray
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_ReverseElemidArray
    linkageType: ''
    returnType: void
    signature: void _lwt_RotateElemidArray(LWT_ELEMID *ary, int from, int to, int
      rotidx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getEdgeByFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3111,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3114,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3118,1
    - Dst: _lwt_FaceByEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3122,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3126,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3130,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3133,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3134,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3141,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3146,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3147,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3149,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3153,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3156,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3157,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3158,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3163,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3173,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3177,1
    - Dst: _lwt_FindNextRingEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3180,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3184,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3185,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3186,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3187,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3195,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3202,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3202,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3203,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3205,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3227,1
    - Dst: llabs
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3231,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3232,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3239,1
    - Dst: _lwt_RotateElemidArray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3243,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3250,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 3
    argNames:
    - topo
    - face_id
    - out
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3091
    functionDepth: 12
    functionLinenumber: 3091
    functionLinenumberEnd: 3255
    functionName: lwt_GetFaceEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_wkt
    - lwgeom_free
    - _lwt_RotateElemidArray
    - lwgeom_reverse_in_place
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - lwgeom_is_empty
    - _lwt_FindNextRingEdge
    - lwgeom_as_lwpoly
    - _lwt_FaceByEdges
    - lwfree
    - lwalloc
    - llabs
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - lwt_be_getEdgeByFace
    linkageType: ''
    returnType: int
    signature: int lwt_GetFaceEdges(LWT_TOPOLOGY* topo, LWT_ELEMID face_id, LWT_ELEMID
      **out )
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_simple
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3268,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3268,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3270,1
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3275,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3278,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3282,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3287,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3293,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3300,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3307,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3308,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3309,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3311,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3312,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3322,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3323,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3327,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3330,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3331,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3334,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3335,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3337,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3338,1
    - Dst: _lwt_GetInteriorEdgePoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3352,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3354,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3355,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3360,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3361,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3363,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3364,1
    - Dst: _lwt_CheckEdgeCrossing
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3369,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3373,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3377,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3388,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3389,1
    - Dst: gbox_union
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3390,1
    - Dst: lwt_be_getNodeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3394,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3396,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3399,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3400,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3412,1
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3413,1
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3414,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3418,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3418,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3419,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3420,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3421,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3426,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3428,1
    - Dst: _lwt_InitEdgeEndByLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3437,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3440,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3442,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3445,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3470,1
    - Dst: lwt_be_getRingEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3471,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3476,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3479,1
    - Dst: _lwt_MakeRingShell
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3481,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3483,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3485,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3485,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3490,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3492,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3493,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3494,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3499,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3500,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3501,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3503,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3510,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3513,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3514,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3519,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3520,1
    - Dst: _lwt_InitEdgeEndByLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3529,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3532,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3534,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3537,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3549,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3550,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3560,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3561,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3574,1
    - Dst: lwt_be_getRingEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3575,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3580,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3583,1
    - Dst: _lwt_MakeRingShell
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3585,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3587,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3589,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3589,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3594,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3596,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3597,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3598,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3603,1
    - Dst: lwpoly_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3604,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3605,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3609,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3610,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3623,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3624,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3625,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3626,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3627,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3628,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3629,1
    - Dst: lwt_be_computeFaceMBR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3636,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3639,1
    - Dst: lwt_be_computeFaceMBR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3652,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3655,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3664,1
    - Dst: lwt_be_updateFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3667,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3670,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3671,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3673,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3675,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3679,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3683,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3686,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3688,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 225
    argCount: 3
    argNames:
    - topo
    - edge_id
    - geom
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3257
    functionDepth: 11
    functionLinenumber: 3257
    functionLinenumberEnd: 3690
    functionName: lwt_ChangeEdgeGeom
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwt_be_getEdgeById
    - getPoint2d_cp
    - _lwt_FindAdjacentEdges
    - lwline_as_lwgeom
    - ptarray_contains_point_partial
    - ptarray_isccw
    - P2D_SAME_STRICT
    - PGTOPO_BE_ERROR
    - lwgeom_to_wkt
    - lwt_be_lastErrorMessage
    - lwpoly_free
    - lwt_be_updateFacesById
    - _lwt_release_nodes
    - lwt_be_updateEdgesById
    - _lwt_MakeRingShell
    - _lwt_InitEdgeEndByLine
    - lwerror
    - _lwt_GetInteriorEdgePoint
    - _lwt_release_edges
    - lwt_be_getNodeWithinBox2D
    - lwgeom_is_simple
    - getPoint2d_p
    - lwfree
    - lwt_be_computeFaceMBR
    - LWDEBUGF
    - gbox_union
    - ptarray_is_closed_2d
    - LWDEBUG
    - lwgeom_refresh_bbox
    - gbox_same
    - _lwt_CheckEdgeCrossing
    - lwgeom_add_bbox
    - lwpoint_as_lwgeom
    - lwt_be_getRingEdges
    linkageType: ''
    returnType: int
    signature: int lwt_ChangeEdgeGeom(LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, LWLINE
      *geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getNodeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3699,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3702,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3706,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3711,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - topo
    - nid
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3693
    functionDepth: 2
    functionLinenumber: 3693
    functionLinenumberEnd: 3717
    functionName: _lwt_GetIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwerror
    - PGTOPO_BE_ERROR
    - lwfree
    - lwt_be_getNodeById
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      _lwt_GetIsoNode(LWT_TOPOLOGY* topo, LWT_ELEMID nid)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_GetIsoNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3726,1
    - Dst: lwt_be_ExistsCoincidentNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3729,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3731,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3732,1
    - Dst: lwt_be_ExistsEdgeIntersectingPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3736,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3738,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3739,1
    - Dst: lwt_GetFaceContainingPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3745,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3747,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3752,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3753,1
    - Dst: lwt_be_updateNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3759,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3762,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3763,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3767,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - topo
    - nid
    - pt
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3719
    functionDepth: 3
    functionLinenumber: 3719
    functionLinenumberEnd: 3769
    functionName: lwt_MoveIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_ExistsEdgeIntersectingPoint
    - lwerror
    - lwfree
    - _lwt_GetIsoNode
    - lwt_GetFaceContainingPoint
    - lwt_be_ExistsCoincidentNode
    - PGTOPO_BE_ERROR
    - lwt_be_updateNodesById
    linkageType: ''
    returnType: int
    signature: int lwt_MoveIsoNode(LWT_TOPOLOGY* topo, LWT_ELEMID nid, LWPOINT *pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_GetIsoNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3777,1
    - Dst: lwt_be_deleteNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3780,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3783,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3784,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3789,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3790,1
    - Dst: lwt_be_checkTopoGeomRemIsoNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3794,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3796,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3797,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3797,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - topo
    - nid
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3771
    functionDepth: 3
    functionLinenumber: 3771
    functionLinenumberEnd: 3803
    functionName: lwt_RemoveIsoNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_lastErrorMessage
    - lwerror
    - lwt_be_deleteNodesById
    - lwfree
    - _lwt_GetIsoNode
    - PGTOPO_BE_ERROR
    - lwt_be_checkTopoGeomRemIsoNode
    linkageType: ''
    returnType: int
    signature: int lwt_RemoveIsoNode(LWT_TOPOLOGY* topo, LWT_ELEMID nid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3816,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3822,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3827,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3832,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3833,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3840,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3841,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3848,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3851,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3854,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3861,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3862,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3866,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3869,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3872,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3877,1
    - Dst: lwt_be_updateNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3889,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3893,1
    - Dst: lwt_be_checkTopoGeomRemIsoEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3900,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3902,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3902,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 2
    argNames:
    - topo
    - id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3805
    functionDepth: 2
    functionLinenumber: 3805
    functionLinenumberEnd: 3907
    functionName: lwt_RemIsoEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeByNode
    - lwt_be_getEdgeById
    - lwt_be_checkTopoGeomRemIsoEdge
    - lwt_be_lastErrorMessage
    - lwerror
    - lwfree
    - PGTOPO_BE_ERROR
    - lwt_be_updateNodesById
    - lwt_be_deleteEdges
    linkageType: ''
    returnType: int
    signature: int lwt_RemIsoEdge(LWT_TOPOLOGY* topo, LWT_ELEMID id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3921,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3926,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - topo
    - of
    - nf
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts:
    - condition: ( of != 0 )
      pos:
        line_end: 3920
        line_start: 3920
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    constantsTouched: []
    func_position:
      end: 3940
      start: 3915
    functionDepth: 2
    functionLinenumber: 3915
    functionLinenumberEnd: 3940
    functionName: _lwt_UpdateEdgeFaceRef
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_updateEdges
    - assert
    linkageType: ''
    returnType: int
    signature: int _lwt_UpdateEdgeFaceRef( LWT_TOPOLOGY *topo, LWT_ELEMID of, LWT_ELEMID
      nf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3954,1
    - Dst: lwt_be_updateNodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - topo
    - of
    - nf
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts:
    - condition: ( of != 0 )
      pos:
        line_end: 3953
        line_start: 3953
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    constantsTouched: []
    func_position:
      end: 3965
      start: 3948
    functionDepth: 2
    functionLinenumber: 3948
    functionLinenumberEnd: 3965
    functionName: _lwt_UpdateNodeFaceRef
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - assert
    - lwt_be_updateNodes
    linkageType: ''
    returnType: int
    signature: int _lwt_UpdateNodeFaceRef( LWT_TOPOLOGY *topo, LWT_ELEMID of, LWT_ELEMID
      nf)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:3998,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4001,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4004,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4009,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4014,1
    - Dst: lwt_be_checkTopoGeomRemEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4023,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4026,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4026,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4030,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4043,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4046,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4091,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4093,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4096,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4097,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4098,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4104,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4106,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4109,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4110,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4111,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4115,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4116,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4133,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4140,1
    - Dst: lwt_be_getFaceById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4146,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4149,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4162,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4163,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4164,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4175,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4176,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4177,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4185,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4186,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4187,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4194,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4195,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4196,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4203,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4204,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4205,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4210,1
    - Dst: lwt_be_updateFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4215,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4216,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4219,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4220,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4225,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4226,1
    - Dst: lwt_be_insertFaces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4234,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4235,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4238,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4239,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4244,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4245,1
    - Dst: _lwt_UpdateEdgeFaceRef
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4257,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4259,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4260,1
    - Dst: _lwt_UpdateNodeFaceRef
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4263,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4265,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4266,1
    - Dst: _lwt_UpdateEdgeFaceRef
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4273,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4275,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4276,1
    - Dst: _lwt_UpdateNodeFaceRef
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4279,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4281,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4282,1
    - Dst: lwt_be_updateTopoGeomFaceHeal
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4288,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4292,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4293,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4293,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4299,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4302,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4303,1
    - Dst: lwt_be_updateNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4324,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4327,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4328,1
    - Dst: lwt_be_deleteFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4342,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4345,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4346,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4351,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 239
    argCount: 3
    argNames:
    - topo
    - edge_id
    - modFace
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 3973
    functionDepth: 4
    functionLinenumber: 3973
    functionLinenumberEnd: 4353
    functionName: _lwt_RemEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeById
    - lwt_be_updateTopoGeomFaceHeal
    - PGTOPO_BE_ERROR
    - lwt_be_updateNodesById
    - lwt_be_deleteEdges
    - lwt_be_lastErrorMessage
    - lwt_be_updateFacesById
    - lwt_be_updateEdgesById
    - _lwt_release_faces
    - lwt_be_getEdgeByNode
    - lwt_be_getFaceById
    - lwerror
    - _lwt_release_edges
    - lwfree
    - LWDEBUGF
    - _lwt_UpdateEdgeFaceRef
    - lwt_be_deleteFacesById
    - LWDEBUG
    - gbox_merge
    - lwt_be_insertFaces
    - lwt_be_checkTopoGeomRemEdge
    - _lwt_UpdateNodeFaceRef
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID _lwt_RemEdge( LWT_TOPOLOGY* topo, LWT_ELEMID edge_id, int
      modFace )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_RemEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - edge_id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4355
    functionDepth: 5
    functionLinenumber: 4355
    functionLinenumberEnd: 4359
    functionName: lwt_RemEdgeModFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_RemEdge
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_RemEdgeModFace( LWT_TOPOLOGY* topo, LWT_ELEMID edge_id
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_RemEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - edge_id
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4365
      start: 4361
    functionDepth: 5
    functionLinenumber: 4361
    functionLinenumberEnd: 4365
    functionName: lwt_RemEdgeNewFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_RemEdge
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_RemEdgeNewFace( LWT_TOPOLOGY* topo, LWT_ELEMID edge_id
      )
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4393,1
    - Dst: lwt_be_getEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4400,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4403,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4410,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4411,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4419,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4420,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4429,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4430,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4437,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4438,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4447,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4448,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4454,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4455,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4476,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4480,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4481,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4492,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4509,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4528,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4532,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4533,1
    - Dst: snprintf
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4544,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4561,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4567,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4570,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4575,1
    - Dst: lwt_be_checkTopoGeomRemNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4580,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4583,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4584,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4584,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4592,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4594,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4606,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4607,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4608,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4610,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4611,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4622,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4623,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4625,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4635,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4637,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4651,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4652,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4656,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4662,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4669,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4670,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4671,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4676,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4677,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4678,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4688,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4691,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4692,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4693,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4698,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4699,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4700,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4704,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4723,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4726,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4727,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4734,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4737,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4738,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4747,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4750,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4751,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4758,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4761,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4762,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4768,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4771,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4772,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4776,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4779,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4780,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4785,1
    - Dst: lwt_be_deleteNodesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4788,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4791,1
    - Dst: lwt_be_updateTopoGeomEdgeHeal
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4803,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4806,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4806,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 297
    argCount: 4
    argNames:
    - topo
    - eid1
    - eid2
    - modEdge
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4367
    functionDepth: 4
    functionLinenumber: 4367
    functionLinenumberEnd: 4811
    functionName: _lwt_HealEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeById
    - ptarray_free
    - lwt_be_insertEdges
    - lwt_be_checkTopoGeomRemNode
    - PGTOPO_BE_ERROR
    - lwt_be_updateTopoGeomEdgeHeal
    - lwt_be_deleteEdges
    - lwline_construct
    - lwt_be_updateEdges
    - ptarray_append_ptarray
    - lwt_be_lastErrorMessage
    - snprintf
    - lwt_be_deleteNodesById
    - lwt_be_updateEdgesById
    - lwt_be_getEdgeByNode
    - lwerror
    - _lwt_release_edges
    - ptarray_clone_deep
    - lwfree
    - lwline_free
    - ptarray_reverse_in_place
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_HealEdges( LWT_TOPOLOGY* topo, LWT_ELEMID eid1, LWT_ELEMID
      eid2,\n                int modEdge )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_HealEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - e1
    - e2
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4813
    functionDepth: 5
    functionLinenumber: 4813
    functionLinenumberEnd: 4817
    functionName: lwt_ModEdgeHeal
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_HealEdges
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_ModEdgeHeal( LWT_TOPOLOGY* topo, LWT_ELEMID e1, LWT_ELEMID
      e2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_HealEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - e1
    - e2
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4819
    functionDepth: 5
    functionLinenumber: 4819
    functionLinenumberEnd: 4823
    functionName: lwt_NewEdgeHeal
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_HealEdges
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_NewEdgeHeal( LWT_TOPOLOGY* topo, LWT_ELEMID e1, LWT_ELEMID
      e2 )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4834,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4836,1
    - Dst: lwt_be_getNodeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4839,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4842,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4849,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4850,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - topo
    - pt
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4825
    functionDepth: 3
    functionLinenumber: 4825
    functionLinenumberEnd: 4858
    functionName: lwt_GetNodeByPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwt_be_getNodeWithinDistance2D
    - _lwt_release_nodes
    - getPoint2d_p
    - PGTOPO_BE_ERROR
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_GetNodeByPoint(LWT_TOPOLOGY *topo, LWPOINT *pt, double
      tol)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4867,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4869,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4871,1
    - Dst: lwt_be_getEdgeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4874,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4877,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4889,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4890,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4897,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4898,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4904,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4905,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4911,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - topo
    - pt
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4860
    functionDepth: 4
    functionLinenumber: 4860
    functionLinenumberEnd: 4914
    functionName: lwt_GetEdgeByPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - lwgeom_is_empty
    - lwt_be_getEdgeWithinDistance2D
    - lwpoint_as_lwgeom
    - lwnotice
    - PGTOPO_BE_ERROR
    - lwgeom_mindistance2d_tolerance
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_GetEdgeByPoint(LWT_TOPOLOGY *topo, LWPOINT *pt, double
      tol)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4926,1
    - Dst: lwt_GetFaceContainingPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4928,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4930,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4944,1
    - Dst: lwt_be_getEdgeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4951,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4954,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4966,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4967,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4975,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4980,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4981,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4983,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4995,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:4996,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5002,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5003,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5013,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - topo
    - pt
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5016
      start: 4916
    functionDepth: 4
    functionLinenumber: 4916
    functionLinenumberEnd: 5016
    functionName: lwt_GetFaceByPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - LWDEBUG
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - lwt_be_getEdgeWithinDistance2D
    - lwnotice
    - lwpoint_as_lwgeom
    - lwgeom_mindistance2d_tolerance
    - lwt_GetFaceContainingPoint
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_GetFaceByPoint(LWT_TOPOLOGY *topo, const LWPOINT *pt,
      double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5023,1
    - Dst: log10
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5025
      start: 5020
    functionDepth: 0
    functionLinenumber: 5020
    functionLinenumberEnd: 5025
    functionName: _lwt_minToleranceDouble
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - log10
    - pow
    linkageType: ''
    returnType: double
    signature: double _lwt_minToleranceDouble( double d )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5048,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5050,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5051,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5051,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5052,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5052,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5053,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5053,1
    - Dst: _lwt_minToleranceDouble
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - g
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5058
      start: 5041
    functionDepth: 4
    functionLinenumber: 5041
    functionLinenumberEnd: 5058
    functionName: _lwt_minTolerance
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - FP_ABS
    - lwgeom_get_bbox
    - _lwt_minToleranceDouble
    linkageType: ''
    returnType: double
    signature: double _lwt_minTolerance( LWGEOM *g )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - topo
    - ','
    - geom
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5062
    functionName: _LWT_MINTOLERANCE
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LWT_MINTOLERANCE( topo, geom )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - si1
    - si2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5079
      start: 5068
    functionDepth: 0
    functionLinenumber: 5068
    functionLinenumberEnd: 5079
    functionName: compare_scored_pointer
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_scored_pointer(const void *si1, const void *si2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5094,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5094,1
    - Dst: lwt_be_getEdgeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5098,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5101,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5106,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5108,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5108,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5111,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5112,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5118,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5121,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5124,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5125,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5126,1
    - Dst: GEOSEquals
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5129,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5130,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5133,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5134,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5135,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5145,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5147,1
    - Dst: ptarray_isccw
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5147,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5160,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5161,1
    - Dst: getPoint_internal
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5162,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5175,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5176,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5180,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 3
    argNames:
    - topo
    - edge
    - forward
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5088
    functionDepth: 10
    functionLinenumber: 5088
    functionLinenumberEnd: 5185
    functionName: _lwt_GetEqualEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - LWGEOM2GEOS
    - lwline_is_closed
    - GEOSGeom_destroy
    - PGTOPO_BE_ERROR
    - ptarray_isccw
    - getPoint_internal
    - initGEOS
    - GEOSEquals
    - lwt_be_getEdgeWithinBox2D
    - memcmp
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID _lwt_GetEqualEdge( LWT_TOPOLOGY *topo, LWLINE *edge, int
      *forward )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5206,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5206,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5207,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5207,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5208,1
    - Dst: ptarray_reverse_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5209,1
    - Dst: ptarray_append_ptarray
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5210,1
    - Dst: ptarray_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5211,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5214,1
    - Dst: lwpoly_from_lwlines
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5217,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5218,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5219,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5221,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5234,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5237,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5241,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5241,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5244,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5245,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5246,1
    - Dst: GEOSRelate
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5250,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5251,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5254,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5255,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5256,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5260,1
    - Dst: GEOSFree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5261,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5264,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5265,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5266,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5271,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5272,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5273,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5280,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - topo
    - splitC
    - edge
    - existingEdge
    - splitNodeEdges
    argTypes:
    - LWT_TOPOLOGY*
    - LWCOLLECTION*
    - LWT_ISO_EDGE*
    - LWT_ISO_EDGE*
    - LWT_NODE_EDGES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5285
      start: 5202
    functionDepth: 10
    functionLinenumber: 5202
    functionLinenumberEnd: 5285
    functionName: _lwt_SnapEdge_checkMotion
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - ptarray_append_ptarray
    - ptarray_free
    - ptarray_reverse_in_place
    - lwerror
    - lwline_as_lwgeom
    - LWGEOM2GEOS
    - ptarray_clone_deep
    - LWDEBUGG
    - lwpoly_from_lwlines
    - GEOSRelate
    - GEOSGeom_destroy
    - GEOSFree
    - GEOSRelatePatternMatch
    - lwgeom_make_valid
    - lwline_construct
    - lwgeom_as_lwline
    linkageType: ''
    returnType: int
    signature: int _lwt_SnapEdge_checkMotion( LWT_TOPOLOGY* topo, const LWCOLLECTION
      *splitC, const LWT_ISO_EDGE *edge, LWT_ISO_EDGE *existingEdge, const LWT_NODE_EDGES
      *splitNodeEdges )
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5295,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5296,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5296,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5298,1
    - Dst: lwgeom_snap
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5299,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5299,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5303,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5304,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5306,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5309,1
    - Dst: lwt_nodeEdges_loadFromDB
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5313,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5315,1
    - Dst: lwt_nodeEdges_loadFromDB
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5318,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5320,1
    - Dst: lwt_nodeEdges_loadFromDB
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5323,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5325,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5339,1
    - Dst: _lwt_GetEqualEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5367,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5367,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5376,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5383,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5384,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5392,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5396,1
    - Dst: _lwt_FirstDistinctVertex2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5397,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5406,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5410,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5411,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5417,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5419,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5421,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5427,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5434,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5447,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5474,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5482,1
    - Dst: _lwt_SnapEdge_checkMotion
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5487,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5489,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5524,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5537,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5550,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5557,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5562,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5565,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5568,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5583,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5593,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5602,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5607,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5612,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5615,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5618,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5652,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5664,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5693,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5699,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5710,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5730,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5739,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5746,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5751,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5754,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5757,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5776,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5786,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5796,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5806,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5814,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5819,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5822,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5825,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5845,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5857,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5867,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5872,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5875,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5878,1
    - Dst: lwt_GetFaceGeometry
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5898,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5901,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5904,1
    - Dst: lwt_be_updateFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5907,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5910,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5913,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5917,1
    - Dst: lwt_GetFaceGeometry
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5925,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5928,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5931,1
    - Dst: lwt_be_updateFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5934,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5937,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5940,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5944,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5955,1
    - Dst: lwt_be_updateTopoGeomEdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5959,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5961,1
    - Dst: lwt_be_getNextEdgeId
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5974,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5976,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5979,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5993,1
    - Dst: lwt_edgeEndStar_init
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:5998,1
    - Dst: lwt_edgeEndStar_addEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6001,1
    - Dst: lwt_edgeEndStar_addEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6003,1
    - Dst: lwt_edgeEndStar_addEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6004,1
    - Dst: _lwt_SnapEdge_checkMotion
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6006,1
    - Dst: lwt_EdgeEndStar_debugPrint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6011,1
    - Dst: lwt_edgeEndStar_getNextCW
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6013,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6014,1
    - Dst: lwt_edgeEndStar_getNextCW
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6027,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6028,1
    - Dst: lwt_be_insertEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6036,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6039,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6045,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6050,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6053,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6056,1
    - Dst: lwt_edgeEndStar_getNextCCW
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6062,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6063,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6076,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6078,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6083,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6086,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6089,1
    - Dst: lwt_edgeEndStar_getNextCCW
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6096,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6097,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6110,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6112,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6117,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6120,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6123,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6156,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6159,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6164,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6167,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6170,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6184,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6185,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6186,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6191,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6192,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6193,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6201,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6202,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6203,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6208,1
    - Dst: _lwt_AddFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6209,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6210,1
    - Dst: lwt_be_updateTopoGeomEdgeSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6221,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6223,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6227,1
    - Dst: lwt_be_updateTopoGeomFaceSplit
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6232,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6238,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6244,1
    - Dst: lwt_be_deleteFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6246,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6248,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6263,1
    - Dst: FP_ABS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6273,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6321,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6324,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6329,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6332,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6335,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6372,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6375,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6380,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6383,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6386,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6406,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6410,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6415,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6418,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6421,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6440,1
    - Dst: lwt_be_updateEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6444,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6449,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6452,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6455,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6463,1
    - Dst: lwt_be_deleteEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6464,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6466,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6471,1
    - Dst: lwt_be_deleteFacesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6473,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6475,1
    - Dst: lwt_be_updateTopoGeomFaceHeal
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6480,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6482,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6490,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 675
    argCount: 4
    argNames:
    - topo
    - node
    - edge
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_NODE*
    - LWT_ISO_EDGE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6495
      start: 5287
    functionDepth: 13
    functionLinenumber: 5287
    functionLinenumberEnd: 6495
    functionName: _lwt_SnapEdgeToExistingNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_snap
    - lwgeom_get_bbox
    - getPoint2d_cp
    - _lwt_FindAdjacentEdges
    - lwgeom_free
    - lwt_be_updateTopoGeomFaceHeal
    - lwgeom_as_lwpoint
    - lwline_as_lwgeom
    - lwt_edgeEndStar_addEdge
    - lwt_be_insertEdges
    - FP_ABS
    - PGTOPO_BE_ERROR
    - lwt_be_updateTopoGeomFaceSplit
    - lwt_be_updateTopoGeomEdgeSplit
    - lwt_be_getNextEdgeId
    - lwgeom_as_lwline
    - lwgeom_split
    - lwt_be_updateEdges
    - lwt_be_deleteEdges
    - lwt_edgeEndStar_getNextCW
    - lwt_be_updateFacesById
    - LWDEBUGG
    - _lwt_SnapEdge_checkMotion
    - lwerror
    - _lwt_FirstDistinctVertex2D
    - lwt_GetFaceGeometry
    - lwt_nodeEdges_loadFromDB
    - _lwt_AddFaceSplit
    - lwt_edgeEndStar_getNextCCW
    - _lwt_GetEqualEdge
    - LWDEBUGF
    - lwt_be_deleteFacesById
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lwt_EdgeEndStar_debugPrint
    - lwpoint_as_lwgeom
    - azimuth_pt_pt
    - lwt_edgeEndStar_init
    linkageType: ''
    returnType: int
    signature: "int _lwt_SnapEdgeToExistingNode(\n  LWT_TOPOLOGY* topo,\n  LWT_ISO_NODE
      *node,\n  LWT_ISO_EDGE *edge, /* known to require an update from DB for the
      edge linking and face labelling - geometry is fine */\n  double tol\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6516,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6522,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6530,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6530,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6530,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6531,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6538,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6543,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6544,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6558,1
    - Dst: lwgeom_closest_point
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6562,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6562,1
    - Dst: lwgeom_same
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6563,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6564,1
    - Dst: lwgeom_force_3dz
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6575,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6576,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6577,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6579,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6581,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6582,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6586,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6587,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6598,1
    - Dst: _lwt_SnapEdgeToExistingNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6604,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6606,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6612,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6614,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6614,1
    - Dst: ptarray_contains_point_partial
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6615,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6622,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6631,1
    - Dst: _lwt_toposnap
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6637,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6638,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6640,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6646,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6647,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6648,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6649,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6650,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6659,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6660,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6661,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6666,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6667,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6669,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6670,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6671,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6677,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6678,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6679,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6685,1
    - Dst: lwt_ChangeEdgeGeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6689,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6692,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6693,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6694,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6697,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6703,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6704,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6705,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6706,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6707,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 101
    argCount: 6
    argNames:
    - topo
    - edges
    - num
    - point
    - tol
    - moved
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - uint64_t
    - LWPOINT*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6708
      start: 6512
    functionDepth: 14
    functionLinenumber: 6512
    functionLinenumberEnd: 6708
    functionName: _lwt_SplitAllEdgesToNewNode
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - getPoint2d_cp
    - lwgeom_closest_point
    - lwline_as_lwgeom
    - lwgeom_as_lwpoint
    - _lwt_toposnap
    - ptarray_contains_point_partial
    - lwgeom_has_z
    - lwalloc
    - lwgeom_as_lwline
    - lwgeom_to_wkt
    - _lwt_SnapEdgeToExistingNode
    - LWDEBUGG
    - ptarray_set_point4d
    - lwgeom_force_3dz
    - lwt_ChangeEdgeGeom
    - lwgeom_mindistance2d
    - ptarray_insert_point
    - getPoint4d_p
    - lwerror
    - qsort
    - lwfree
    - LWDEBUGF
    - LWDEBUG
    - lwgeom_same
    - lwpoint_as_lwgeom
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID _lwt_SplitAllEdgesToNewNode(LWT_TOPOLOGY* topo, LWT_ISO_EDGE
      *edges, uint64_t num, LWPOINT *point, double tol, int *moved)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6757,1
    - Dst: _LWT_MINTOLERANCE
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6764,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6766,1
    - Dst: lwt_be_getNodeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6774,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6777,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6782,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6786,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6790,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6790,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6791,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6794,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6795,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6800,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6801,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6808,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6809,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6822,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6828,1
    - Dst: lwt_be_getEdgeWithinDistance2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6836,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6839,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6842,1
    - Dst: _lwt_SplitAllEdgesToNewNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6845,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6845,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6846,1
    - Dst: _lwt_AddIsoNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6853,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6858,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6859,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 5
    argNames:
    - topo
    - point
    - tol
    - findFace
    - moved
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6865
      start: 6749
    functionDepth: 15
    functionLinenumber: 6749
    functionLinenumberEnd: 6865
    functionName: _lwt_AddPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_AddIsoNode
    - _lwt_SplitAllEdgesToNewNode
    - lwt_be_getNodeWithinDistance2D
    - lwgeom_as_lwpoint
    - _lwt_release_edges
    - lwerror
    - qsort
    - lwt_be_getEdgeWithinDistance2D
    - LWDEBUGG
    - _lwt_release_nodes
    - lwpoint_as_lwgeom
    - lwalloc
    - lwgeom_mindistance2d
    - lwfree
    - initGEOS
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - _LWT_MINTOLERANCE
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_AddPoint(LWT_TOPOLOGY* topo, LWPOINT* point, double
      tol, int\n              findFace, int *moved)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - point
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6871
      start: 6867
    functionDepth: 16
    functionLinenumber: 6867
    functionLinenumberEnd: 6871
    functionName: lwt_AddPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 1
    functionsReached:
    - _lwt_AddPoint
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_AddPoint(LWT_TOPOLOGY* topo, LWPOINT* point, double
      tol)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6902,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6902,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6903,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6905,1
    - Dst: lwnotice
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6908,1
    - Dst: _lwt_AddPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6911,1
    - Dst: _lwt_minTolerance
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6912,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6912,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6914,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6917,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6920,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6923,1
    - Dst: _lwt_AddPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6927,1
    - Dst: _lwt_minTolerance
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6928,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6928,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6930,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6933,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6942,1
    - Dst: lwt_be_getNodeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6945,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6949,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6960,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6961,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6968,1
    - Dst: lwline_setPoint4d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6969,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6971,1
    - Dst: lwline_setPoint4d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6972,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6974,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6976,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6976,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6979,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6979,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6981,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6983,1
    - Dst: lwcollection_extract
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6987,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6992,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6993,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6994,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6998,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:6999,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7001,1
    - Dst: lwcollection_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7002,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7006,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7012,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7015,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7016,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7016,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7017,1
    - Dst: _lwt_GetEqualEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7025,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7026,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7029,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7034,1
    - Dst: lwline_remove_repeated_points
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7044,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7045,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7046,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7047,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7053,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7054,1
    - Dst: _lwt_GetEqualEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7059,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7060,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7063,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7068,1
    - Dst: _lwt_AddEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7075,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7076,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7079,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7082,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 128
    argCount: 5
    argNames:
    - topo
    - edge
    - tol
    - handleFaceSplit
    - forward
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - double
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7086
      start: 6888
    functionDepth: 16
    functionLinenumber: 6888
    functionLinenumberEnd: 7086
    functionName: _lwt_AddLineEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwline_as_lwgeom
    - PGTOPO_BE_ERROR
    - lwgeom_as_lwline
    - LWDEBUGG
    - _lwt_release_nodes
    - lwcollection_free
    - _lwt_AddPoint
    - _lwt_AddEdge
    - lwpoint_free
    - getPoint4d_p
    - lwerror
    - lwline_get_lwpoint
    - lwgeom_get_type
    - lwtype_name
    - LWDEBUGF
    - _lwt_GetEqualEdge
    - lwcollection_extract
    - lwgeom_make_valid
    - _lwt_minTolerance
    - lwgeom_as_lwcollection
    - LWDEBUG
    - lwline_setPoint4d
    - lwgeom_clone_deep
    - lwpoint_as_lwgeom
    - lwline_remove_repeated_points
    - lwnotice
    - lwt_be_getNodeById
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_AddLineEdge( LWT_TOPOLOGY* topo, LWLINE* edge, double
      tol,\n                  int handleFaceSplit, int *forward )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7093,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7097,1
    - Dst: lwgeom_split
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7103,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - g
    - nodes
    argTypes:
    - LWGEOM*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7110
      start: 7090
    functionDepth: 13
    functionLinenumber: 7090
    functionLinenumberEnd: 7110
    functionName: _lwt_split_by_nodes
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_split
    - lwgeom_clone_deep
    - lwgeom_free
    - lwgeom_as_lwcollection
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      _lwt_split_by_nodes(const LWGEOM *g, const LWGEOM *nodes)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: lwline_is_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7131,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7137,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7140,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7141,1
    - Dst: _LWT_MINTOLERANCE
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7147,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7148,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7149,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7154,1
    - Dst: lwline_remove_repeated_points
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7154,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7155,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7156,1
    - Dst: lwgeom_node
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7160,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7161,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7163,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7165,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7165,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7166,1
    - Dst: gbox_expand
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7168,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7169,1
    - Dst: lwt_be_getEdgeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7177,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7180,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7181,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7184,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7189,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7192,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7197,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7198,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7199,1
    - Dst: GEOSDistanceIndexed
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7201,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7202,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7203,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7204,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7205,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7208,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7212,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7213,1
    - Dst: lwt_be_getNodeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7221,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7224,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7225,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7228,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7234,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7236,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7243,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7244,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7248,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7254,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7259,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7267,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7269,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7271,1
    - Dst: _lwt_toposnap
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7273,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7274,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7276,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7280,1
    - Dst: getPoint4d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7283,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7284,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7289,1
    - Dst: lwgeom_unaryunion
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7296,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7297,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7299,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7309,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7311,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7313,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7314,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7316,1
    - Dst: lwgeom_difference
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7319,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7320,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7322,1
    - Dst: lwgeom_intersection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7325,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7326,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7327,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7343,1
    - Dst: lwgeom_linemerge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7344,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7345,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7346,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7353,1
    - Dst: lwgeom_union
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7354,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7355,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7356,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7357,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7360,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7364,1
    - Dst: lwline_is_closed
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7366,1
    - Dst: ptarray_scroll_in_place
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7367,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7370,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7370,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7374,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7390,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7393,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7394,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7395,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7397,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7399,1
    - Dst: lwcollection_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7405,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7408,1
    - Dst: _lwt_split_by_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7410,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7411,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7413,1
    - Dst: lwcollection_release
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7415,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7419,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7422,1
    - Dst: _lwt_release_nodes
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7423,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7424,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7426,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7429,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7432,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7438,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7444,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7450,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7461,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7462,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7463,1
    - Dst: _lwt_AddLineEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7467,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7467,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7468,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7471,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7472,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7477,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7481,1
    - Dst: LWDEBUGG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7486,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7487,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 208
    argCount: 5
    argNames:
    - topo
    - line
    - tol
    - nedges
    - handleFaceSplit
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - double
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7493
      start: 7112
    functionDepth: 17
    functionLinenumber: 7112
    functionLinenumberEnd: 7493
    functionName: _lwt_AddLine
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - ptarray_scroll_in_place
    - lwline_as_lwgeom
    - _lwt_toposnap
    - _lwt_AddLineEdge
    - lwgeom_unaryunion
    - lwgeom_node
    - lwalloc
    - lwgeom_intersection
    - PGTOPO_BE_ERROR
    - lwgeom_as_lwline
    - lwgeom_to_wkt
    - LWDEBUGG
    - lwgeom_difference
    - _lwt_release_nodes
    - lwcollection_release
    - lwgeom_mindistance2d
    - lwt_be_getEdgeWithinBox2D
    - lwline_is_empty
    - getPoint4d_p
    - _LWT_MINTOLERANCE
    - lwgeom_union
    - lwerror
    - _lwt_release_edges
    - LWGEOM2GEOS
    - GEOSDistanceIndexed
    - GEOSGeom_destroy
    - lwt_be_getNodeWithinBox2D
    - lwline_get_lwpoint
    - lwfree
    - gbox_expand
    - LWDEBUGF
    - lwgeom_linemerge
    - _lwt_split_by_nodes
    - lwgeom_as_lwcollection
    - lwcollection_as_lwgeom
    - LWDEBUG
    - lwline_is_closed
    - lwline_remove_repeated_points
    - lwpoint_as_lwgeom
    - lwrealloc
    - lwcollection_construct
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID *\n_lwt_AddLine(LWT_TOPOLOGY* topo, LWLINE* line, double
      tol, int* nedges,\n            int handleFaceSplit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - line
    - tol
    - nedges
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7499
      start: 7495
    functionDepth: 18
    functionLinenumber: 7495
    functionLinenumberEnd: 7499
    functionName: lwt_AddLine
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 1
    functionsReached:
    - _lwt_AddLine
    linkageType: ''
    returnType: LWT_ELEMID
    signature: 'LWT_ELEMID *

      lwt_AddLine(LWT_TOPOLOGY* topo, LWLINE* line, double tol, int* nedges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topo
    - line
    - tol
    - nedges
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7505
      start: 7501
    functionDepth: 18
    functionLinenumber: 7501
    functionLinenumberEnd: 7505
    functionName: lwt_AddLineNoFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_AddLine
    linkageType: ''
    returnType: LWT_ELEMID
    signature: 'LWT_ELEMID *

      lwt_AddLineNoFace(LWT_TOPOLOGY* topo, LWLINE* line, double tol, int* nedges)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_AddPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - point
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7511
      start: 7507
    functionDepth: 16
    functionLinenumber: 7507
    functionLinenumberEnd: 7511
    functionName: lwt_LoadPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_AddPoint
    linkageType: ''
    returnType: void
    signature: void lwt_LoadPoint(LWT_TOPOLOGY* topo, LWPOINT* point, double tol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_AddLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7520,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - topo
    - line
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWLINE*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7522
      start: 7513
    functionDepth: 19
    functionLinenumber: 7513
    functionLinenumberEnd: 7522
    functionName: lwt_LoadLine
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwfree
    - lwt_AddLine
    linkageType: ''
    returnType: void
    signature: void lwt_LoadLine(LWT_TOPOLOGY* topo, LWLINE* line, double tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_clone
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7536,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7537,1
    - Dst: lwt_LoadLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7538,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - topo
    - poly
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOLY*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7541
      start: 7524
    functionDepth: 20
    functionLinenumber: 7524
    functionLinenumberEnd: 7541
    functionName: lwt_LoadPolygon
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - ptarray_clone
    - lwline_free
    - lwline_construct
    - lwt_LoadLine
    linkageType: ''
    returnType: void
    signature: void lwt_LoadPolygon(LWT_TOPOLOGY* topo, const LWPOLY* poly, double
      tol)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_is_empty
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7557,1
    - Dst: _LWT_MINTOLERANCE
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7564,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7565,1
    - Dst: lwt_LoadPolygon
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7567,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7573,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7573,1
    - Dst: gbox_expand
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7574,1
    - Dst: lwt_be_getFaceWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7575,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7579,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7580,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7587,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7587,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7590,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7591,1
    - Dst: GEOSPrepare
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7594,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7595,1
    - Dst: lwt_GetFaceGeometry
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7604,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7608,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7609,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7610,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7611,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7612,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7616,1
    - Dst: lwgeom_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7617,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7620,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7621,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7622,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7623,1
    - Dst: GEOSPointOnSurface
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7626,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7627,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7630,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7631,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7632,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7633,1
    - Dst: GEOSPreparedCovers
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7636,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7637,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7640,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7641,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7642,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7643,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7654,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7655,1
    - Dst: _lwt_release_faces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7656,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 4
    argNames:
    - topo
    - poly
    - tol
    - nfaces
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOLY*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7664
      start: 7543
    functionDepth: 21
    functionLinenumber: 7543
    functionLinenumberEnd: 7664
    functionName: lwt_AddPolygon
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - GEOSPreparedCovers
    - GEOSPointOnSurface
    - GEOSPrepare
    - GEOSPreparedGeom_destroy
    - lwalloc
    - lwt_be_getFaceWithinBox2D
    - PGTOPO_BE_ERROR
    - _lwt_release_faces
    - _LWT_MINTOLERANCE
    - lwerror
    - LWGEOM2GEOS
    - lwpoly_as_lwgeom
    - GEOSGeom_destroy
    - lwfree
    - lwt_GetFaceGeometry
    - lwt_LoadPolygon
    - gbox_expand
    - LWDEBUGF
    - lwpoly_is_empty
    linkageType: ''
    returnType: LWT_ELEMID
    signature: 'LWT_ELEMID *

      lwt_AddPolygon(LWT_TOPOLOGY* topo, LWPOLY* poly, double tol, int* nfaces)'
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getClosestEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7682,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7692,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7704,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7706,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7712,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7714,1
    - Dst: LWDEBUGGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7718,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7718,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7721,1
    - Dst: ptarray_closest_segment_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7722,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7723,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7724,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7725,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7726,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7777,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7780,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7790,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7791,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7798,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7801,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7803,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7811,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7812,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7813,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7819,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7823,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7824,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7827,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7828,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7829,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7837,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7838,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7841,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7845,1
    - Dst: _lwt_FindAdjacentEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7847,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7849,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7854,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7858,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7863,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7869,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7873,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7880,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7881,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7889,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7904,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7909,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7919,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7924,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7935,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7936,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7939,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7942,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7943,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7946,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7949,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7950,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7953,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7963,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7984,1
    - Dst: lw_segment_side
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7993,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:7994,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8007,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8008,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8014,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 150
    argCount: 2
    argNames:
    - topo
    - pt
    argTypes:
    - LWT_TOPOLOGY*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8016
      start: 7666
    functionDepth: 6
    functionLinenumber: 7666
    functionLinenumberEnd: 8016
    functionName: lwt_GetFaceContainingPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 3
    functionsReached:
    - lw_segment_side
    - ptarray_closest_segment_2d
    - lwt_be_getEdgeByNode
    - getPoint2d_cp
    - _lwt_FindAdjacentEdges
    - LWDEBUGGF
    - LWDEBUG
    - lwerror
    - lwline_as_lwgeom
    - _lwt_release_edges
    - lwt_be_getClosestEdge
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    - azimuth_pt_pt
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID lwt_GetFaceContainingPoint(LWT_TOPOLOGY* topo, const LWPOINT*
      pt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwt_LoadPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8024,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8024,1
    - Dst: lwt_LoadLine
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8028,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8028,1
    - Dst: lwt_LoadPolygon
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8032,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8032,1
    - Dst: _lwt_LoadGeometryRecursive
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8044,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8050,1
    - Dst: lwtype_name
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - topo
    - geom
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8056
      start: 8018
    functionDepth: 21
    functionLinenumber: 8018
    functionLinenumberEnd: 8056
    functionName: _lwt_LoadGeometryRecursive
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 1
    functionsReached:
    - lwt_LoadLine
    - lwgeom_as_lwpoint
    - lwerror
    - lwgeom_as_lwpoly
    - lwt_LoadPoint
    - _lwt_LoadGeometryRecursive
    - lwt_LoadPolygon
    - lwtype_name
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void _lwt_LoadGeometryRecursive(LWT_TOPOLOGY* topo, LWGEOM* geom, double
      tol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_LoadGeometryRecursive
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo.c:8061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topo
    - geom
    - tol
    argTypes:
    - LWT_TOPOLOGY*
    - LWGEOM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8062
      start: 8058
    functionDepth: 22
    functionLinenumber: 8058
    functionLinenumberEnd: 8062
    functionName: lwt_LoadGeometry
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    functionUses: 0
    functionsReached:
    - _lwt_LoadGeometryRecursive
    linkageType: ''
    returnType: void
    signature: void lwt_LoadGeometry(LWT_TOPOLOGY* topo, LWGEOM* geom, double tol)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - si1
    - si2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: compare_iso_edges_by_id
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_iso_edges_by_id(const void *si1, const void *si2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tab
    - id
    argTypes:
    - LWT_ISO_EDGE_TABLE*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: _lwt_getIsoEdgeById
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      _lwt_getIsoEdgeById(LWT_ISO_EDGE_TABLE *tab, LWT_ELEMID id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: LWT_EDGERING_INIT
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_INIT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: LWT_EDGERING_PUSH
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_PUSH(a, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: LWT_EDGERING_CLEAN
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_CLEAN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: LWT_EDGERING_ARRAY_INIT
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_ARRAY_INIT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: LWT_EDGERING_ARRAY_CLEAN
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_ARRAY_CLEAN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: LWT_EDGERING_ARRAY_PUSH
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWT_EDGERING_ARRAY_PUSH(a, r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:177,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:178,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - it
    - pt
    argTypes:
    - LWT_EDGERING_POINT_ITERATOR*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: _lwt_EdgeRingIterator_next
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - getPoint2d_p
    - LWDEBUG
    linkageType: ''
    returnType: int
    signature: int _lwt_EdgeRingIterator_next(LWT_EDGERING_POINT_ITERATOR *it, POINT2D
      *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - er
    argTypes:
    - LWT_EDGERING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: _lwt_EdgeRingIterator_begin
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: LWT_EDGERING_POINT_ITERATOR
    signature: 'LWT_EDGERING_POINT_ITERATOR *

      _lwt_EdgeRingIterator_begin(LWT_EDGERING *er)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - topo
    - etab
    - from
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE_TABLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: _lwt_FetchNextUnvisitedEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _lwt_FetchNextUnvisitedEdge(__attribute__((__unused__)) LWT_TOPOLOGY
      *topo, LWT_ISO_EDGE_TABLE *etab, int from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getEdgeWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:240,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - topo
    - numedges
    argTypes:
    - LWT_TOPOLOGY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: _lwt_FetchAllEdges
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwt_be_getEdgeWithinBox2D
    - PGTOPO_BE_ERROR
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      _lwt_FetchAllEdges(LWT_TOPOLOGY *topo, int *numedges)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:271,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:273,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:283,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:290,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:300,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:305,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:306,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:307,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:312,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:313,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:314,1
    - Dst: lwt_be_updateEdgesById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:323,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:328,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:329,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:330,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:335,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:336,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:337,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:343,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - topo
    - ring
    - face
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_EDGERING*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 347
    functionName: _lwt_UpdateEdgeRingSideFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwerror
    - lwt_be_updateEdgesById
    - lwfree
    - lwalloc
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: "int _lwt_UpdateEdgeRingSideFace(LWT_TOPOLOGY *topo, LWT_EDGERING *ring,\n
      \                           LWT_ELEMID face)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:361,1
    - Dst: LWT_EDGERING_INIT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:362,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:367,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:372,1
    - Dst: LWT_EDGERING_PUSH
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:380,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:383,1
    - Dst: _lwt_getIsoEdgeById
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:387,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:390,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - topo
    - edges
    - edge
    - side
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE_TABLE*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 398
    functionName: _lwt_BuildEdgeRing
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwerror
    - LWT_EDGERING_PUSH
    - LWT_EDGERING_INIT
    - lwalloc
    - LWDEBUGF
    - _lwt_getIsoEdgeById
    linkageType: ''
    returnType: LWT_EDGERING
    signature: "LWT_EDGERING *\n_lwt_BuildEdgeRing(__attribute__((__unused__)) LWT_TOPOLOGY
      *topo, LWT_ISO_EDGE_TABLE *edges,\n                   LWT_ISO_EDGE *edge, int
      side)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_EdgeRingIterator_next
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:409,1
    - Dst: _lwt_EdgeRingIterator_next
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:410,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:412,1
    - Dst: _lwt_EdgeRingIterator_next
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - it
    argTypes:
    - LWT_EDGERING_POINT_ITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: _lwt_EdgeRingSignedArea
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - _lwt_EdgeRingIterator_next
    - LWDEBUG
    linkageType: ''
    returnType: double
    signature: double _lwt_EdgeRingSignedArea(LWT_EDGERING_POINT_ITERATOR *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:437,1
    - Dst: _lwt_EdgeRingIterator_begin
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:438,1
    - Dst: _lwt_EdgeRingSignedArea
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:439,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:440,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LWT_EDGERING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 444
    functionName: _lwt_EdgeRingIsCCW
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - _lwt_EdgeRingSignedArea
    - lwfree
    - _lwt_EdgeRingIterator_begin
    linkageType: ''
    returnType: int
    signature: int _lwt_EdgeRingIsCCW(LWT_EDGERING *ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_EdgeRingIterator_next
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:455,1
    - Dst: _lwt_EdgeRingIterator_next
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:457,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:483,1
    - Dst: memcmp
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:486,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - p
    - it
    argTypes:
    - POINT2D*
    - LWT_EDGERING_POINT_ITERATOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 495
    functionName: _lwt_EdgeRingCrossingCount
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwerror
    - _lwt_EdgeRingIterator_next
    - LWDEBUGF
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _lwt_EdgeRingCrossingCount(const POINT2D *p, LWT_EDGERING_POINT_ITERATOR
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_EdgeRingIterator_begin
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:503,1
    - Dst: _lwt_EdgeRingCrossingCount
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:504,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ring
    - p
    argTypes:
    - LWT_EDGERING*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 5
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: _lwt_EdgeRingContainsPoint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - _lwt_EdgeRingCrossingCount
    - lwfree
    - _lwt_EdgeRingIterator_begin
    linkageType: ''
    returnType: int
    signature: int _lwt_EdgeRingContainsPoint(LWT_EDGERING *ring, POINT2D *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:516,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:521,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:521,1
    - Dst: gbox_clone
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:522,1
    - Dst: gbox_merge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LWT_EDGERING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: _lwt_EdgeRingGetBbox
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - gbox_merge
    - gbox_clone
    - lwline_as_lwgeom
    - LWDEBUGF
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      _lwt_EdgeRingGetBbox(LWT_EDGERING *ring)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - LWT_EDGERING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: _lwt_EdgeRingGetFace
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID _lwt_EdgeRingGetFace(LWT_EDGERING *ring)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_BuildEdgeRing
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:576,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:578,1
    - Dst: _lwt_EdgeRingIsCCW
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:581,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:588,1
    - Dst: _lwt_EdgeRingGetBbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:590,1
    - Dst: lwt_be_insertFaces
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:594,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:598,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:603,1
    - Dst: LWT_EDGERING_ARRAY_PUSH
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:608,1
    - Dst: _lwt_UpdateEdgeRingSideFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:611,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:614,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:615,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:622,1
    - Dst: LWT_EDGERING_ARRAY_PUSH
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 7
    argNames:
    - topo
    - edge
    - side
    - edges
    - holes
    - shells
    - registered
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    - LWT_ISO_EDGE_TABLE*
    - LWT_EDGERING_ARRAY*
    - LWT_EDGERING_ARRAY*
    - LWT_ELEMID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 628
    functionName: _lwt_RegisterFaceOnEdgeSide
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - _lwt_UpdateEdgeRingSideFace
    - _lwt_EdgeRingIsCCW
    - _lwt_EdgeRingGetBbox
    - LWDEBUG
    - lwt_be_insertFaces
    - lwerror
    - lwt_be_lastErrorMessage
    - _lwt_BuildEdgeRing
    - LWT_EDGERING_ARRAY_PUSH
    - PGTOPO_BE_ERROR
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: "int _lwt_RegisterFaceOnEdgeSide(LWT_TOPOLOGY *topo, LWT_ISO_EDGE *edge,\n
      \                           int side, LWT_ISO_EDGE_TABLE *edges,\n                            LWT_EDGERING_ARRAY
      *holes,\n                            LWT_EDGERING_ARRAY *shells,\n                            LWT_ELEMID
      *registered)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LWT_EDGERING_ARRAY_PUSH
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - userdata
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 636
    functionName: _lwt_AccumulateCanditates
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - LWT_EDGERING_ARRAY_PUSH
    linkageType: ''
    returnType: void
    signature: void _lwt_AccumulateCanditates(void* item, void* userdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:649,1
    - Dst: _lwt_EdgeRingGetBbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:651,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:655,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:656,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:656,1
    - Dst: lwpoint_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:657,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:659,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:668,1
    - Dst: GEOSSTRtree_create
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:669,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:672,1
    - Dst: _lwt_EdgeRingGetBbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:678,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:679,1
    - Dst: ptarray_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:682,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:687,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:690,1
    - Dst: lwline_construct
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:691,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:694,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:694,1
    - Dst: lwline_free
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:695,1
    - Dst: GEOSSTRtree_insert
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:696,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:698,1
    - Dst: LWT_EDGERING_ARRAY_INIT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:702,1
    - Dst: GEOSSTRtree_query
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:703,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:704,1
    - Dst: _lwt_EdgeRingGetBbox
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:712,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:717,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:718,1
    - Dst: gbox_same
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:723,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:725,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:726,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:731,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:733,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:734,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:740,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:742,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:744,1
    - Dst: _lwt_EdgeRingContainsPoint
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:748,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:754,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:755,1
    - Dst: _lwt_EdgeRingGetFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:758,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:764,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:766,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 3
    argNames:
    - topo
    - ring
    - shells
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_EDGERING*
    - LWT_EDGERING_ARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 638
    functionDepth: 10
    functionLinenumber: 638
    functionLinenumberEnd: 769
    functionName: _lwt_FindFaceContainingRing
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - lwline_as_lwgeom
    - lwline_construct
    - ptarray_set_point4d
    - LWT_EDGERING_ARRAY_INIT
    - lwpoint_free
    - GEOSSTRtree_query
    - lwerror
    - ptarray_construct
    - GEOSSTRtree_insert
    - LWGEOM2GEOS
    - _lwt_EdgeRingGetFace
    - gbox_contains_2d
    - GEOSGeom_destroy
    - LWT_EDGERING_ARRAY_CLEAN
    - getPoint2d_p
    - lwline_free
    - LWDEBUGF
    - GEOSSTRtree_create
    - _lwt_EdgeRingGetBbox
    - LWDEBUG
    - gbox_same
    - _lwt_EdgeRingContainsPoint
    - lwpoint_as_lwgeom
    - lwpoint_make2d
    linkageType: ''
    returnType: LWT_ELEMID
    signature: "LWT_ELEMID _lwt_FindFaceContainingRing(LWT_TOPOLOGY* topo, LWT_EDGERING
      *ring,\n                            LWT_EDGERING_ARRAY *shells)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwt_be_getFaceWithinBox2D
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:786,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:789,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 799
    functionName: _lwt_CheckFacesExist
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - PGTOPO_BE_ERROR
    - lwfree
    - lwt_be_getFaceWithinBox2D
    linkageType: ''
    returnType: int
    signature: int _lwt_CheckFacesExist(LWT_TOPOLOGY *topo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LWT_EDGERING_ARRAY_INIT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:829,1
    - Dst: LWT_EDGERING_ARRAY_INIT
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:830,1
    - Dst: initGEOS
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:832,1
    - Dst: _lwt_CheckFacesExist
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:838,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:842,1
    - Dst: _lwt_FetchAllEdges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:849,1
    - Dst: qsort
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:860,1
    - Dst: _lwt_FetchNextUnvisitedEdge
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:869,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:875,1
    - Dst: _lwt_RegisterFaceOnEdgeSide
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:879,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:882,1
    - Dst: _lwt_RegisterFaceOnEdgeSide
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:888,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:891,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:899,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:900,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:901,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:902,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:903,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:907,1
    - Dst: _lwt_FindFaceContainingRing
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:917,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:918,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:921,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:922,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:923,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:924,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:925,1
    - Dst: _lwt_UpdateEdgeRingSideFace
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:928,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:931,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:932,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:933,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:934,1
    - Dst: lwt_be_lastErrorMessage
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:935,1
    - Dst: LWDEBUG
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:940,1
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:942,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:945,1
    - Dst: LWT_EDGERING_ARRAY_CLEAN
      Src: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c:946,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 801
    functionDepth: 11
    functionLinenumber: 801
    functionLinenumberEnd: 949
    functionName: lwt_Polygonize
    functionSourceFile: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    functionUses: 0
    functionsReached:
    - _lwt_UpdateEdgeRingSideFace
    - _lwt_CheckFacesExist
    - lwt_be_lastErrorMessage
    - LWDEBUG
    - lwerror
    - _lwt_FetchNextUnvisitedEdge
    - _lwt_release_edges
    - qsort
    - _lwt_RegisterFaceOnEdgeSide
    - LWT_EDGERING_ARRAY_CLEAN
    - _lwt_FindFaceContainingRing
    - _lwt_FetchAllEdges
    - initGEOS
    - LWT_EDGERING_ARRAY_INIT
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwt_Polygonize(LWT_TOPOLOGY* topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - end
    argTypes:
    - LWT_EDGEEND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: lwt_edgeEnd_release
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwt_edgeEnd_release( LWT_EDGEEND *end )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:52,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:53,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:56,1
    - Dst: getPoint2d_p
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:57,1
    - Dst: P2D_SAME_STRICT
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - pa
    - from
    - dir
    - p0
    - p1
    argTypes:
    - POINTARRAY*
    - int
    - int
    - POINT2D*
    - POINT2D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: _lwt_DistinctVertexes2D
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    - P2D_SAME_STRICT
    - getPoint2d_p
    linkageType: ''
    returnType: int
    signature: int _lwt_DistinctVertexes2D(const POINTARRAY* pa, int from, int dir,
      POINT2D *p0, POINT2D *p1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:70,1
    - Dst: _lwt_DistinctVertexes2D
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:75,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:84,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:88,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:89,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - edge
    - outgoing
    argTypes:
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: lwt_edgeEnd_fromEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend.c
    functionUses: 0
    functionsReached:
    - _lwt_DistinctVertexes2D
    - lwerror
    - lwalloc
    - LWDEBUGF
    - azimuth_pt_pt
    linkageType: ''
    returnType: LWT_EDGEEND
    signature: 'LWT_EDGEEND *

      lwt_edgeEnd_fromEdge( const LWT_ISO_EDGE *edge, int outgoing )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: PGTOPO_BE_ERROR
    functionSourceFile: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PGTOPO_BE_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: PGTOPO_BE_ERRORF
    functionSourceFile: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PGTOPO_BE_ERRORF(msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - nodeID
    argTypes:
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: lwt_edgeEndStar_init
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 1
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: LWT_EDGEEND_STAR
    signature: 'LWT_EDGEEND_STAR *

      lwt_edgeEndStar_init( LWT_ELEMID nodeID )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:57,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:60,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - star
    argTypes:
    - LWT_EDGEEND_STAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: lwt_edgeEndStar_release
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 0
    functionsReached:
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwt_edgeEndStar_release( LWT_EDGEEND_STAR *star )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lwt_edgeEnd_fromEdge
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:74,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:76,1
    - Dst: lwt_edgeEnd_fromEdge
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:84,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:86,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:95,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:101,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:106,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:110,1
    - Dst: lwrealloc
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:112,1
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:114,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:116,1
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - star
    - edge
    argTypes:
    - LWT_EDGEEND_STAR*
    - LWT_ISO_EDGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 126
    functionName: lwt_edgeEndStar_addEdge
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 1
    functionsReached:
    - lwerror
    - lwrealloc
    - lwalloc
    - lwt_edgeEnd_fromEdge
    - LWDEBUGF
    linkageType: ''
    returnType: void
    signature: void lwt_edgeEndStar_addEdge( LWT_EDGEEND_STAR *star, const LWT_ISO_EDGE
      *edge )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: lwt_edgeEnd_compare
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 0
    functionsReached:
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int lwt_edgeEnd_compare(const void *i1, const void *i2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - star
    argTypes:
    - LWT_EDGEEND_STAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: lwt_edgeEndStar_ensureSorted
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void lwt_edgeEndStar_ensureSorted( LWT_EDGEEND_STAR *star )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwdebug
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:161,1
    - Dst: lwdebug
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - star
    argTypes:
    - LWT_EDGEEND_STAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: lwt_EdgeEndStar_debugPrint
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 1
    functionsReached:
    - lwdebug
    linkageType: ''
    returnType: void
    signature: void lwt_EdgeEndStar_debugPrint( const LWT_EDGEEND_STAR *star )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwt_edgeEndStar_ensureSorted
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:176,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - star
    - edge
    - outgoing
    argTypes:
    - LWT_EDGEEND_STAR*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: lwt_edgeEndStar_getNextCW
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 1
    functionsReached:
    - lwt_edgeEndStar_ensureSorted
    - lwerror
    linkageType: ''
    returnType: LWT_EDGEEND
    signature: 'LWT_EDGEEND *

      lwt_edgeEndStar_getNextCW( LWT_EDGEEND_STAR *star, LWT_ISO_EDGE *edge, int outgoing
      )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwt_edgeEndStar_ensureSorted
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:200,1
    - Dst: lwerror
      Src: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - star
    - edge
    - outgoing
    argTypes:
    - LWT_EDGEEND_STAR*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: lwt_edgeEndStar_getNextCCW
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
    functionUses: 1
    functionsReached:
    - lwt_edgeEndStar_ensureSorted
    - lwerror
    linkageType: ''
    returnType: LWT_EDGEEND
    signature: 'LWT_EDGEEND *

      lwt_edgeEndStar_getNextCCW( LWT_EDGEEND_STAR *star, LWT_ISO_EDGE *edge, int
      outgoing )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _lwt_release_edges
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:32,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:34,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - star
    argTypes:
    - LWT_NODE_EDGES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: lwt_nodeEdges_release
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_node_edges.c
    functionUses: 0
    functionsReached:
    - _lwt_release_edges
    - lwfree
    linkageType: ''
    returnType: void
    signature: void lwt_nodeEdges_release( LWT_NODE_EDGES *star )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:46,1
    - Dst: lwt_be_getEdgeByNode
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:49,1
    - Dst: PGTOPO_BE_ERROR
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:52,1
    - Dst: lwfree
      Src: /src/postgis/liblwgeom/topo/lwt_node_edges.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - topo
    - node_id
    - fields
    argTypes:
    - LWT_TOPOLOGY*
    - LWT_ELEMID
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: lwt_nodeEdges_loadFromDB
    functionSourceFile: /src/postgis/liblwgeom/topo/lwt_node_edges.c
    functionUses: 1
    functionsReached:
    - lwfree
    - lwt_be_getEdgeByNode
    - PGTOPO_BE_ERROR
    - lwalloc
    linkageType: ''
    returnType: LWT_NODE_EDGES
    signature: 'LWT_NODE_EDGES *

      lwt_nodeEdges_loadFromDB( LWT_TOPOLOGY *topo, LWT_ELEMID node_id, int fields
      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ABS
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/topology/postgis_topology.c:102,1
    - Dst: vsnprintf
      Src: /src/postgis/topology/postgis_topology.c:104,1
    - Dst: va_end
      Src: /src/postgis/topology/postgis_topology.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - be_in
    - fmt
    argTypes:
    - LWT_BE_DATA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: cberror
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cberror(const LWT_BE_DATA* be_in, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:114,1
    - Dst: lwtype_name
      Src: /src/postgis/topology/postgis_topology.c:114,1
    - Dst: toupper
      Src: /src/postgis/topology/postgis_topology.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - type
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: _lwtype_upper_name
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwtype_name
    - toupper
    - snprintf
    linkageType: ''
    returnType: void
    signature: void _lwtype_upper_name(int type, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct
      Src: /src/postgis/topology/postgis_topology.c:128,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/topology/postgis_topology.c:134,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/topology/postgis_topology.c:137,1
    - Dst: lwline_construct
      Src: /src/postgis/topology/postgis_topology.c:138,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - bbox
    - srid
    argTypes:
    - GBOX*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: _box2d_to_lwgeom
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - ptarray_construct
    - ptarray_set_point4d
    - lwline_construct
    - lwline_as_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      _box2d_to_lwgeom(const GBOX *bbox, int32_t srid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _box2d_to_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:147,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:148,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bbox
    - srid
    argTypes:
    - GBOX*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 12
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: _box2d_to_hexwkb
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_hexwkb_buffer
    - _box2d_to_lwgeom
    - lwgeom_free
    linkageType: ''
    returnType: char
    signature: 'char *

      _box2d_to_hexwkb(const GBOX *bbox, int32_t srid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - be
    argTypes:
    - LWT_BE_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: cb_lastErrorMessage
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cb_lastErrorMessage(const LWT_BE_DATA* be)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SPI_prepare
      Src: /src/postgis/topology/postgis_topology.c:180,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:183,1
    - Dst: SPI_keepplan
      Src: /src/postgis/topology/postgis_topology.c:187,1
    - Dst: CStringGetDatum
      Src: /src/postgis/topology/postgis_topology.c:192,1
    - Dst: SPI_execute_plan
      Src: /src/postgis/topology/postgis_topology.c:193,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:194,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:197,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:204,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:208,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:214,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:218,1
    - Dst: pstrdup
      Src: /src/postgis/topology/postgis_topology.c:220,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:223,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:226,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:227,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:230,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:232,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:235,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:236,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:239,1
    - Dst: lwnotice
      Src: /src/postgis/topology/postgis_topology.c:242,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:247,1
    - Dst: lwnotice
      Src: /src/postgis/topology/postgis_topology.c:250,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/topology/postgis_topology.c:255,1
    - Dst: TupleDescAttr
      Src: /src/postgis/topology/postgis_topology.c:259,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:261,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 2
    argNames:
    - be
    - name
    argTypes:
    - LWT_BE_DATA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 268
    functionName: cb_loadTopologyByName
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - SPI_keepplan
    - pstrdup
    - POSTGIS_DEBUGF
    - DatumGetInt32
    - TupleDescAttr
    - SPI_execute_plan
    - DatumGetFloat8
    - CStringGetDatum
    - SPI_freetuptable
    - SPI_prepare
    - cberror
    - SPI_getbinval
    - MemoryContextSwitchTo
    - lwnotice
    linkageType: ''
    returnType: LWT_BE_TOPOLOGY
    signature: 'LWT_BE_TOPOLOGY *

      cb_loadTopologyByName(const LWT_BE_DATA* be, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_BE_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: cb_topoGetSRID
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cb_topoGetSRID(const LWT_BE_TOPOLOGY* topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_BE_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: cb_topoHasZ
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cb_topoHasZ(const LWT_BE_TOPOLOGY* topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_BE_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: cb_topoGetPrecision
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double cb_topoGetPrecision(const LWT_BE_TOPOLOGY* topo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:291,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_BE_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: cb_freeTopology
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: int
    signature: int cb_freeTopology(LWT_BE_TOPOLOGY* topo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:303,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:308,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:313,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:318,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:323,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:328,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:329,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:334,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:335,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - str
    - fields
    - fullEdgeData
    argTypes:
    - StringInfo
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 342
    functionName: addEdgeFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfo
    - appendStringInfoString
    linkageType: ''
    returnType: void
    signature: void addEdgeFields(StringInfo str, int fields, int fullEdgeData)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:351,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:355,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:357,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:362,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:367,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:372,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:377,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:382,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:384,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:384,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:389,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:391,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:391,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:398,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:398,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:399,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:400,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:404,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - str
    - edge
    - fields
    - fullEdgeData
    argTypes:
    - StringInfo
    - LWT_ISO_EDGE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 345
    functionDepth: 12
    functionLinenumber: 345
    functionLinenumberEnd: 408
    functionName: addEdgeValues
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - lwline_as_lwgeom
    - appendStringInfoChar
    - appendStringInfo
    - lwfree
    - lwgeom_to_hexwkb_buffer
    - ABS
    linkageType: ''
    returnType: void
    signature: void addEdgeValues(StringInfo str, const LWT_ISO_EDGE *edge, int fields,
      int fullEdgeData)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:445,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:446,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:451,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:452,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:457,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:458,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:463,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:464,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:469,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:470,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:475,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:476,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:480,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:481,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:481,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:486,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:487,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:491,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:492,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:492,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:497,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:498,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:498,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:499,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:500,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 5
    argNames:
    - str
    - edge
    - fields
    - fullEdgeData
    - updType
    argTypes:
    - StringInfo
    - LWT_ISO_EDGE*
    - int
    - int
    - enum UpdateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 417
    functionDepth: 12
    functionLinenumber: 417
    functionLinenumberEnd: 502
    functionName: addEdgeUpdate
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - lwline_as_lwgeom
    - appendStringInfo
    - lwfree
    - lwgeom_to_hexwkb_buffer
    - ABS
    linkageType: ''
    returnType: void
    signature: "void addEdgeUpdate(StringInfo str, const LWT_ISO_EDGE* edge, int fields,\n
      \             int fullEdgeData, enum UpdateType updType)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:532,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:533,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:538,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:541,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:545,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:551,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:552,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:552,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:553,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - str
    - node
    - fields
    - fullNodeData
    - updType
    argTypes:
    - StringInfo
    - LWT_ISO_NODE*
    - int
    - int
    - enum UpdateType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 504
    functionDepth: 12
    functionLinenumber: 504
    functionLinenumberEnd: 556
    functionName: addNodeUpdate
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - appendStringInfo
    - lwpoint_as_lwgeom
    - lwfree
    - lwgeom_to_hexwkb_buffer
    linkageType: ''
    returnType: void
    signature: "void addNodeUpdate(StringInfo str, const LWT_ISO_NODE* node, int fields,\n
      \             int fullNodeData, enum UpdateType updType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:565,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:570,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - str
    - fields
    argTypes:
    - StringInfo
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: addNodeFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfo
    - appendStringInfoString
    linkageType: ''
    returnType: void
    signature: void addNodeFields(StringInfo str, int fields)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:586,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - str
    - fields
    argTypes:
    - StringInfo
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: addFaceFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfo
    - appendStringInfoString
    linkageType: ''
    returnType: void
    signature: void addFaceFields(StringInfo str, int fields)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:603,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:608,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:610,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:617,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:618,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:625,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:625,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:626,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:627,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:631,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - str
    - node
    - fields
    argTypes:
    - StringInfo
    - LWT_ISO_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 597
    functionDepth: 12
    functionLinenumber: 597
    functionLinenumberEnd: 636
    functionName: addNodeValues
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - appendStringInfoChar
    - appendStringInfo
    - lwpoint_as_lwgeom
    - lwfree
    - lwgeom_to_hexwkb_buffer
    linkageType: ''
    returnType: void
    signature: void addNodeValues(StringInfo str, const LWT_ISO_NODE *node, int fields)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:643,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:645,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:651,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:652,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:653,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - str
    - face
    - srid
    argTypes:
    - StringInfo
    - LWT_ISO_FACE*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 639
    functionDepth: 13
    functionLinenumber: 639
    functionLinenumberEnd: 660
    functionName: addFaceValues
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwfree
    - _box2d_to_hexwkb
    - appendStringInfoString
    - appendStringInfo
    linkageType: ''
    returnType: void
    signature: void addFaceValues(StringInfo str, LWT_ISO_FACE *face, int32_t srid)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:672,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:677,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:680,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:685,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:686,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:695,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:698,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:703,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:704,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:711,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:714,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:719,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:720,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:727,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:730,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:735,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:736,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:743,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:746,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:751,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:752,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:759,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:762,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:767,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:768,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:775,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:778,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:783,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:784,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:791,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/topology/postgis_topology.c:795,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:796,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:797,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/topology/postgis_topology.c:797,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:798,1
    - Dst: DatumGetPointer
      Src: /src/postgis/topology/postgis_topology.c:799,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:799,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:804,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 96
    argCount: 4
    argNames:
    - edge
    - row
    - rowdesc
    - fields
    argTypes:
    - LWT_ISO_EDGE*
    - HeapTuple
    - TupleDesc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 662
    functionDepth: 6
    functionLinenumber: 662
    functionLinenumberEnd: 812
    functionName: fillEdgeFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - DatumGetPointer
    - lwgeom_free
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUGF
    - DatumGetInt32
    - lwgeom_from_gserialized
    - lwpgwarning
    - lwgeom_clone_deep
    - pfree
    - SPI_getbinval
    - lwgeom_as_lwline
    linkageType: ''
    returnType: void
    signature: void fillEdgeFields(LWT_ISO_EDGE* edge, HeapTuple row, TupleDesc rowdesc,
      int fields)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:825,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:826,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:830,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:832,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:836,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/topology/postgis_topology.c:839,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:840,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:841,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/topology/postgis_topology.c:841,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:842,1
    - Dst: DatumGetPointer
      Src: /src/postgis/topology/postgis_topology.c:843,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:843,1
    - Dst: lwpgnotice
      Src: /src/postgis/topology/postgis_topology.c:847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - node
    - row
    - rowdesc
    - fields
    argTypes:
    - LWT_ISO_NODE*
    - HeapTuple
    - TupleDesc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 814
    functionDepth: 6
    functionLinenumber: 814
    functionLinenumberEnd: 851
    functionName: fillNodeFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - DatumGetPointer
    - lwgeom_free
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - lwgeom_clone_deep
    - pfree
    - SPI_getbinval
    - lwpgnotice
    linkageType: ''
    returnType: void
    signature: void fillNodeFields(LWT_ISO_NODE* node, HeapTuple row, TupleDesc rowdesc,
      int fields)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:865,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:866,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:870,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/topology/postgis_topology.c:874,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:875,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/topology/postgis_topology.c:876,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/topology/postgis_topology.c:877,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:880,1
    - Dst: gbox_clone
      Src: /src/postgis/topology/postgis_topology.c:881,1
    - Dst: lwpgnotice
      Src: /src/postgis/topology/postgis_topology.c:885,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:888,1
    - Dst: DatumGetPointer
      Src: /src/postgis/topology/postgis_topology.c:889,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:889,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - face
    - row
    - rowdesc
    - fields
    argTypes:
    - LWT_ISO_FACE*
    - HeapTuple
    - TupleDesc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 853
    functionDepth: 6
    functionLinenumber: 853
    functionLinenumberEnd: 898
    functionName: fillFaceFields
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - DatumGetPointer
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUGF
    - DatumGetInt32
    - gbox_clone
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - pfree
    - SPI_getbinval
    - POSTGIS_DEBUG
    - lwpgnotice
    linkageType: ''
    returnType: void
    signature: void fillFaceFields(LWT_ISO_FACE* face, HeapTuple row, TupleDesc rowdesc,
      int fields)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:905,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - row
    - desc
    - col
    - val
    argTypes:
    - HeapTuple
    - TupleDesc
    - int
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 909
    functionName: getNotNullInt32
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - DatumGetInt32
    - SPI_getbinval
    linkageType: ''
    returnType: int
    signature: int getNotNullInt32( HeapTuple row, TupleDesc desc, int col, int32
      *val )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:923,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:924,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:925,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:926,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:927,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:931,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:933,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:934,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:936,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:937,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:940,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:941,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:945,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:947,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:954,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:958,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 913
    functionDepth: 7
    functionLinenumber: 913
    functionLinenumberEnd: 964
    functionName: cb_getEdgeById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - fillEdgeFields
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - pfree
    - SPI_freetuptable
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      cb_getEdgeById(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:977,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:978,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:979,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:980,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:981,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:985,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:987,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:991,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:993,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:995,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:996,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:998,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:999,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1002,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1003,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1007,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1009,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1016,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1020,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 966
    functionDepth: 7
    functionLinenumber: 966
    functionLinenumberEnd: 1026
    functionName: cb_getEdgeByNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - fillEdgeFields
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - pfree
    - SPI_freetuptable
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      cb_getEdgeByNode(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1044,1
    - Dst: Int32GetDatum
      Src: /src/postgis/topology/postgis_topology.c:1045,1
    - Dst: construct_array
      Src: /src/postgis/topology/postgis_topology.c:1046,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1048,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1049,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1050,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1051,1
    - Dst: PointerGetDatum
      Src: /src/postgis/topology/postgis_topology.c:1056,1
    - Dst: _box2d_to_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:1061,1
    - Dst: geometry_serialize
      Src: /src/postgis/topology/postgis_topology.c:1062,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:1063,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1064,1
    - Dst: PointerGetDatum
      Src: /src/postgis/topology/postgis_topology.c:1066,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1071,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1072,1
    - Dst: SPI_execute_with_args
      Src: /src/postgis/topology/postgis_topology.c:1074,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1076,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1077,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1078,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1081,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1082,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1086,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1088,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1095,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1099,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - topo
    - ids
    - numelems
    - fields
    - box
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1028
    functionDepth: 7
    functionLinenumber: 1028
    functionLinenumberEnd: 1105
    functionName: cb_getEdgeByFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - _box2d_to_lwgeom
    - geometry_serialize
    - lwgeom_free
    - fillEdgeFields
    - appendStringInfoString
    - construct_array
    - POSTGIS_DEBUGF
    - PointerGetDatum
    - appendStringInfo
    - addEdgeFields
    - pfree
    - SPI_freetuptable
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_execute_with_args
    - Int32GetDatum
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      cb_getEdgeByFace(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields, const GBOX *box)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1117,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1118,1
    - Dst: addFaceFields
      Src: /src/postgis/topology/postgis_topology.c:1119,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1120,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1121,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1125,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1127,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1129,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1130,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1132,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1133,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1136,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1137,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1141,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1143,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1150,1
    - Dst: fillFaceFields
      Src: /src/postgis/topology/postgis_topology.c:1154,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1107
    functionDepth: 7
    functionLinenumber: 1107
    functionLinenumberEnd: 1160
    functionName: cb_getFacesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - fillFaceFields
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - addFaceFields
    linkageType: ''
    returnType: LWT_ISO_FACE
    signature: 'LWT_ISO_FACE *

      cb_getFacesById(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1173,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1174,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:1185,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1189,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1192,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1193,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1194,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1197,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1198,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1202,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1204,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1208,1
    - Dst: ABS
      Src: /src/postgis/topology/postgis_topology.c:1211,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1218,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1223,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:1231,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1234,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1235,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:1239,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1241,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:1251,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1254,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1255,1
    - Dst: DatumGetInt32
      Src: /src/postgis/topology/postgis_topology.c:1261,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1262,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1267,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1268,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 4
    argNames:
    - topo
    - edge
    - numelems
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1281
    functionName: cb_getRingEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_DEBUGF
    - DatumGetInt32
    - SPI_execute
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_getbinval
    - ABS
    linkageType: ''
    returnType: LWT_ELEMID
    signature: 'LWT_ELEMID *

      cb_getRingEdges(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID edge, uint64_t *numelems,
      int limit)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1294,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1295,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1296,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1297,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1298,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1302,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1304,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1305,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1306,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1307,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1310,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1311,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1315,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1317,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1324,1
    - Dst: fillNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1328,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - topo
    - ids
    - numelems
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1283
    functionDepth: 7
    functionLinenumber: 1283
    functionLinenumberEnd: 1334
    functionName: cb_getNodeById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - fillNodeFields
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - addNodeFields
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      cb_getNodeById(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1347,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1348,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1349,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1350,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1351,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1355,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1357,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:1360,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1361,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1362,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1364,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1365,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1366,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1367,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1370,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1371,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1375,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1377,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1384,1
    - Dst: fillNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1388,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 5
    argNames:
    - topo
    - ids
    - numelems
    - fields
    - box
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t*
    - int
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1336
    functionDepth: 13
    functionLinenumber: 1336
    functionLinenumberEnd: 1394
    functionName: cb_getNodeByFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - _box2d_to_hexwkb
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - fillNodeFields
    - SPI_freetuptable
    - pfree
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - addNodeFields
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      cb_getNodeByFace(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids, uint64_t
      *numelems, int fields, const GBOX *box)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1413,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1416,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1420,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1421,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1423,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:1425,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:1425,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1428,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1432,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1434,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1437,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1441,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1443,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1444,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1445,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1448,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1449,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1453,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1455,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:1472,1
    - Dst: DatumGetBool
      Src: /src/postgis/topology/postgis_topology.c:1473,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1475,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1478,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1483,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1487,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 6
    argNames:
    - topo
    - pt
    - dist
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWPOINT*
    - double
    - uint64_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1396
    functionDepth: 12
    functionLinenumber: 1396
    functionLinenumberEnd: 1493
    functionName: cb_getEdgeWithinDistance2D
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - palloc
    - fillEdgeFields
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - lwpoint_as_lwgeom
    - pfree
    - lwfree
    - initStringInfo
    - cberror
    - lwgeom_to_hexwkb_buffer
    - SPI_getbinval
    - DatumGetBool
    - SPI_freetuptable
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: "LWT_ISO_EDGE *\ncb_getEdgeWithinDistance2D(const LWT_BE_TOPOLOGY *topo,\n\t\t\t
      \  const LWPOINT *pt,\n\t\t\t   double dist,\n\t\t\t   uint64_t *numelems,\n\t\t\t
      \  int fields,\n\t\t\t   int64_t limit)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1512,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1515,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1519,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1520,1
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:1523,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1526,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1529,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/topology/postgis_topology.c:1531,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:1531,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1534,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1539,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1541,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1544,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1548,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1550,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1551,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1554,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1556,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1560,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1562,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:1579,1
    - Dst: DatumGetBool
      Src: /src/postgis/topology/postgis_topology.c:1580,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1584,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:1591,1
    - Dst: fillNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1595,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 6
    argNames:
    - topo
    - pt
    - dist
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWPOINT*
    - double
    - uint64_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1495
    functionDepth: 12
    functionLinenumber: 1495
    functionLinenumberEnd: 1602
    functionName: cb_getNodeWithinDistance2D
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - palloc
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - lwpgwarning
    - appendStringInfo
    - fillNodeFields
    - SPI_freetuptable
    - lwpoint_as_lwgeom
    - pfree
    - lwfree
    - initStringInfo
    - cberror
    - lwgeom_to_hexwkb_buffer
    - SPI_getbinval
    - DatumGetBool
    - addNodeFields
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: "LWT_ISO_NODE *\ncb_getNodeWithinDistance2D(const LWT_BE_TOPOLOGY *topo,\n\t\t\t
      \  const LWPOINT *pt,\n\t\t\t   double dist,\n\t\t\t   uint64_t *numelems,\n\t\t\t
      \  int fields,\n\t\t\t   int64_t limit)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1613,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1614,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1615,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1616,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1619,1
    - Dst: addNodeValues
      Src: /src/postgis/topology/postgis_topology.c:1621,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1623,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1625,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1627,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1628,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1631,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1633,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1636,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1642,1
    - Dst: fillNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1654,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1658,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - topo
    - nodes
    - numelems
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_NODE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1604
    functionDepth: 13
    functionLinenumber: 1604
    functionLinenumberEnd: 1661
    functionName: cb_insertNodes
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - fillNodeFields
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - addNodeValues
    - MemoryContextSwitchTo
    - cberror
    - addNodeFields
    linkageType: ''
    returnType: int
    signature: int cb_insertNodes(const LWT_BE_TOPOLOGY *topo, LWT_ISO_NODE *nodes,
      uint64_t numelems)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1673,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1675,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1676,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1677,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1680,1
    - Dst: addEdgeValues
      Src: /src/postgis/topology/postgis_topology.c:1682,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1685,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1687,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1688,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1689,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1692,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1694,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1697,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1699,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1702,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:1715,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1720,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - topo
    - edges
    - numelems
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_EDGE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1663
    functionDepth: 13
    functionLinenumber: 1663
    functionLinenumberEnd: 1723
    functionName: cb_insertEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - fillEdgeFields
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - addEdgeValues
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - pfree
    - SPI_freetuptable
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: int cb_insertEdges(const LWT_BE_TOPOLOGY *topo, LWT_ISO_EDGE *edges,
      uint64_t numelems)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1735,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1736,1
    - Dst: addFaceFields
      Src: /src/postgis/topology/postgis_topology.c:1737,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1738,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1741,1
    - Dst: addFaceValues
      Src: /src/postgis/topology/postgis_topology.c:1743,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1746,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1748,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1749,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1750,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1753,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1755,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1758,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1760,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1763,1
    - Dst: fillFaceFields
      Src: /src/postgis/topology/postgis_topology.c:1776,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:1781,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - topo
    - faces
    - numelems
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_FACE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1725
    functionDepth: 14
    functionLinenumber: 1725
    functionLinenumberEnd: 1784
    functionName: cb_insertFaces
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - addFaceValues
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - fillFaceFields
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - addFaceFields
    linkageType: ''
    returnType: int
    signature: int cb_insertFaces(const LWT_BE_TOPOLOGY *topo, LWT_ISO_FACE *faces,
      uint64_t numelems)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1797,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1798,1
    - Dst: addEdgeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1799,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1800,1
    - Dst: addEdgeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1803,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1804,1
    - Dst: addEdgeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1808,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1811,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1813,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1814,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1817,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1819,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1822,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1826,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - topo
    - sel_edge
    - sel_fields
    - upd_edge
    - upd_fields
    - exc_edge
    - exc_fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    - LWT_ISO_EDGE*
    - int
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1786
    functionDepth: 13
    functionLinenumber: 1786
    functionLinenumberEnd: 1829
    functionName: cb_updateEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - addEdgeUpdate
    linkageType: ''
    returnType: int
    signature: "int cb_updateEdges( const LWT_BE_TOPOLOGY* topo,\n                const
      LWT_ISO_EDGE* sel_edge, int sel_fields,\n                const LWT_ISO_EDGE*
      upd_edge, int upd_fields,\n                const LWT_ISO_EDGE* exc_edge, int
      exc_fields )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1842,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1843,1
    - Dst: addNodeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1844,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1845,1
    - Dst: addNodeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1848,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1849,1
    - Dst: addNodeUpdate
      Src: /src/postgis/topology/postgis_topology.c:1853,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1856,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1858,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1859,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1862,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1864,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1867,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - topo
    - sel_node
    - sel_fields
    - upd_node
    - upd_fields
    - exc_node
    - exc_fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_NODE*
    - int
    - LWT_ISO_NODE*
    - int
    - LWT_ISO_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1831
    functionDepth: 13
    functionLinenumber: 1831
    functionLinenumberEnd: 1874
    functionName: cb_updateNodes
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - pfree
    - addNodeUpdate
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: "int cb_updateNodes( const LWT_BE_TOPOLOGY* topo,\n                const
      LWT_ISO_NODE* sel_node, int sel_fields,\n                const LWT_ISO_NODE*
      upd_node, int upd_fields,\n                const LWT_ISO_NODE* exc_node, int
      exc_fields )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1889,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1894,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1901,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1902,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:1903,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1904,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1908,1
    - Dst: addNodeValues
      Src: /src/postgis/topology/postgis_topology.c:1909,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1911,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1916,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1921,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1926,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1929,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1931,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1933,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1934,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1937,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1939,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1942,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - topo
    - nodes
    - numnodes
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_NODE*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1876
    functionDepth: 13
    functionLinenumber: 1876
    functionLinenumberEnd: 1949
    functionName: cb_updateNodesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - addNodeValues
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - addNodeFields
    linkageType: ''
    returnType: int
    signature: int cb_updateNodesById(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_NODE
      *nodes, uint64_t numnodes, int fields)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1961,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:1962,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:1966,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:1968,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1970,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:1973,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:1975,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1979,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:1981,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:1982,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:1985,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1987,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:1990,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:1994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - topo
    - faces
    - numfaces
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_FACE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1951
    functionDepth: 13
    functionLinenumber: 1951
    functionLinenumberEnd: 1997
    functionName: cb_updateFacesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - _box2d_to_hexwkb
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfoChar
    - appendStringInfo
    - pfree
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t cb_updateFacesById( const LWT_BE_TOPOLOGY* topo,\n                    const
      LWT_ISO_FACE* faces, uint64_t numfaces )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2012,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2017,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:2018,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:2019,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:2020,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:2024,1
    - Dst: addEdgeValues
      Src: /src/postgis/topology/postgis_topology.c:2025,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2027,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2032,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2037,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2042,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2047,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2052,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2059,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2066,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2069,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2071,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2073,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2074,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2077,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2079,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2082,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2086,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 4
    argNames:
    - topo
    - edges
    - numedges
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_EDGE*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 1999
    functionDepth: 13
    functionLinenumber: 1999
    functionLinenumberEnd: 2089
    functionName: cb_updateEdgesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - addEdgeValues
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: int cb_updateEdgesById(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_EDGE
      *edges, uint64_t numedges, int fields)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2100,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2101,1
    - Dst: addEdgeUpdate
      Src: /src/postgis/topology/postgis_topology.c:2102,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2104,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2106,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2107,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2110,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2112,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2115,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - topo
    - sel_edge
    - sel_fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ISO_EDGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2091
    functionDepth: 13
    functionLinenumber: 2091
    functionLinenumberEnd: 2122
    functionName: cb_deleteEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - addEdgeUpdate
    linkageType: ''
    returnType: int
    signature: "int cb_deleteEdges( const LWT_BE_TOPOLOGY* topo,\n                const
      LWT_ISO_EDGE* sel_edge, int sel_fields )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2135,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2136,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2144,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2145,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2148,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2150,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2153,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2159,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:2163,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2167,1
    - Dst: DatumGetInt64
      Src: /src/postgis/topology/postgis_topology.c:2170,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - topo
    argTypes:
    - LWT_BE_TOPOLOGY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2175
    functionName: cb_getNextEdgeId
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_execute
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - cberror
    - initStringInfo
    - MemoryContextSwitchTo
    - SPI_getbinval
    - DatumGetInt64
    linkageType: ''
    returnType: LWT_ELEMID
    signature: LWT_ELEMID cb_getNextEdgeId( const LWT_BE_TOPOLOGY* topo )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2188,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2191,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:2195,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2197,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2206,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2209,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2211,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2212,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2215,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2217,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2223,1
    - Dst: resetStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2230,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2231,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2242,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2244,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2251,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2253,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2259,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2261,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2267,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2269,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:2275,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2276,1
    - Dst: resetStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2280,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2281,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2287,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2289,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2290,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2291,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2294,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2296,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2302,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2304,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 4
    argNames:
    - topo
    - split_edge
    - new_edge1
    - new_edge2
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2306
    functionName: cb_updateTopoGeomEdgeSplit
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfoChar
    - appendStringInfo
    - getNotNullInt32
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - resetStringInfo
    linkageType: ''
    returnType: int
    signature: "int cb_updateTopoGeomEdgeSplit ( const LWT_BE_TOPOLOGY* topo,\n                             LWT_ELEMID
      split_edge, LWT_ELEMID new_edge1, LWT_ELEMID new_edge2 )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2319,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2324,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2327,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:2331,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2333,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2339,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2342,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2344,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2345,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2348,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2350,1
    - Dst: resetStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2362,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2363,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2374,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2376,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2383,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2385,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2391,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2393,1
    - Dst: getNotNullInt32
      Src: /src/postgis/topology/postgis_topology.c:2399,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2401,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/topology/postgis_topology.c:2407,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2408,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2414,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2420,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2422,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2423,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2424,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2427,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2429,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2436,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2438,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 4
    argNames:
    - topo
    - split_face
    - new_face1
    - new_face2
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2440
    functionName: cb_updateTopoGeomFaceSplit
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfoChar
    - appendStringInfo
    - getNotNullInt32
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - resetStringInfo
    linkageType: ''
    returnType: int
    signature: "int cb_updateTopoGeomFaceSplit ( const LWT_BE_TOPOLOGY* topo,\n                             LWT_ELEMID
      split_face, LWT_ELEMID new_face1, LWT_ELEMID new_face2 )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:2455,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2457,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2458,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2467,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2469,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2470,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2473,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2475,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2484,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2485,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2486,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2487,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2488,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2490,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2492,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2503,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2511,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2512,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2526,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2527,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2528,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2532,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2534,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2543,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2544,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2545,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2546,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2547,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2549,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 4
    argNames:
    - topo
    - rem_edge
    - face_left
    - face_right
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2442
    functionDepth: 1
    functionLinenumber: 2442
    functionLinenumberEnd: 2562
    functionName: cb_checkTopoGeomRemEdge
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - SPI_getvalue
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - cberror
    linkageType: ''
    returnType: int
    signature: "int cb_checkTopoGeomRemEdge ( const LWT_BE_TOPOLOGY* topo,\n                          LWT_ELEMID
      rem_edge, LWT_ELEMID face_left, LWT_ELEMID face_right )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:2577,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2579,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2580,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2589,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2591,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2592,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2595,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2597,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2606,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2607,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2608,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2609,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2610,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2612,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - topo
    - rem_edge
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2623
    functionName: cb_checkTopoGeomRemIsoEdge
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - SPI_getvalue
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - cberror
    linkageType: ''
    returnType: int
    signature: "int cb_checkTopoGeomRemIsoEdge ( const LWT_BE_TOPOLOGY* topo,\n                          LWT_ELEMID
      rem_edge )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2638,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2642,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2661,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2663,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2664,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2667,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2669,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2678,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2679,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2680,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2681,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2682,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2684,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2686,1
    - Dst: resetStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2697,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2698,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2710,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2712,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2713,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2716,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2718,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2727,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2728,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2729,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2730,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2731,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2733,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 4
    argNames:
    - topo
    - rem_node
    - edge1
    - edge2
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2746
    functionName: cb_checkTopoGeomRemNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - SPI_getvalue
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - resetStringInfo
    linkageType: ''
    returnType: int
    signature: "int cb_checkTopoGeomRemNode ( const LWT_BE_TOPOLOGY* topo,\n                          LWT_ELEMID
      rem_node, LWT_ELEMID edge1, LWT_ELEMID edge2 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2760,1
    - Dst: resetStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2764,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2765,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2777,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2779,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2780,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2783,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2785,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2794,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2795,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2796,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2797,1
    - Dst: SPI_getvalue
      Src: /src/postgis/topology/postgis_topology.c:2798,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:2800,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - topo
    - rem_node
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2811
    functionName: cb_checkTopoGeomRemIsoNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - SPI_getvalue
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - resetStringInfo
    linkageType: ''
    returnType: int
    signature: int cb_checkTopoGeomRemIsoNode ( const LWT_BE_TOPOLOGY* topo, LWT_ELEMID
      rem_node )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:2822,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2829,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2831,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2839,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2841,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2842,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2845,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2847,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2854,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2856,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2863,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2865,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2866,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2869,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2871,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2876,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2878,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2886,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2888,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2889,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2892,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - topo
    - face1
    - face2
    - newface
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2813
    functionDepth: 1
    functionLinenumber: 2813
    functionLinenumberEnd: 2901
    functionName: cb_updateTopoGeomFaceHeal
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - cberror
    linkageType: ''
    returnType: int
    signature: "int cb_updateTopoGeomFaceHeal ( const LWT_BE_TOPOLOGY* topo,\n                            LWT_ELEMID
      face1, LWT_ELEMID face2, LWT_ELEMID newface )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2917,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2919,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2932,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2934,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2935,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2938,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2940,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2947,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2949,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2957,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2959,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2960,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2963,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2965,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2970,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:2972,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:2983,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:2985,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:2986,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:2989,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:2991,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - topo
    - edge1
    - edge2
    - newedge
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    - LWT_ELEMID
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2903
    functionDepth: 1
    functionLinenumber: 2903
    functionLinenumberEnd: 2998
    functionName: cb_updateTopoGeomEdgeHeal
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: "int cb_updateTopoGeomEdgeHeal ( const LWT_BE_TOPOLOGY* topo,\n                            LWT_ELEMID
      edge1, LWT_ELEMID edge2, LWT_ELEMID newedge )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: geometry_serialize
      Src: /src/postgis/topology/postgis_topology.c:3017,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/topology/postgis_topology.c:3017,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3020,1
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3026,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3029,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:3030,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3031,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3033,1
    - Dst: PointerGetDatum
      Src: /src/postgis/topology/postgis_topology.c:3035,1
    - Dst: SPI_execute_with_args
      Src: /src/postgis/topology/postgis_topology.c:3038,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3040,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3041,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3044,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3046,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3054,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:3062,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:3064,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 4
    argNames:
    - topo
    - pt
    - numedges
    - fields
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWPOINT*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3004
    functionDepth: 7
    functionLinenumber: 3004
    functionLinenumberEnd: 3068
    functionName: cb_getClosestEdge
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - geometry_serialize
    - fillEdgeFields
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - PointerGetDatum
    - appendStringInfo
    - addEdgeFields
    - lwpoint_as_lwgeom
    - pfree
    - SPI_freetuptable
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_execute_with_args
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      cb_getClosestEdge( const LWT_BE_TOPOLOGY* topo, const LWPOINT* pt, uint64_t
      *numedges, int fields )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3087,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3088,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3102,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3103,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3104,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3107,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3108,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3111,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3115,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:3125,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3129,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/topology/postgis_topology.c:3138,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3139,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/topology/postgis_topology.c:3141,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/topology/postgis_topology.c:3142,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3145,1
    - Dst: gbox_clone
      Src: /src/postgis/topology/postgis_topology.c:3146,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3150,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3158,1
    - Dst: DatumGetPointer
      Src: /src/postgis/topology/postgis_topology.c:3159,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3159,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - topo
    - face
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3070
    functionDepth: 6
    functionLinenumber: 3070
    functionLinenumberEnd: 3164
    functionName: cb_computeFaceMBR
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwgeom_free
    - DatumGetPointer
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUGF
    - gbox_clone
    - SPI_execute
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_getbinval
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      cb_computeFaceMBR(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID face)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3174,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3175,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3178,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3180,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3182,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3184,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3185,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3188,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3190,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3193,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - topo
    - ids
    - numelems
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3200
    functionName: cb_deleteFacesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: int cb_deleteFacesById(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID
      *ids, uint64_t numelems)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3210,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3211,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3215,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3217,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3219,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3221,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3222,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3225,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3227,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3230,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - topo
    - ids
    - numelems
    argTypes:
    - LWT_BE_TOPOLOGY*
    - LWT_ELEMID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3202
    functionDepth: 1
    functionLinenumber: 3202
    functionLinenumberEnd: 3237
    functionName: cb_deleteNodesById
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - SPI_execute
    - appendStringInfo
    - pfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: int
    signature: int cb_deleteNodesById(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID
      *ids, uint64_t numelems)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3251,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3255,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3259,1
    - Dst: addNodeFields
      Src: /src/postgis/topology/postgis_topology.c:3260,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:3262,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3263,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:3265,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3268,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3272,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3274,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3275,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3276,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3279,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3280,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3284,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3286,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:3303,1
    - Dst: DatumGetBool
      Src: /src/postgis/topology/postgis_topology.c:3304,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3305,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3307,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:3312,1
    - Dst: fillNodeFields
      Src: /src/postgis/topology/postgis_topology.c:3316,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3322
      start: 3239
    functionDepth: 13
    functionLinenumber: 3239
    functionLinenumberEnd: 3322
    functionName: cb_getNodeWithinBox2D
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - _box2d_to_hexwkb
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - fillNodeFields
    - SPI_freetuptable
    - pfree
    - DatumGetBool
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_getbinval
    - addNodeFields
    linkageType: ''
    returnType: LWT_ISO_NODE
    signature: 'LWT_ISO_NODE *

      cb_getNodeWithinBox2D(const LWT_BE_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, int limit)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3336,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3340,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3344,1
    - Dst: addEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:3345,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3347,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:3351,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3352,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:3353,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3358,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3362,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3364,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3365,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3366,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3369,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3370,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3374,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3376,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:3393,1
    - Dst: DatumGetBool
      Src: /src/postgis/topology/postgis_topology.c:3394,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3396,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3397,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:3402,1
    - Dst: fillEdgeFields
      Src: /src/postgis/topology/postgis_topology.c:3406,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3324
    functionDepth: 13
    functionLinenumber: 3324
    functionLinenumberEnd: 3412
    functionName: cb_getEdgeWithinBox2D
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - _box2d_to_hexwkb
    - fillEdgeFields
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - addEdgeFields
    - pfree
    - DatumGetBool
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_getbinval
    - SPI_freetuptable
    linkageType: ''
    returnType: LWT_ISO_EDGE
    signature: 'LWT_ISO_EDGE *

      cb_getEdgeWithinBox2D(const LWT_BE_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, int limit)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3426,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3430,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3434,1
    - Dst: addFaceFields
      Src: /src/postgis/topology/postgis_topology.c:3435,1
    - Dst: _box2d_to_hexwkb
      Src: /src/postgis/topology/postgis_topology.c:3437,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3438,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:3440,1
    - Dst: appendStringInfoString
      Src: /src/postgis/topology/postgis_topology.c:3443,1
    - Dst: appendStringInfo
      Src: /src/postgis/topology/postgis_topology.c:3447,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3449,1
    - Dst: SPI_execute
      Src: /src/postgis/topology/postgis_topology.c:3450,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3451,1
    - Dst: cberror
      Src: /src/postgis/topology/postgis_topology.c:3454,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3455,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3459,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3461,1
    - Dst: SPI_getbinval
      Src: /src/postgis/topology/postgis_topology.c:3478,1
    - Dst: DatumGetBool
      Src: /src/postgis/topology/postgis_topology.c:3479,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3481,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3484,1
    - Dst: palloc
      Src: /src/postgis/topology/postgis_topology.c:3489,1
    - Dst: fillFaceFields
      Src: /src/postgis/topology/postgis_topology.c:3493,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/topology/postgis_topology.c:3496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 5
    argNames:
    - topo
    - box
    - numelems
    - fields
    - limit
    argTypes:
    - LWT_BE_TOPOLOGY*
    - GBOX*
    - uint64_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3414
    functionDepth: 13
    functionLinenumber: 3414
    functionLinenumberEnd: 3499
    functionName: cb_getFaceWithinBox2D
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - palloc
    - _box2d_to_hexwkb
    - appendStringInfoString
    - POSTGIS_DEBUGF
    - SPI_execute
    - appendStringInfo
    - SPI_freetuptable
    - pfree
    - DatumGetBool
    - lwfree
    - initStringInfo
    - cberror
    - MemoryContextSwitchTo
    - SPI_getbinval
    - fillFaceFields
    - addFaceFields
    linkageType: ''
    returnType: LWT_ISO_FACE
    signature: 'LWT_ISO_FACE *

      cb_getFaceWithinBox2D(const LWT_BE_TOPOLOGY *topo, const GBOX *box, uint64_t
      *numelems, int fields, int limit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:3551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - event
    - arg
    argTypes:
    - XactEvent
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3547
    functionDepth: 1
    functionLinenumber: 3547
    functionLinenumberEnd: 3553
    functionName: xact_callback
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void xact_callback(XactEvent event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pg_install_lwgeom_handlers
      Src: /src/postgis/topology/postgis_topology.c:3569,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3573,1
    - Dst: RegisterXactCallback
      Src: /src/postgis/topology/postgis_topology.c:3580,1
    - Dst: lwt_CreateBackendIface
      Src: /src/postgis/topology/postgis_topology.c:3583,1
    - Dst: lwt_BackendIfaceRegisterCallbacks
      Src: /src/postgis/topology/postgis_topology.c:3584,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:3590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3560
    functionDepth: 2
    functionLinenumber: 3560
    functionLinenumberEnd: 3591
    functionName: _PG_init
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwt_BackendIfaceRegisterCallbacks
    - RegisterXactCallback
    - MemoryContextSwitchTo
    - pg_install_lwgeom_handlers
    - lwt_CreateBackendIface
    linkageType: ''
    returnType: void
    signature: void _PG_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/topology/postgis_topology.c:3600,1
    - Dst: UnregisterXactCallback
      Src: /src/postgis/topology/postgis_topology.c:3602,1
    - Dst: lwt_FreeBackendIface
      Src: /src/postgis/topology/postgis_topology.c:3603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3604
      start: 3597
    functionDepth: 2
    functionLinenumber: 3597
    functionLinenumberEnd: 3604
    functionName: _PG_fini
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwt_FreeBackendIface
    - elog
    - UnregisterXactCallback
    linkageType: ''
    returnType: void
    signature: void _PG_fini(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3620,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3620,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3620,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3622,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3623,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:3626,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:3627,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3628,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3630,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:3632,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3633,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:3634,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3637,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3638,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3639,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3640,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:3643,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3645,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3646,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:3649,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3650,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3654,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3655,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3658,1
    - Dst: lwt_ModEdgeSplit
      Src: /src/postgis/topology/postgis_topology.c:3659,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3660,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3661,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3662,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:3663,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3668,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3669,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3672,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:3673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3609
    functionDepth: 15
    functionLinenumber: 3609
    functionLinenumberEnd: 3674
    functionName: ST_ModEdgeSplit
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwt_ModEdgeSplit
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ModEdgeSplit(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3690,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3690,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3690,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3692,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3693,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:3696,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:3697,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3698,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3700,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:3702,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3703,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:3704,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3707,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3708,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3709,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3710,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:3713,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3715,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3716,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:3719,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3720,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3724,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3725,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3728,1
    - Dst: lwt_NewEdgesSplit
      Src: /src/postgis/topology/postgis_topology.c:3729,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3730,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3731,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3732,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:3733,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3738,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3739,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3742,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:3743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3679
    functionDepth: 15
    functionLinenumber: 3679
    functionLinenumberEnd: 3744
    functionName: ST_NewEdgesSplit
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - lwt_NewEdgesSplit
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_NewEdgesSplit(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3760,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3760,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3762,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3763,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:3766,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:3767,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3768,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3770,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3773,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3776,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3777,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:3781,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3782,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:3783,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3786,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3787,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3788,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3789,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/topology/postgis_topology.c:3791,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3793,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3794,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3795,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3796,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:3799,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3801,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3802,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:3805,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3806,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3810,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3811,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3814,1
    - Dst: lwt_AddIsoNode
      Src: /src/postgis/topology/postgis_topology.c:3815,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3816,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3817,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3818,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:3819,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3824,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3825,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3828,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:3829,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3749
    functionDepth: 6
    functionLinenumber: 3749
    functionLinenumberEnd: 3830
    functionName: ST_AddIsoNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_is_empty
    - PG_GETARG_INT32
    - lwpgerror
    - lwt_AddIsoNode
    - pfree
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AddIsoNode(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3846,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3846,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3847,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3847,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3849,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3850,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:3853,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:3854,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3855,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3857,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3858,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3862,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3863,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:3866,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3867,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:3868,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3871,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3872,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3873,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3874,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:3877,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3879,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3880,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:3883,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3884,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3888,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3889,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3892,1
    - Dst: lwt_AddIsoEdge
      Src: /src/postgis/topology/postgis_topology.c:3893,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3894,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3895,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3896,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:3897,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3902,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3903,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3906,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:3907,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3835
    functionDepth: 12
    functionLinenumber: 3835
    functionLinenumberEnd: 3908
    functionName: ST_AddIsoEdge
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - lwt_AddIsoEdge
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AddIsoEdge(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3924,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3924,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3924,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3924,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3926,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3927,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:3930,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:3931,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3932,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3934,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:3935,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:3937,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:3938,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:3939,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3942,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3943,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3944,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3945,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:3948,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3950,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3951,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:3954,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:3955,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3959,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3960,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3963,1
    - Dst: lwt_AddEdgeModFace
      Src: /src/postgis/topology/postgis_topology.c:3964,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:3965,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:3966,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:3967,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:3968,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3973,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3974,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:3977,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:3978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3979
      start: 3913
    functionDepth: 13
    functionLinenumber: 3913
    functionLinenumberEnd: 3979
    functionName: ST_AddEdgeModFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwt_AddEdgeModFace
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AddEdgeModFace(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3995,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3995,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3995,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:3995,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:3997,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:3998,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4001,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4002,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4003,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4005,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4006,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4008,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4009,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:4010,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4013,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4014,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4015,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4016,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4019,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4021,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4022,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4025,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4026,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4030,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4031,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4034,1
    - Dst: lwt_AddEdgeNewFaces
      Src: /src/postgis/topology/postgis_topology.c:4035,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4036,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4037,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4038,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4039,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4044,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4045,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4048,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4049,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 3984
    functionDepth: 13
    functionLinenumber: 3984
    functionLinenumberEnd: 4050
    functionName: ST_AddEdgeNewFaces
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwt_AddEdgeNewFaces
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AddEdgeNewFaces(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4065,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4065,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4067,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4068,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4071,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4072,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4073,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4075,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4077,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4079,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4080,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4083,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4084,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4088,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4089,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4092,1
    - Dst: lwt_GetFaceGeometry
      Src: /src/postgis/topology/postgis_topology.c:4093,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4094,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4095,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4100,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4101,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:4106,1
    - Dst: geometry_serialize
      Src: /src/postgis/topology/postgis_topology.c:4107,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:4108,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4110,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/topology/postgis_topology.c:4112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4113
      start: 4055
    functionDepth: 13
    functionLinenumber: 4055
    functionLinenumberEnd: 4113
    functionName: ST_GetFaceGeometry
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - geometry_serialize
    - SPI_finish
    - lwpgerror
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - lwt_GetFaceGeometry
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GetFaceGeometry(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/topology/postgis_topology.c:4147,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4150,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/topology/postgis_topology.c:4151,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4154,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4154,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4156,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4157,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4160,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4161,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4162,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4164,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4166,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4168,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4169,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4172,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:4173,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4174,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4178,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4179,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4182,1
    - Dst: lwt_GetFaceEdges
      Src: /src/postgis/topology/postgis_topology.c:4183,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:4184,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4185,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4190,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4191,1
    - Dst: lwalloc
      Src: /src/postgis/topology/postgis_topology.c:4194,1
    - Dst: RelationNameGetTupleDesc
      Src: /src/postgis/topology/postgis_topology.c:4204,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/topology/postgis_topology.c:4210,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4213,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:4215,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4217,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/topology/postgis_topology.c:4221,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:4228,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:4229,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/topology/postgis_topology.c:4230,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4233,1
    - Dst: lwerror
      Src: /src/postgis/topology/postgis_topology.c:4235,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4238,1
    - Dst: lwerror
      Src: /src/postgis/topology/postgis_topology.c:4241,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:4245,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/topology/postgis_topology.c:4248,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/topology/postgis_topology.c:4249,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/topology/postgis_topology.c:4252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4126
    functionDepth: 13
    functionLinenumber: 4126
    functionLinenumberEnd: 4253
    functionName: ST_GetFaceEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - SRF_RETURN_DONE
    - PG_RETURN_NULL
    - lwalloc
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - snprintf
    - SRF_PERCALL_SETUP
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_INT32
    - TupleDescGetAttInMetadata
    - POSTGIS_DEBUGF
    - lwpgerror
    - lwerror
    - HeapTupleGetDatum
    - pfree
    - lwfree
    - SRF_RETURN_NEXT
    - lwt_LoadTopology
    - lwt_GetFaceEdges
    - RelationNameGetTupleDesc
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - SPI_connect
    - BuildTupleFromCStrings
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GetFaceEdges(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4270,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4270,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4270,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4272,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4273,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4276,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4277,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4278,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4280,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4282,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4283,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:4284,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4287,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4288,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4289,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4290,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4293,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4295,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4296,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4299,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4300,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4304,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4305,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4308,1
    - Dst: lwt_ChangeEdgeGeom
      Src: /src/postgis/topology/postgis_topology.c:4309,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4310,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4311,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4312,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4313,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4318,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4319,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4322,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4324,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4328,1
    - Dst: cstring_to_text
      Src: /src/postgis/topology/postgis_topology.c:4328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4258
    functionDepth: 12
    functionLinenumber: 4258
    functionLinenumberEnd: 4329
    functionName: ST_ChangeEdgeGeom
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - snprintf
    - text_to_cstring
    - lwt_ChangeEdgeGeom
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - cstring_to_text
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - PG_RETURN_TEXT_P
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ChangeEdgeGeom(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4343,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4343,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4345,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4346,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4349,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4350,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4351,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4353,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4355,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4357,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4358,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4361,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4362,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4366,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4367,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4370,1
    - Dst: lwt_RemoveIsoNode
      Src: /src/postgis/topology/postgis_topology.c:4371,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4372,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4373,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4378,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4379,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4382,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4384,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4389,1
    - Dst: cstring_to_text
      Src: /src/postgis/topology/postgis_topology.c:4389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4334
    functionDepth: 4
    functionLinenumber: 4334
    functionLinenumberEnd: 4390
    functionName: ST_RemoveIsoNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - snprintf
    - lwpgerror
    - lwt_RemoveIsoNode
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_RETURN_TEXT_P
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - cstring_to_text
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemoveIsoNode(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4404,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4404,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4406,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4407,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4410,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4411,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4412,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4414,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4416,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4418,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4419,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4422,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4423,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4427,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4428,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4431,1
    - Dst: lwt_RemIsoEdge
      Src: /src/postgis/topology/postgis_topology.c:4432,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4433,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4434,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4439,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4440,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4443,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4445,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4450,1
    - Dst: cstring_to_text
      Src: /src/postgis/topology/postgis_topology.c:4450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4451
      start: 4395
    functionDepth: 3
    functionLinenumber: 4395
    functionLinenumberEnd: 4451
    functionName: ST_RemIsoEdge
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - snprintf
    - lwpgerror
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - lwt_RemIsoEdge
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_RETURN_TEXT_P
    - cstring_to_text
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemIsoEdge(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4469,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4469,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4469,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4471,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4472,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4475,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4476,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4477,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4479,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4481,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4482,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:4483,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4486,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4487,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4488,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4489,1
    - Dst: getPoint2d_p
      Src: /src/postgis/topology/postgis_topology.c:4492,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4497,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4498,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4503,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4505,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4506,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4509,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4510,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4514,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4515,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4518,1
    - Dst: lwt_MoveIsoNode
      Src: /src/postgis/topology/postgis_topology.c:4519,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4520,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4521,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4522,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4523,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4528,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4529,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4532,1
    - Dst: snprintf
      Src: /src/postgis/topology/postgis_topology.c:4534,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4540,1
    - Dst: cstring_to_text
      Src: /src/postgis/topology/postgis_topology.c:4540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4541
      start: 4456
    functionDepth: 6
    functionLinenumber: 4456
    functionLinenumberEnd: 4541
    functionName: ST_MoveIsoNode
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - lwt_MoveIsoNode
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - snprintf
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - cstring_to_text
    - PG_GETARG_INT32
    - lwpgerror
    - pfree
    - getPoint2d_p
    - PG_RETURN_TEXT_P
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MoveIsoNode(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4554,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4554,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4556,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4557,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4560,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4561,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4562,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4564,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4566,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4568,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4569,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4572,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4573,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4577,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4578,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4581,1
    - Dst: lwt_RemEdgeModFace
      Src: /src/postgis/topology/postgis_topology.c:4582,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4583,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4584,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4589,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4590,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4593,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4546
    functionDepth: 6
    functionLinenumber: 4546
    functionLinenumberEnd: 4596
    functionName: ST_RemEdgeModFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - lwpgerror
    - lwt_RemEdgeModFace
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemEdgeModFace(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4609,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4609,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4611,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4612,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4615,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4616,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4617,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4619,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4621,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4623,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4624,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4627,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4628,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4632,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4633,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4636,1
    - Dst: lwt_RemEdgeNewFace
      Src: /src/postgis/topology/postgis_topology.c:4637,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4638,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4639,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4640,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4645,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4649
      start: 4601
    functionDepth: 6
    functionLinenumber: 4601
    functionLinenumberEnd: 4649
    functionName: ST_RemEdgeNewFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - lwpgerror
    - lwt_RemEdgeNewFace
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemEdgeNewFace(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4662,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4662,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4662,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4664,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4665,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4668,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4669,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4670,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4672,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4673,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4675,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4677,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4678,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4681,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4682,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4686,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4687,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4690,1
    - Dst: lwt_ModEdgeHeal
      Src: /src/postgis/topology/postgis_topology.c:4691,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4692,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4693,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4694,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4699,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4703
      start: 4654
    functionDepth: 6
    functionLinenumber: 4654
    functionLinenumberEnd: 4703
    functionName: ST_ModEdgeHeal
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwt_ModEdgeHeal
    - SPI_finish
    - lwpgerror
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ModEdgeHeal(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4716,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4716,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4716,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4718,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4719,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4722,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4723,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4724,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4726,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:4727,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4729,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4731,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4732,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4735,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4736,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4740,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4741,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4744,1
    - Dst: lwt_NewEdgeHeal
      Src: /src/postgis/topology/postgis_topology.c:4745,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4746,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4747,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4748,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4753,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4757
      start: 4708
    functionDepth: 6
    functionLinenumber: 4708
    functionLinenumberEnd: 4757
    functionName: ST_NewEdgeHeal
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - lwt_NewEdgeHeal
    - lwpgerror
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_NewEdgeHeal(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4773,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4774,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4775,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4777,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4778,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:4779,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4782,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4783,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4784,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4785,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:4788,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4791,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4792,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4793,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4796,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4798,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4799,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4802,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4803,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4807,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4808,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4811,1
    - Dst: lwt_GetNodeByPoint
      Src: /src/postgis/topology/postgis_topology.c:4812,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4813,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4814,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4815,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4816,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4821,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4822,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4825,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4762
    functionDepth: 6
    functionLinenumber: 4762
    functionLinenumberEnd: 4827
    functionName: GetNodeByPoint
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - lwt_GetNodeByPoint
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_RETURN_INT32
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum GetNodeByPoint(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4843,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4844,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4845,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4847,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4848,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:4849,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4852,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4853,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4854,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4855,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:4858,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4861,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4862,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4863,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4866,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4868,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4869,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4872,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4873,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4877,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4878,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4881,1
    - Dst: lwt_GetEdgeByPoint
      Src: /src/postgis/topology/postgis_topology.c:4882,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4883,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4884,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4885,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4886,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4891,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4892,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4895,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4896,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4897
      start: 4832
    functionDepth: 6
    functionLinenumber: 4832
    functionLinenumberEnd: 4897
    functionName: GetEdgeByPoint
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - lwt_GetEdgeByPoint
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_RETURN_INT32
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum GetEdgeByPoint(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwpgwarning
      Src: /src/postgis/topology/postgis_topology.c:4913,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4915,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4916,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4917,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4919,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4920,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:4921,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4924,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4925,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4926,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4927,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:4930,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4933,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4934,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4935,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:4938,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4940,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4941,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:4944,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:4945,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4949,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4950,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4953,1
    - Dst: lwt_GetFaceByPoint
      Src: /src/postgis/topology/postgis_topology.c:4954,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:4955,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:4956,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4957,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:4958,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4963,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4964,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:4967,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:4968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4902
    functionDepth: 6
    functionLinenumber: 4902
    functionLinenumberEnd: 4969
    functionName: GetFaceByPoint
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - lwt_GetFaceByPoint
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwpgerror
    - lwpgwarning
    - pfree
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum GetFaceByPoint(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4985,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4985,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:4985,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:4987,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:4988,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:4991,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:4992,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:4993,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:4995,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:4996,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:4997,1
    - Dst: _lwtype_upper_name
      Src: /src/postgis/topology/postgis_topology.c:5002,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/topology/postgis_topology.c:5002,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5003,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5004,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5005,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5007,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:5011,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5014,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5015,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5016,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5019,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5021,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5022,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5028,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5031,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5035,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5036,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5039,1
    - Dst: lwt_AddPoint
      Src: /src/postgis/topology/postgis_topology.c:5040,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5041,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5042,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5043,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5044,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5049,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5050,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5053,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:5054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5055
      start: 4974
    functionDepth: 17
    functionLinenumber: 4974
    functionLinenumberEnd: 5055
    functionName: TopoGeo_AddPoint
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - _lwtype_upper_name
    - lwt_AddPoint
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwpgerror
    - pfree
    - lwgeom_get_type
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum TopoGeo_AddPoint(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/topology/postgis_topology.c:5077,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5079,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/topology/postgis_topology.c:5080,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5083,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5083,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5083,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5085,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5086,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5089,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5090,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5091,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:5093,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:5094,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:5095,1
    - Dst: _lwtype_upper_name
      Src: /src/postgis/topology/postgis_topology.c:5100,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/topology/postgis_topology.c:5100,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5101,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5102,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5103,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5105,1
    - Dst: lwline_is_empty
      Src: /src/postgis/topology/postgis_topology.c:5109,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5111,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5112,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5113,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:5116,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5119,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5120,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5121,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5122,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5125,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5127,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5128,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5129,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5130,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5136,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5139,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5140,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5144,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5145,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5148,1
    - Dst: lwt_AddLine
      Src: /src/postgis/topology/postgis_topology.c:5149,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5150,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5151,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5152,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5153,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5158,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5159,1
    - Dst: lwalloc
      Src: /src/postgis/topology/postgis_topology.c:5162,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5168,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5170,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5172,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5175,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/topology/postgis_topology.c:5178,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5185,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5187,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5188,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/topology/postgis_topology.c:5189,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:5193,1
    - Dst: Int32GetDatum
      Src: /src/postgis/topology/postgis_topology.c:5196,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/topology/postgis_topology.c:5198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5199
      start: 5060
    functionDepth: 19
    functionLinenumber: 5060
    functionLinenumberEnd: 5199
    functionName: TopoGeo_AddLinestring
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - SRF_RETURN_DONE
    - PG_RETURN_NULL
    - lwalloc
    - _lwtype_upper_name
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - SRF_PERCALL_SETUP
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - lwt_FreeTopology
    - lwt_AddLine
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwline_is_empty
    - POSTGIS_DEBUGF
    - lwpgerror
    - pfree
    - lwgeom_get_type
    - lwfree
    - SRF_RETURN_NEXT
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum TopoGeo_AddLinestring(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5215,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5216,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5217,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:5219,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:5220,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/topology/postgis_topology.c:5222,1
    - Dst: _lwtype_upper_name
      Src: /src/postgis/topology/postgis_topology.c:5227,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/topology/postgis_topology.c:5227,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5228,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5229,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5230,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5232,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:5236,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5239,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5240,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5241,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5244,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5246,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5247,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5250,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5251,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5255,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5256,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5259,1
    - Dst: lwt_AddLineNoFace
      Src: /src/postgis/topology/postgis_topology.c:5263,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5264,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5265,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5266,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5267,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5268,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5270,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/topology/postgis_topology.c:5272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5273
      start: 5204
    functionDepth: 19
    functionLinenumber: 5204
    functionLinenumberEnd: 5273
    functionName: TopoGeo_AddLinestringNoFace
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_VOID
    - PG_RETURN_NULL
    - _lwtype_upper_name
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwpgerror
    - pfree
    - lwgeom_get_type
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - lwt_AddLineNoFace
    - SPI_connect
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum TopoGeo_AddLinestringNoFace(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/topology/postgis_topology.c:5295,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5297,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/topology/postgis_topology.c:5298,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5301,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5301,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5301,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5303,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5304,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5307,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5308,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5309,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:5311,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:5312,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/topology/postgis_topology.c:5313,1
    - Dst: _lwtype_upper_name
      Src: /src/postgis/topology/postgis_topology.c:5318,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/topology/postgis_topology.c:5318,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5319,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5320,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5321,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5323,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:5327,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5330,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5331,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5332,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5335,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5337,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5338,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5344,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5347,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5348,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5352,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5353,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5356,1
    - Dst: lwt_AddPolygon
      Src: /src/postgis/topology/postgis_topology.c:5357,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5358,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5359,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5360,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5361,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5366,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5367,1
    - Dst: lwalloc
      Src: /src/postgis/topology/postgis_topology.c:5370,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5376,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5378,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5380,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5383,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/topology/postgis_topology.c:5386,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5393,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5394,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5395,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/topology/postgis_topology.c:5396,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:5400,1
    - Dst: Int32GetDatum
      Src: /src/postgis/topology/postgis_topology.c:5403,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/topology/postgis_topology.c:5405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5278
    functionDepth: 22
    functionLinenumber: 5278
    functionLinenumberEnd: 5406
    functionName: TopoGeo_AddPolygon
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - SRF_RETURN_DONE
    - PG_RETURN_NULL
    - lwalloc
    - _lwtype_upper_name
    - PG_GETARG_TEXT_P
    - lwt_AddPolygon
    - PG_FREE_IF_COPY
    - SRF_PERCALL_SETUP
    - lwgeom_as_lwpoly
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - POSTGIS_DEBUGF
    - lwpgerror
    - pfree
    - lwgeom_get_type
    - lwfree
    - SRF_RETURN_NEXT
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum TopoGeo_AddPolygon(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/topology/postgis_topology.c:5428,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5430,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/topology/postgis_topology.c:5431,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5435,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5437,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5438,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5440,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5441,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5442,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5444,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5446,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5447,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:5449,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5451,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/topology/postgis_topology.c:5453,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5456,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5458,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5459,1
    - Dst: cb_loadTopologyByName
      Src: /src/postgis/topology/postgis_topology.c:5465,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5468,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5469,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5472,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5473,1
    - Dst: cb_lastErrorMessage
      Src: /src/postgis/topology/postgis_topology.c:5473,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5474,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5477,1
    - Dst: cb_getRingEdges
      Src: /src/postgis/topology/postgis_topology.c:5478,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5479,1
    - Dst: cb_freeTopology
      Src: /src/postgis/topology/postgis_topology.c:5480,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5484,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5485,1
    - Dst: cb_lastErrorMessage
      Src: /src/postgis/topology/postgis_topology.c:5485,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5486,1
    - Dst: lwalloc
      Src: /src/postgis/topology/postgis_topology.c:5489,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5495,1
    - Dst: get_call_result_type
      Src: /src/postgis/topology/postgis_topology.c:5500,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/topology/postgis_topology.c:5501,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/topology/postgis_topology.c:5503,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5505,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5508,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/topology/postgis_topology.c:5511,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5518,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5519,1
    - Dst: lwfree
      Src: /src/postgis/topology/postgis_topology.c:5520,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/topology/postgis_topology.c:5521,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/topology/postgis_topology.c:5525,1
    - Dst: Int32GetDatum
      Src: /src/postgis/topology/postgis_topology.c:5529,1
    - Dst: Int32GetDatum
      Src: /src/postgis/topology/postgis_topology.c:5530,1
    - Dst: heap_form_tuple
      Src: /src/postgis/topology/postgis_topology.c:5531,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/topology/postgis_topology.c:5532,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/topology/postgis_topology.c:5534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5411
    functionDepth: 2
    functionLinenumber: 5411
    functionLinenumberEnd: 5535
    functionName: GetRingEdges
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - cb_loadTopologyByName
    - SPI_finish
    - SRF_RETURN_DONE
    - cb_lastErrorMessage
    - PG_RETURN_NULL
    - lwalloc
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - PG_GETARG_INT32
    - POSTGIS_DEBUGF
    - lwpgerror
    - HeapTupleGetDatum
    - pfree
    - lwfree
    - SRF_RETURN_NEXT
    - get_call_result_type
    - cb_getRingEdges
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - Int32GetDatum
    - cb_freeTopology
    linkageType: ''
    returnType: Datum
    signature: Datum GetRingEdges(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5550,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5550,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5553,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5556,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5557,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5558,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:5560,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:5561,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/topology/postgis_topology.c:5562,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5565,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5566,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5567,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5568,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/topology/postgis_topology.c:5571,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5573,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5574,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5575,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5576,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5579,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5581,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5582,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5585,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5586,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5590,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5591,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5594,1
    - Dst: lwt_GetFaceContainingPoint
      Src: /src/postgis/topology/postgis_topology.c:5595,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5596,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5597,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5598,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5599,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5604,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5605,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5608,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/topology/postgis_topology.c:5609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5610
      start: 5540
    functionDepth: 7
    functionLinenumber: 5540
    functionLinenumberEnd: 5610
    functionName: GetFaceContainingPoint
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 4
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_is_empty
    - lwpgerror
    - pfree
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - PG_RETURN_INT32
    - POSTGIS_DEBUG
    - lwt_GetFaceContainingPoint
    linkageType: ''
    returnType: Datum
    signature: Datum GetFaceContainingPoint(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5621,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5622,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5623,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5625,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5626,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5627,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5633,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5636,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5639,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5640,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5643,1
    - Dst: lwt_Polygonize
      Src: /src/postgis/topology/postgis_topology.c:5644,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5645,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5646,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5648,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5651
      start: 5615
    functionDepth: 12
    functionLinenumber: 5615
    functionLinenumberEnd: 5651
    functionName: RegisterMissingFaces
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - lwpgerror
    - PG_RETURN_NULL
    - text_to_cstring
    - SPI_connect
    - pfree
    - lwt_FreeTopology
    - lwt_LoadTopology
    - lwt_Polygonize
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RegisterMissingFaces(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5665,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/topology/postgis_topology.c:5665,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5667,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5668,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/topology/postgis_topology.c:5671,1
    - Dst: text_to_cstring
      Src: /src/postgis/topology/postgis_topology.c:5672,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5673,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/topology/postgis_topology.c:5675,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/topology/postgis_topology.c:5677,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5680,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5681,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5682,1
    - Dst: SPI_connect
      Src: /src/postgis/topology/postgis_topology.c:5685,1
    - Dst: lwpgerror
      Src: /src/postgis/topology/postgis_topology.c:5687,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5688,1
    - Dst: lwt_LoadTopology
      Src: /src/postgis/topology/postgis_topology.c:5691,1
    - Dst: pfree
      Src: /src/postgis/topology/postgis_topology.c:5692,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5696,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/topology/postgis_topology.c:5697,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/topology/postgis_topology.c:5701,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/topology/postgis_topology.c:5703,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5704,1
    - Dst: lwt_LoadGeometry
      Src: /src/postgis/topology/postgis_topology.c:5705,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5706,1
    - Dst: lwgeom_free
      Src: /src/postgis/topology/postgis_topology.c:5707,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/topology/postgis_topology.c:5710,1
    - Dst: lwt_FreeTopology
      Src: /src/postgis/topology/postgis_topology.c:5711,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/topology/postgis_topology.c:5713,1
    - Dst: SPI_finish
      Src: /src/postgis/topology/postgis_topology.c:5715,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/topology/postgis_topology.c:5717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5718
      start: 5656
    functionDepth: 23
    functionLinenumber: 5656
    functionLinenumberEnd: 5718
    functionName: TopoGeo_LoadGeometry
    functionSourceFile: /src/postgis/topology/postgis_topology.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - SPI_finish
    - PG_RETURN_VOID
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - lwt_LoadGeometry
    - text_to_cstring
    - lwt_FreeTopology
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwpgerror
    - pfree
    - gserialized_is_empty
    - lwt_LoadTopology
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - SPI_connect
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum TopoGeo_LoadGeometry(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dialog
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: gtk_dialog_get_content_area
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gtk_dialog_get_content_area(dialog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:231,1
    - Dst: gtk_text_buffer_get_end_iter
      Src: /src/postgis/loader/shp2pgsql-gui.c:235,1
    - Dst: gtk_text_buffer_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:236,1
    - Dst: gtk_text_buffer_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:237,1
    - Dst: gtk_text_view_scroll_to_iter
      Src: /src/postgis/loader/shp2pgsql-gui.c:239,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:239,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:242,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: pgui_log_va
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_events_pending
    - GTK_TEXT_VIEW
    - gtk_text_buffer_insert
    - vsnprintf
    - gtk_text_buffer_get_end_iter
    - gtk_main_iteration
    - gtk_text_view_scroll_to_iter
    linkageType: ''
    returnType: void
    signature: void pgui_log_va(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:253,1
    - Dst: pgui_log_va
      Src: /src/postgis/loader/shp2pgsql-gui.c:255,1
    - Dst: va_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: pgui_logf
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - va_end
    - pgui_log_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void pgui_logf(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: pgui_seterr_va
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void pgui_seterr_va(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:273,1
    - Dst: pgui_seterr_va
      Src: /src/postgis/loader/shp2pgsql-gui.c:275,1
    - Dst: va_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: pgui_seterr
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - pgui_seterr_va
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void pgui_seterr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:286,1
    - Dst: gtk_dialog_new_with_buttons
      Src: /src/postgis/loader/shp2pgsql-gui.c:287,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:287,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:287,1
    - Dst: gtk_dialog_set_has_separator
      Src: /src/postgis/loader/shp2pgsql-gui.c:290,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:290,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:291,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:291,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:292,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:292,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:292,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:293,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:293,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:293,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:294,1
    - Dst: gtk_dialog_run
      Src: /src/postgis/loader/shp2pgsql-gui.c:295,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:295,1
    - Dst: gtk_widget_destroy
      Src: /src/postgis/loader/shp2pgsql-gui.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: pgui_raise_error_dialogue
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_DIALOG
    - gtk_widget_destroy
    - gtk_dialog_new_with_buttons
    - gtk_container_add
    - gtk_widget_show_all
    - gtk_container_set_border_width
    - gtk_dialog_set_has_separator
    - GTK_CONTAINER
    - _
    - gtk_dialog_run
    - gtk_label_new
    - GTK_WINDOW
    linkageType: ''
    returnType: void
    signature: void pgui_raise_error_dialogue(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PQexec
      Src: /src/postgis/loader/shp2pgsql-gui.c:314,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/shp2pgsql-gui.c:315,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:316,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:324,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:324,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:329,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:330,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:331,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 336
    functionName: pgui_exec
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQerrorMessage
    - snprintf
    - pgui_logf
    - PQclear
    - PQresultStatus
    linkageType: ''
    returnType: int
    signature: int pgui_exec(const char *sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQexec
      Src: /src/postgis/loader/shp2pgsql-gui.c:352,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/shp2pgsql-gui.c:353,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:354,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:360,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:361,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:362,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: pgui_copy_start
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQerrorMessage
    - snprintf
    - pgui_logf
    - PQclear
    - PQresultStatus
    linkageType: ''
    returnType: int
    signature: int pgui_copy_start(const char *sql)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQputCopyData
      Src: /src/postgis/loader/shp2pgsql-gui.c:382,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:382,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:385,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:386,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:387,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:387,1
    - Dst: PQputCopyData
      Src: /src/postgis/loader/shp2pgsql-gui.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: pgui_copy_write
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQerrorMessage
    - snprintf
    - pgui_logf
    - strlen
    - PQputCopyData
    linkageType: ''
    returnType: int
    signature: int pgui_copy_write(const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQputCopyEnd
      Src: /src/postgis/loader/shp2pgsql-gui.c:411,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:414,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rollback
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 419
    functionName: pgui_copy_end
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQputCopyEnd
    - PQerrorMessage
    - pgui_logf
    linkageType: ''
    returnType: int
    signature: int pgui_copy_end(const int rollback)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:435,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:435,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:439,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:439,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:440,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:441,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:444,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:444,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:450,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: update_filename_field_width
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get
    - gtk_tree_model_get_iter_first
    - GTK_TREE_MODEL
    - strlen
    - gtk_tree_model_iter_next
    - g_object_set
    linkageType: ''
    returnType: void
    signature: void update_filename_field_width(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ShpDumperGetConnectionStringFromConn
      Src: /src/postgis/loader/shp2pgsql-gui.c:468,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:470,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:475,1
    - Dst: pgui_sanitize_connection_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:476,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:477,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:478,1
    - Dst: PQconnectdb
      Src: /src/postgis/loader/shp2pgsql-gui.c:480,1
    - Dst: PQstatus
      Src: /src/postgis/loader/shp2pgsql-gui.c:481,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:483,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:483,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:483,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:484,1
    - Dst: PQfinish
      Src: /src/postgis/loader/shp2pgsql-gui.c:485,1
    - Dst: PQfinish
      Src: /src/postgis/loader/shp2pgsql-gui.c:490,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: connection_test
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQconnectdb
    - strdup
    - PQerrorMessage
    - PQstatus
    - pgui_logf
    - pgui_raise_error_dialogue
    - ShpDumperGetConnectionStringFromConn
    - free
    - PQfinish
    - _
    - pgui_sanitize_connection_string
    linkageType: ''
    returnType: int
    signature: int connection_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:506,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - widget
    - event
    - data
    argTypes:
    - GtkWidget*
    - GdkEvent*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: pgui_event_popup_delete
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_WIDGET
    - gtk_widget_hide
    linkageType: ''
    returnType: gint
    signature: gint pgui_event_popup_delete(GtkWidget *widget, GdkEvent *event, gpointer
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dialog
    - response_id
    - user_data
    argTypes:
    - GtkDialog*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 519
    functionName: pgui_action_progress_cancel
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pgui_action_progress_cancel(GtkDialog *dialog, gint response_id,
      gpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - widget
    - event
    - data
    argTypes:
    - GtkWidget*
    - GdkEvent*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: pgui_action_progress_delete
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gint
    signature: gint pgui_action_progress_delete(GtkWidget *widget, GdkEvent *event,
      gpointer data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:537,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:537,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:538,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:538,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:539,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:539,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:540,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:540,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:541,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:541,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:542,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:542,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:543,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:543,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:544,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:544,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:551,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:553,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:560,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:562,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:566,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:569,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:571,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 616
    functionName: update_loader_config_globals_from_options_ui
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strdup
    - GTK_TOGGLE_BUTTON
    - gtk_entry_get_text
    - gtk_toggle_button_get_active
    - GTK_ENTRY
    - free
    - strlen
    linkageType: ''
    returnType: void
    signature: void update_loader_config_globals_from_options_ui(SHPLOADERCONFIG *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:622,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:622,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:623,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:623,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:624,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:624,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:625,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:625,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:626,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:626,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:627,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:627,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:628,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:628,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:629,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 632
    functionName: update_options_ui_from_loader_config_globals
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_entry_set_text
    - gtk_toggle_button_set_active
    - GTK_ENTRY
    - GTK_TOGGLE_BUTTON
    linkageType: ''
    returnType: void
    signature: void update_options_ui_from_loader_config_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_loader_config_globals_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:644,1
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:648,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:648,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:652,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:652,1
    - Dst: update_loader_config_globals_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:656,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:659,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 663
    functionName: pgui_set_loader_configs_from_options_ui
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get
    - gtk_tree_model_get_iter_first
    - GTK_TREE_MODEL
    - gtk_tree_model_iter_next
    - update_loader_config_globals_from_options_ui
    linkageType: ''
    returnType: void
    signature: void pgui_set_loader_configs_from_options_ui()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ShpDumperGetConnectionStringFromConn
      Src: /src/postgis/loader/shp2pgsql-gui.c:679,1
    - Dst: PQconnectdb
      Src: /src/postgis/loader/shp2pgsql-gui.c:680,1
    - Dst: PQexec
      Src: /src/postgis/loader/shp2pgsql-gui.c:687,1
    - Dst: gtk_list_store_clear
      Src: /src/postgis/loader/shp2pgsql-gui.c:690,1
    - Dst: PQntuples
      Src: /src/postgis/loader/shp2pgsql-gui.c:693,1
    - Dst: gtk_list_store_insert_before
      Src: /src/postgis/loader/shp2pgsql-gui.c:696,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:701,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:701,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:702,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:702,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:706,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:706,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:706,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:707,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:708,1
    - Dst: PQexec
      Src: /src/postgis/loader/shp2pgsql-gui.c:710,1
    - Dst: gtk_list_store_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:716,1
    - Dst: PQntuples
      Src: /src/postgis/loader/shp2pgsql-gui.c:718,1
    - Dst: PQntuples
      Src: /src/postgis/loader/shp2pgsql-gui.c:721,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:723,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:723,1
    - Dst: gtk_list_store_insert_before
      Src: /src/postgis/loader/shp2pgsql-gui.c:725,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:726,1
    - Dst: gtk_list_store_insert_before
      Src: /src/postgis/loader/shp2pgsql-gui.c:736,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:737,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:738,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:743,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:746,1
    - Dst: atoi
      Src: /src/postgis/loader/shp2pgsql-gui.c:749,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:749,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:749,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:750,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:760,1
    - Dst: PQfinish
      Src: /src/postgis/loader/shp2pgsql-gui.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 767
    functionName: update_table_chooser_from_database
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQconnectdb
    - malloc
    - PQgetvalue
    - atoi
    - snprintf
    - gtk_list_store_set
    - PQfnumber
    - gtk_list_store_new
    - ShpDumperGetConnectionStringFromConn
    - free
    - strlen
    - PQntuples
    - gtk_list_store_insert_before
    - PQclear
    - PQfinish
    - _
    - gtk_list_store_clear
    linkageType: ''
    returnType: void
    signature: void update_table_chooser_from_database()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:774,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:774,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:783,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - model
    - iter
    - data
    argTypes:
    - GtkTreeModel*
    - GtkTreeIter*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 791
    functionName: table_chooser_visibility_func
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get
    - gtk_toggle_button_get_active
    - GTK_TREE_MODEL
    - GTK_TOGGLE_BUTTON
    linkageType: ''
    returnType: gboolean
    signature: gboolean table_chooser_visibility_func(GtkTreeModel *model, GtkTreeIter
      *iter, gpointer data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:799,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:799,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:800,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:800,1
    - Dst: gtk_toggle_button_get_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:801,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPDUMPERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 822
    functionName: update_dumper_config_globals_from_options_ui
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_toggle_button_get_active
    - GTK_TOGGLE_BUTTON
    linkageType: ''
    returnType: void
    signature: void update_dumper_config_globals_from_options_ui(SHPDUMPERCONFIG *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:828,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:828,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:829,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:829,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:830,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 833
    functionName: update_options_ui_from_dumper_config_globals
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_toggle_button_set_active
    - GTK_TOGGLE_BUTTON
    linkageType: ''
    returnType: void
    signature: void update_options_ui_from_dumper_config_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_dumper_config_globals_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:845,1
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:849,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:849,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:853,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:853,1
    - Dst: update_dumper_config_globals_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:857,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:860,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 864
    functionName: pgui_set_dumper_configs_from_options_ui
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get
    - gtk_tree_model_get_iter_first
    - update_dumper_config_globals_from_options_ui
    - GTK_TREE_MODEL
    - gtk_tree_model_iter_next
    linkageType: ''
    returnType: void
    signature: void pgui_set_dumper_configs_from_options_ui()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_filter_refilter
      Src: /src/postgis/loader/shp2pgsql-gui.c:871,1
    - Dst: GTK_TREE_MODEL_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - togglebutton
    - user_data
    argTypes:
    - GtkToggleButton*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 874
    functionName: pgui_action_chooser_toggle_show_geocolumn
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_TREE_MODEL_FILTER
    - gtk_tree_model_filter_refilter
    linkageType: ''
    returnType: void
    signature: void pgui_action_chooser_toggle_show_geocolumn(GtkToggleButton *togglebutton,
      gpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_options_ui_from_dumper_config_globals
      Src: /src/postgis/loader/shp2pgsql-gui.c:879,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 882
    functionName: pgui_action_dumper_options_open
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - update_options_ui_from_dumper_config_globals
    - gtk_widget_show_all
    linkageType: ''
    returnType: void
    signature: void pgui_action_dumper_options_open(GtkWidget *widget, gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pgui_set_dumper_configs_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:889,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - widget
    - response
    - data
    argTypes:
    - GtkWidget*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 895
    functionName: pgui_action_dumper_options_close
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_widget_hide
    - pgui_set_dumper_configs_from_options_ui
    linkageType: ''
    returnType: void
    signature: void pgui_action_dumper_options_close(GtkWidget *widget, gint response,
      gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:909,1
    - Dst: memcpy
      Src: /src/postgis/loader/shp2pgsql-gui.c:910,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:915,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:918,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:921,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:929,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:934,1
    - Dst: memcpy
      Src: /src/postgis/loader/shp2pgsql-gui.c:935,1
    - Dst: isupper
      Src: /src/postgis/loader/shp2pgsql-gui.c:941,1
    - Dst: tolower
      Src: /src/postgis/loader/shp2pgsql-gui.c:942,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:946,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:950,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:952,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 955
    functionName: create_new_file_config
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - isupper
    - malloc
    - strdup
    - tolower
    - strlen
    - memcpy
    linkageType: ''
    returnType: SHPLOADERCONFIG
    signature: 'SHPLOADERCONFIG *

      create_new_file_config(const char *filename)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:966,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:968,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:969,1
    - Dst: gtk_list_store_insert_before
      Src: /src/postgis/loader/shp2pgsql-gui.c:973,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:974,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:981,1
    - Dst: update_filename_field_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - loader_file_config
    argTypes:
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 988
    functionName: add_loader_file_config_to_list
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - update_filename_field_width
    - snprintf
    - gtk_list_store_set
    - pgui_logf
    - pgui_raise_error_dialogue
    - gtk_list_store_insert_before
    - _
    linkageType: ''
    returnType: void
    signature: void add_loader_file_config_to_list(SHPLOADERCONFIG *loader_file_config)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:996,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:999,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1002,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1005,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1008,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1011,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1014,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1018
    functionName: free_loader_config
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_loader_config(SHPLOADERCONFIG *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:1030,1
    - Dst: memcpy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1031,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1034,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1034,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:1042,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:1043,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:1046,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - GtkTreeIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1054
    functionName: create_new_table_config
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - gtk_tree_model_get
    - GTK_TREE_MODEL
    - memcpy
    linkageType: ''
    returnType: SHPDUMPERCONFIG
    signature: 'SHPDUMPERCONFIG *

      create_new_table_config(GtkTreeIter *iter)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_list_store_insert_before
      Src: /src/postgis/loader/shp2pgsql-gui.c:1064,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:1065,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1077,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1077,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dumper_table_config
    - chooser_liststore
    - chooser_iter
    argTypes:
    - SHPDUMPERCONFIG*
    - GtkListStore*
    - GtkTreeIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1087
    functionName: add_dumper_table_config_to_list
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_list_store_set
    - GTK_TREE_MODEL
    - gtk_list_store_insert_before
    - gtk_tree_model_get
    linkageType: ''
    returnType: void
    signature: void add_dumper_table_config_to_list(SHPDUMPERCONFIG *dumper_table_config,
      GtkListStore *chooser_liststore, GtkTreeIter *chooser_iter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1095,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1098,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1101,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1104,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPDUMPERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1108
    functionName: free_dumper_config
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_dumper_config(SHPDUMPERCONFIG *config)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1119,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1125,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1131,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1131,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1131,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1137,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1137,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - dbf_fieldtype
    - pg_fieldtype
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1150
    functionName: validate_shape_column_against_pg_column
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int validate_shape_column_against_pg_column(int dbf_fieldtype, char
      *pg_fieldtype)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PQresultStatus
      Src: /src/postgis/loader/shp2pgsql-gui.c:1164,1
    - Dst: PQntuples
      Src: /src/postgis/loader/shp2pgsql-gui.c:1167,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1175,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1175,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1184,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1184,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1193,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1193,1
    - Dst: ShpLoaderCreate
      Src: /src/postgis/loader/shp2pgsql-gui.c:1199,1
    - Dst: ShpLoaderOpenShape
      Src: /src/postgis/loader/shp2pgsql-gui.c:1200,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1203,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1203,1
    - Dst: ShpLoaderDestroy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1204,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1214,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:1214,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1215,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/shp2pgsql-gui.c:1215,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-gui.c:1217,1
    - Dst: validate_shape_column_against_pg_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:1221,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1224,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1224,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1233,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1233,1
    - Dst: ShpLoaderDestroy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1239,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1247,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - config
    - result
    argTypes:
    - SHPLOADERCONFIG*
    - PGresult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1252
    functionName: validate_remote_loader_columns
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strcmp
    - PQgetvalue
    - pgui_logf
    - PQfnumber
    - ShpLoaderDestroy
    - ShpLoaderCreate
    - ShpLoaderOpenShape
    - PQntuples
    - PQresultStatus
    - _
    - validate_shape_column_against_pg_column
    - pgui_seterr
    linkageType: ''
    returnType: int
    signature: int validate_remote_loader_columns(SHPLOADERCONFIG *config, PGresult
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_quit
      Src: /src/postgis/loader/shp2pgsql-gui.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: pgui_quit
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_main_quit
    linkageType: ''
    returnType: void
    signature: void pgui_quit (GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_dialog_run
      Src: /src/postgis/loader/shp2pgsql-gui.c:1265,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:1265,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1267
    functionName: pgui_action_about_open
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_dialog_run
    - gtk_widget_hide
    - GTK_DIALOG
    linkageType: ''
    returnType: void
    signature: void pgui_action_about_open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pgui_quit
      Src: /src/postgis/loader/shp2pgsql-gui.c:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: pgui_action_cancel
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - pgui_quit
    linkageType: ''
    returnType: void
    signature: void pgui_action_cancel(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_options_ui_from_loader_config_globals
      Src: /src/postgis/loader/shp2pgsql-gui.c:1281,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: pgui_action_loader_options_open
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - update_options_ui_from_loader_config_globals
    - gtk_widget_show_all
    linkageType: ''
    returnType: void
    signature: void pgui_action_loader_options_open(GtkWidget *widget, gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pgui_set_loader_configs_from_options_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:1291,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - widget
    - response
    - data
    argTypes:
    - GtkWidget*
    - gint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: pgui_action_loader_options_close
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - pgui_set_loader_configs_from_options_ui
    - gtk_widget_hide
    linkageType: ''
    returnType: void
    signature: void pgui_action_loader_options_close(GtkWidget *widget, gint response,
      gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gtk_file_chooser_unselect_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1307,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:1307,1
    - Dst: gtk_dialog_run
      Src: /src/postgis/loader/shp2pgsql-gui.c:1310,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:1310,1
    - Dst: gtk_file_chooser_get_filenames
      Src: /src/postgis/loader/shp2pgsql-gui.c:1313,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:1313,1
    - Dst: g_slist_nth
      Src: /src/postgis/loader/shp2pgsql-gui.c:1315,1
    - Dst: g_slist_nth_data
      Src: /src/postgis/loader/shp2pgsql-gui.c:1319,1
    - Dst: create_new_file_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1321,1
    - Dst: add_loader_file_config_to_list
      Src: /src/postgis/loader/shp2pgsql-gui.c:1322,1
    - Dst: g_slist_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:1325,1
    - Dst: g_slist_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1329,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1333
    functionName: pgui_action_open_file_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - create_new_file_config
    - gtk_file_chooser_unselect_all
    - gtk_file_chooser_get_filenames
    - GTK_FILE_CHOOSER
    - g_slist_nth
    - GTK_DIALOG
    - add_loader_file_config_to_list
    - g_slist_nth_data
    - g_slist_free
    - g_slist_next
    - gtk_dialog_run
    - gtk_widget_hide
    linkageType: ''
    returnType: void
    signature: void pgui_action_open_file_dialog(GtkWidget *widget, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: connection_test
      Src: /src/postgis/loader/shp2pgsql-gui.c:1346,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1348,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1348,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1349,1
    - Dst: update_conn_ui_from_conn_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1352,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1354,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:1354,1
    - Dst: update_table_chooser_from_database
      Src: /src/postgis/loader/shp2pgsql-gui.c:1359,1
    - Dst: gtk_tree_model_filter_refilter
      Src: /src/postgis/loader/shp2pgsql-gui.c:1360,1
    - Dst: GTK_TREE_MODEL_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:1360,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1363,1
    - Dst: gtk_dialog_run
      Src: /src/postgis/loader/shp2pgsql-gui.c:1364,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:1364,1
    - Dst: gtk_tree_view_get_selection
      Src: /src/postgis/loader/shp2pgsql-gui.c:1367,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:1367,1
    - Dst: gtk_tree_selection_get_selected_rows
      Src: /src/postgis/loader/shp2pgsql-gui.c:1369,1
    - Dst: g_list_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:1370,1
    - Dst: g_list_nth_data
      Src: /src/postgis/loader/shp2pgsql-gui.c:1374,1
    - Dst: gtk_tree_model_get_iter
      Src: /src/postgis/loader/shp2pgsql-gui.c:1375,1
    - Dst: create_new_table_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1378,1
    - Dst: add_dumper_table_config_to_list
      Src: /src/postgis/loader/shp2pgsql-gui.c:1379,1
    - Dst: g_list_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:1382,1
    - Dst: g_list_foreach
      Src: /src/postgis/loader/shp2pgsql-gui.c:1386,1
    - Dst: g_list_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1387,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1391
    functionName: pgui_action_open_table_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - g_list_foreach
    - pgui_raise_error_dialogue
    - g_list_free
    - connection_test
    - gtk_tree_selection_get_selected_rows
    - pgui_seterr
    - gtk_tree_view_get_selection
    - GTK_DIALOG
    - GTK_TREE_VIEW
    - _
    - gtk_dialog_run
    - GTK_TREE_MODEL_FILTER
    - update_table_chooser_from_database
    - gtk_tree_model_filter_refilter
    - gtk_widget_hide
    - g_list_first
    - g_list_next
    - update_conn_ui_from_conn_config
    - create_new_table_config
    - g_list_nth_data
    - GTK_WIDGET
    - gtk_widget_show_all
    - add_dumper_table_config_to_list
    - gtk_tree_model_get_iter
    linkageType: ''
    returnType: void
    signature: void pgui_action_open_table_dialog(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:1407,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1407,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1408,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1408,1
    - Dst: free_dumper_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1412,1
    - Dst: gtk_list_store_remove
      Src: /src/postgis/loader/shp2pgsql-gui.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - renderer
    - path
    - user_data
    argTypes:
    - GtkCellRendererToggle*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1416
    functionName: pgui_action_handle_table_remove
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - free_dumper_config
    - gtk_tree_model_get
    - gtk_list_store_remove
    - GTK_TREE_MODEL
    - gtk_tree_model_get_iter_from_string
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_table_remove(GtkCellRendererToggle *renderer,\n
      \                              gchar *path,\n                               gpointer
      user_data)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:1434,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1434,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1437,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1437,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1438,1
    - Dst: connection_test
      Src: /src/postgis/loader/shp2pgsql-gui.c:1445,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1447,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1447,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1448,1
    - Dst: update_conn_ui_from_conn_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1451,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1453,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:1453,1
    - Dst: ShpDumperGetConnectionStringFromConn
      Src: /src/postgis/loader/shp2pgsql-gui.c:1460,1
    - Dst: PQconnectdb
      Src: /src/postgis/loader/shp2pgsql-gui.c:1461,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1471,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1471,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1476,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1476,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1476,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:1477,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1478,1
    - Dst: PQexec
      Src: /src/postgis/loader/shp2pgsql-gui.c:1479,1
    - Dst: validate_remote_loader_columns
      Src: /src/postgis/loader/shp2pgsql-gui.c:1482,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1485,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:1487,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1488,1
    - Dst: PQclear
      Src: /src/postgis/loader/shp2pgsql-gui.c:1494,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1495,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:1498,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1498,1
    - Dst: PQfinish
      Src: /src/postgis/loader/shp2pgsql-gui.c:1502,1
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:1506,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1506,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1510,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1510,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1513,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1514,1
    - Dst: PQconnectdb
      Src: /src/postgis/loader/shp2pgsql-gui.c:1522,1
    - Dst: gtk_widget_set_sensitive
      Src: /src/postgis/loader/shp2pgsql-gui.c:1525,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1528,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1529,1
    - Dst: ShpLoaderCreate
      Src: /src/postgis/loader/shp2pgsql-gui.c:1532,1
    - Dst: ShpLoaderOpenShape
      Src: /src/postgis/loader/shp2pgsql-gui.c:1535,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1538,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1545,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:1548,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1548,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1549,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1552,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1552,1
    - Dst: ShpLoaderGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1552,1
    - Dst: gtk_label_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:1554,1
    - Dst: GTK_LABEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1554,1
    - Dst: gtk_progress_bar_set_fraction
      Src: /src/postgis/loader/shp2pgsql-gui.c:1555,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:1555,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1556,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1561,1
    - Dst: SHPTypeName
      Src: /src/postgis/loader/shp2pgsql-gui.c:1561,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1562,1
    - Dst: ShpLoaderGetSQLHeader
      Src: /src/postgis/loader/shp2pgsql-gui.c:1566,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1569,1
    - Dst: pgui_exec
      Src: /src/postgis/loader/shp2pgsql-gui.c:1577,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1578,1
    - Dst: ShpLoaderGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1586,1
    - Dst: ShpLoaderGetSQLCopyStatement
      Src: /src/postgis/loader/shp2pgsql-gui.c:1595,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1599,1
    - Dst: pgui_copy_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:1606,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1607,1
    - Dst: ShpLoaderGenerateSQLRowStatement
      Src: /src/postgis/loader/shp2pgsql-gui.c:1616,1
    - Dst: pgui_copy_write
      Src: /src/postgis/loader/shp2pgsql-gui.c:1623,1
    - Dst: pgui_exec
      Src: /src/postgis/loader/shp2pgsql-gui.c:1625,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1629,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1629,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1631,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1636,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1642,1
    - Dst: pgui_copy_write
      Src: /src/postgis/loader/shp2pgsql-gui.c:1645,1
    - Dst: pgui_exec
      Src: /src/postgis/loader/shp2pgsql-gui.c:1647,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1651,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1651,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1653,1
    - Dst: gtk_progress_bar_set_fraction
      Src: /src/postgis/loader/shp2pgsql-gui.c:1667,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:1667,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1670,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1671,1
    - Dst: pgui_copy_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:1677,1
    - Dst: PQgetResult
      Src: /src/postgis/loader/shp2pgsql-gui.c:1680,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/shp2pgsql-gui.c:1681,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1683,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1683,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/shp2pgsql-gui.c:1683,1
    - Dst: ShpLoaderGetSQLFooter
      Src: /src/postgis/loader/shp2pgsql-gui.c:1694,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1697,1
    - Dst: gtk_label_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:1706,1
    - Dst: GTK_LABEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1706,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1706,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1709,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1710,1
    - Dst: pgui_exec
      Src: /src/postgis/loader/shp2pgsql-gui.c:1714,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1715,1
    - Dst: PQfinish
      Src: /src/postgis/loader/shp2pgsql-gui.c:1726,1
    - Dst: ShpLoaderGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1730,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1731,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1731,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1733,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1733,1
    - Dst: ShpLoaderDestroy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1736,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1740,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:1743,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1743,1
    - Dst: gtk_widget_set_sensitive
      Src: /src/postgis/loader/shp2pgsql-gui.c:1750,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1753,1
    - Dst: gtk_widget_show
      Src: /src/postgis/loader/shp2pgsql-gui.c:1754,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1757,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1760,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1761,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1764,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 186
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1418
    functionDepth: 3
    functionLinenumber: 1418
    functionLinenumberEnd: 1767
    functionName: pgui_action_import
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strcpy
    - gtk_tree_model_get
    - gtk_events_pending
    - pgui_raise_error_dialogue
    - connection_test
    - ShpLoaderCreate
    - ShpLoaderGenerateSQLRowStatement
    - PQclear
    - gtk_tree_model_iter_next
    - pgui_seterr
    - gtk_progress_bar_set_fraction
    - PQconnectdb
    - gtk_widget_set_sensitive
    - GTK_PROGRESS_BAR
    - snprintf
    - gtk_tree_model_get_iter_first
    - pgui_logf
    - ShpLoaderGetSQLHeader
    - gtk_widget_show
    - strlen
    - _
    - gtk_main_iteration
    - pgui_copy_start
    - malloc
    - PQexec
    - PQgetResult
    - ShpLoaderGetRecordCount
    - PQerrorMessage
    - free
    - ShpLoaderOpenShape
    - PQresultStatus
    - pgui_copy_write
    - validate_remote_loader_columns
    - pgui_copy_end
    - gtk_widget_hide
    - pgui_exec
    - ShpLoaderGetSQLFooter
    - ShpLoaderGetSQLCopyStatement
    - GTK_TREE_MODEL
    - SHPTypeName
    - update_conn_ui_from_conn_config
    - ShpDumperGetConnectionStringFromConn
    - ShpLoaderDestroy
    - gtk_label_set_text
    - GTK_WIDGET
    - gtk_widget_show_all
    - GTK_LABEL
    - PQfinish
    linkageType: ''
    returnType: void
    signature: void pgui_action_import(GtkWidget *widget, gpointer data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:1784,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1784,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1787,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1787,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1788,1
    - Dst: connection_test
      Src: /src/postgis/loader/shp2pgsql-gui.c:1795,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1797,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1797,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1798,1
    - Dst: update_conn_ui_from_conn_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:1801,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1803,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:1803,1
    - Dst: gtk_dialog_run
      Src: /src/postgis/loader/shp2pgsql-gui.c:1809,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:1809,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1811,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1816,1
    - Dst: gtk_file_chooser_get_current_folder
      Src: /src/postgis/loader/shp2pgsql-gui.c:1817,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:1817,1
    - Dst: gtk_tree_model_get_iter_first
      Src: /src/postgis/loader/shp2pgsql-gui.c:1820,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1820,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:1824,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1824,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1827,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1828,1
    - Dst: gtk_widget_set_sensitive
      Src: /src/postgis/loader/shp2pgsql-gui.c:1835,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1838,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1839,1
    - Dst: ShpDumperCreate
      Src: /src/postgis/loader/shp2pgsql-gui.c:1842,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:1847,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1847,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:1847,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1848,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-gui.c:1849,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-gui.c:1850,1
    - Dst: ShpDumperConnectDatabase
      Src: /src/postgis/loader/shp2pgsql-gui.c:1855,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1858,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1859,1
    - Dst: gtk_label_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:1865,1
    - Dst: GTK_LABEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1865,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1865,1
    - Dst: gtk_progress_bar_set_fraction
      Src: /src/postgis/loader/shp2pgsql-gui.c:1866,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:1866,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:1867,1
    - Dst: ShpDumperOpenTable
      Src: /src/postgis/loader/shp2pgsql-gui.c:1869,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1872,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1876,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1878,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1879,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1886,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1886,1
    - Dst: ShpDumperGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1886,1
    - Dst: gtk_label_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:1888,1
    - Dst: GTK_LABEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1888,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1891,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1892,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1894,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1894,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1895,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1895,1
    - Dst: shapetypename
      Src: /src/postgis/loader/shp2pgsql-gui.c:1895,1
    - Dst: ShpDumperGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1897,1
    - Dst: ShpLoaderGenerateShapeRow
      Src: /src/postgis/loader/shp2pgsql-gui.c:1899,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1902,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1906,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1908,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1909,1
    - Dst: gtk_progress_bar_set_fraction
      Src: /src/postgis/loader/shp2pgsql-gui.c:1916,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:1916,1
    - Dst: ShpDumperGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-gui.c:1916,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1919,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1920,1
    - Dst: ShpDumperCloseTable
      Src: /src/postgis/loader/shp2pgsql-gui.c:1924,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1927,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1931,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:1933,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:1934,1
    - Dst: ShpDumperDestroy
      Src: /src/postgis/loader/shp2pgsql-gui.c:1945,1
    - Dst: gtk_tree_model_iter_next
      Src: /src/postgis/loader/shp2pgsql-gui.c:1951,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:1951,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1957,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1957,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1959,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1959,1
    - Dst: gtk_widget_set_sensitive
      Src: /src/postgis/loader/shp2pgsql-gui.c:1962,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1965,1
    - Dst: gtk_widget_show
      Src: /src/postgis/loader/shp2pgsql-gui.c:1966,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:1969,1
    - Dst: gtk_events_pending
      Src: /src/postgis/loader/shp2pgsql-gui.c:1972,1
    - Dst: gtk_main_iteration
      Src: /src/postgis/loader/shp2pgsql-gui.c:1973,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 111
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1769
    functionDepth: 3
    functionLinenumber: 1769
    functionLinenumberEnd: 1976
    functionName: pgui_action_export
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strcpy
    - gtk_tree_model_get
    - gtk_events_pending
    - shapetypename
    - pgui_raise_error_dialogue
    - connection_test
    - ShpDumperCreate
    - gtk_tree_model_iter_next
    - pgui_seterr
    - gtk_progress_bar_set_fraction
    - ShpDumperDestroy
    - gtk_widget_set_sensitive
    - GTK_PROGRESS_BAR
    - snprintf
    - gtk_tree_model_get_iter_first
    - pgui_logf
    - GTK_DIALOG
    - gtk_widget_show
    - strlen
    - _
    - gtk_main_iteration
    - gtk_dialog_run
    - ShpLoaderGenerateShapeRow
    - ShpDumperCloseTable
    - malloc
    - GTK_FILE_CHOOSER
    - ShpDumperOpenTable
    - strcat
    - gtk_widget_hide
    - gtk_file_chooser_get_current_folder
    - ShpDumperGetRecordCount
    - GTK_TREE_MODEL
    - update_conn_ui_from_conn_config
    - ShpDumperConnectDatabase
    - gtk_label_set_text
    - GTK_WIDGET
    - gtk_widget_show_all
    - GTK_LABEL
    linkageType: ''
    returnType: void
    signature: void pgui_action_export(GtkWidget *widget, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:1992,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:1992,1
    - Dst: g_filename_from_uri
      Src: /src/postgis/loader/shp2pgsql-gui.c:1996,1
    - Dst: g_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:1997,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2001,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2001,1
    - Dst: g_error_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2002,1
    - Dst: create_new_file_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:2007,1
    - Dst: add_loader_file_config_to_list
      Src: /src/postgis/loader/shp2pgsql-gui.c:2008,1
    - Dst: g_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2010,1
    - Dst: g_free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1982
    functionDepth: 3
    functionLinenumber: 1982
    functionLinenumberEnd: 2013
    functionName: process_single_uri
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - g_filename_from_uri
    - create_new_file_config
    - pgui_logf
    - g_error_free
    - add_loader_file_config_to_list
    - g_free
    - _
    linkageType: ''
    returnType: void
    signature: void process_single_uri(char *uri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2022,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2022,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2031,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2033,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2037,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2039,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2043,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2045,1
    - Dst: atoi
      Src: /src/postgis/loader/shp2pgsql-gui.c:2048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - iter
    - loader_file_config
    argTypes:
    - GtkTreeIter*
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2052
    functionName: update_loader_file_config_from_listview_iter
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strdup
    - gtk_tree_model_get
    - GTK_TREE_MODEL
    - free
    - atoi
    linkageType: ''
    returnType: void
    signature: void update_loader_file_config_from_listview_iter(GtkTreeIter *iter,
      SHPLOADERCONFIG *loader_file_config)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2071,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2071,1
    - Dst: g_ascii_isspace
      Src: /src/postgis/loader/shp2pgsql-gui.c:2082,1
    - Dst: g_ascii_isspace
      Src: /src/postgis/loader/shp2pgsql-gui.c:2093,1
    - Dst: process_single_uri
      Src: /src/postgis/loader/shp2pgsql-gui.c:2097,1
    - Dst: g_strndup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2097,1
    - Dst: strchr
      Src: /src/postgis/loader/shp2pgsql-gui.c:2102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 8
    argNames:
    - widget
    - dc
    - x
    - y
    - selection_data
    - info
    - t
    - data
    argTypes:
    - GtkWidget*
    - GdkDragContext*
    - gint
    - gint
    - GtkSelectionData*
    - guint
    - guint
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2106
    functionName: pgui_action_handle_file_drop
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - process_single_uri
    - pgui_logf
    - strchr
    - _
    - g_strndup
    - g_ascii_isspace
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_file_drop(GtkWidget *widget,\n                             GdkDragContext
      *dc,\n                             gint x, gint y,\n                             GtkSelectionData
      *selection_data,\n                             guint info, guint t, gpointer
      data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:2125,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2125,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2126,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2126,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2130,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2130,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2162,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2162,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - combo
    - path_string
    - new_iter
    - user_data
    argTypes:
    - GtkCellRendererCombo*
    - gchar*
    - GtkTreeIter*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2166
    functionName: pgui_action_handle_tree_combo
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get_iter_from_string
    - gtk_list_store_set
    - GTK_TREE_MODEL
    - gtk_tree_model_get
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_tree_combo(GtkCellRendererCombo *combo,\n
      \                             gchar *path_string,\n                              GtkTreeIter
      *new_iter,\n                              gpointer user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2189,1
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:2194,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2194,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2195,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2198,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2198,1
    - Dst: update_loader_file_config_from_listview_iter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2202,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2205,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2207,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:2208,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - renderer
    - path
    - new_text
    - column
    argTypes:
    - GtkCellRendererText*
    - gchar*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2175
    functionDepth: 2
    functionLinenumber: 2175
    functionLinenumberEnd: 2220
    functionName: pgui_action_handle_loader_edit
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_tree_model_get
    - gtk_list_store_set
    - snprintf
    - pgui_logf
    - GTK_TREE_MODEL
    - pgui_raise_error_dialogue
    - strlen
    - update_loader_file_config_from_listview_iter
    - gtk_tree_model_get_iter_from_string
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_loader_edit(GtkCellRendererText *renderer,\n
      \                            gchar *path,\n                             gchar
      *new_text,\n                             gpointer column)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:2236,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2236,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2237,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2237,1
    - Dst: free_loader_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:2241,1
    - Dst: gtk_list_store_remove
      Src: /src/postgis/loader/shp2pgsql-gui.c:2244,1
    - Dst: update_filename_field_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - renderer
    - path
    - user_data
    argTypes:
    - GtkCellRendererToggle*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2226
    functionDepth: 1
    functionLinenumber: 2226
    functionLinenumberEnd: 2248
    functionName: pgui_action_handle_file_remove
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - update_filename_field_width
    - gtk_tree_model_get
    - gtk_list_store_remove
    - GTK_TREE_MODEL
    - free_loader_config
    - gtk_tree_model_get_iter_from_string
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_file_remove(GtkCellRendererToggle *renderer,\n
      \                              gchar *path,\n                               gpointer
      user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2260,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2260,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2269,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2271,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2275,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2277,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2281,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2283,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2287,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - iter
    - dumper_table_config
    argTypes:
    - GtkTreeIter*
    - SHPDUMPERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2292
    functionName: update_dumper_table_config_from_listview_iter
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - free
    - GTK_TREE_MODEL
    - strdup
    - gtk_tree_model_get
    linkageType: ''
    returnType: void
    signature: void update_dumper_table_config_from_listview_iter(GtkTreeIter *iter,
      SHPDUMPERCONFIG *dumper_table_config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:2307,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2307,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2308,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2308,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2319,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2319,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2324,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2326,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - combo
    - path_string
    - new_iter
    - user_data
    argTypes:
    - GtkCellRendererCombo*
    - gchar*
    - GtkTreeIter*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2334
    functionName: pgui_action_handle_table_geocol_combo
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strdup
    - gtk_tree_model_get
    - gtk_list_store_set
    - GTK_TREE_MODEL
    - free
    - gtk_tree_model_get_iter_from_string
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_table_geocol_combo(GtkCellRendererCombo *combo,\n
      \                             gchar *path_string,\n                              GtkTreeIter
      *new_iter,\n                              gpointer user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2348,1
    - Dst: gtk_tree_model_get_iter_from_string
      Src: /src/postgis/loader/shp2pgsql-gui.c:2353,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2353,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2354,1
    - Dst: gtk_tree_model_get
      Src: /src/postgis/loader/shp2pgsql-gui.c:2357,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2357,1
    - Dst: update_dumper_table_config_from_listview_iter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2361,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - renderer
    - path
    - new_text
    - column
    argTypes:
    - GtkCellRendererText*
    - gchar*
    - gchar*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2372
    functionName: pgui_action_handle_dumper_edit
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - update_dumper_table_config_from_listview_iter
    - gtk_tree_model_get
    - gtk_list_store_set
    - GTK_TREE_MODEL
    - strlen
    - gtk_tree_model_get_iter_from_string
    linkageType: ''
    returnType: void
    signature: "void pgui_action_handle_dumper_edit(GtkCellRendererText *renderer,\n
      \                            gchar *path,\n                             gchar
      *new_text,\n                             gpointer column)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2381,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2381,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2383,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2383,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2386,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2386,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2388,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2388,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2391,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2391,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2393,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2393,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2396,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2396,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2398,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2398,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2401,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2401,1
    - Dst: gtk_entry_set_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2403,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2406
    functionName: update_conn_ui_from_conn_config
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 3
    functionsReached:
    - gtk_entry_set_text
    - GTK_ENTRY
    linkageType: ''
    returnType: void
    signature: void update_conn_ui_from_conn_config(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2414,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2414,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2416,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2418,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2419,1
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2423,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2423,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2425,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2427,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2428,1
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2432,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2432,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2434,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2436,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2437,1
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2441,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2441,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2443,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2445,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2446,1
    - Dst: gtk_entry_get_text
      Src: /src/postgis/loader/shp2pgsql-gui.c:2450,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2450,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:2452,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2454,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:2455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2460
    functionName: update_conn_config_from_conn_ui
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - strdup
    - gtk_entry_get_text
    - GTK_ENTRY
    - free
    - strlen
    linkageType: ''
    returnType: void
    signature: void update_conn_config_from_conn_ui(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_conn_ui_from_conn_config
      Src: /src/postgis/loader/shp2pgsql-gui.c:2469,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:2471,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:2471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2465
    functionDepth: 1
    functionLinenumber: 2465
    functionLinenumberEnd: 2473
    functionName: pgui_action_connection_details
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_WIDGET
    - gtk_widget_show_all
    - update_conn_ui_from_conn_config
    linkageType: ''
    returnType: void
    signature: void pgui_action_connection_details(GtkWidget *widget, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2481,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-gui.c:2483,1
    - Dst: isdigit
      Src: /src/postgis/loader/shp2pgsql-gui.c:2485,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:2487,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2476
    functionDepth: 2
    functionLinenumber: 2476
    functionLinenumberEnd: 2494
    functionName: pgui_validate_connection
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - _
    - strlen
    - pgui_seterr
    - isdigit
    linkageType: ''
    returnType: int
    signature: int pgui_validate_connection()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/postgis/loader/shp2pgsql-gui.c:2499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - connection_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2513
    functionName: pgui_sanitize_connection_string
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 1
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: void pgui_sanitize_connection_string(char *connection_string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update_conn_config_from_conn_ui
      Src: /src/postgis/loader/shp2pgsql-gui.c:2523,1
    - Dst: pgui_validate_connection
      Src: /src/postgis/loader/shp2pgsql-gui.c:2526,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:2528,1
    - Dst: connection_test
      Src: /src/postgis/loader/shp2pgsql-gui.c:2532,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2534,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2534,1
    - Dst: pgui_seterr
      Src: /src/postgis/loader/shp2pgsql-gui.c:2537,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2537,1
    - Dst: pgui_raise_error_dialogue
      Src: /src/postgis/loader/shp2pgsql-gui.c:2538,1
    - Dst: pgui_logf
      Src: /src/postgis/loader/shp2pgsql-gui.c:2542,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2542,1
    - Dst: gtk_widget_hide
      Src: /src/postgis/loader/shp2pgsql-gui.c:2547,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:2547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - widget
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2519
    functionDepth: 3
    functionLinenumber: 2519
    functionLinenumberEnd: 2548
    functionName: pgui_action_connection_okay
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - pgui_logf
    - pgui_raise_error_dialogue
    - update_conn_config_from_conn_ui
    - connection_test
    - GTK_WIDGET
    - pgui_validate_connection
    - _
    - pgui_seterr
    - gtk_widget_hide
    linkageType: ''
    returnType: void
    signature: void pgui_action_connection_okay(GtkWidget *widget, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_about_dialog_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2566,1
    - Dst: gtk_about_dialog_set_name
      Src: /src/postgis/loader/shp2pgsql-gui.c:2567,1
    - Dst: GTK_ABOUT_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2567,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2567,1
    - Dst: gtk_about_dialog_set_comments
      Src: /src/postgis/loader/shp2pgsql-gui.c:2568,1
    - Dst: GTK_ABOUT_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2568,1
    - Dst: gtk_about_dialog_set_website
      Src: /src/postgis/loader/shp2pgsql-gui.c:2569,1
    - Dst: GTK_ABOUT_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2569,1
    - Dst: gtk_about_dialog_set_authors
      Src: /src/postgis/loader/shp2pgsql-gui.c:2570,1
    - Dst: GTK_ABOUT_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2571
    functionName: pgui_create_about_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_about_dialog_new
    - GTK_ABOUT_DIALOG
    - gtk_about_dialog_set_website
    - _
    - gtk_about_dialog_set_comments
    - gtk_about_dialog_set_name
    - gtk_about_dialog_set_authors
    linkageType: ''
    returnType: void
    signature: void pgui_create_about_dialog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_file_chooser_dialog_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2579,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2579,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2579,1
    - Dst: gtk_file_filter_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2583,1
    - Dst: gtk_file_filter_add_pattern
      Src: /src/postgis/loader/shp2pgsql-gui.c:2584,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2584,1
    - Dst: gtk_file_filter_set_name
      Src: /src/postgis/loader/shp2pgsql-gui.c:2585,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2585,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2585,1
    - Dst: gtk_file_chooser_add_filter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2586,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2586,1
    - Dst: gtk_file_filter_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2589,1
    - Dst: gtk_file_filter_add_pattern
      Src: /src/postgis/loader/shp2pgsql-gui.c:2590,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2590,1
    - Dst: gtk_file_filter_set_name
      Src: /src/postgis/loader/shp2pgsql-gui.c:2591,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2591,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2591,1
    - Dst: gtk_file_chooser_add_filter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2592,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2592,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2598
    functionName: pgui_create_filechooser_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_file_filter_add_pattern
    - GTK_FILE_CHOOSER
    - GTK_FILE_FILTER
    - gtk_file_filter_set_name
    - gtk_file_filter_new
    - gtk_file_chooser_add_filter
    - gtk_file_chooser_dialog_new
    - _
    - g_object_set
    - GTK_WINDOW
    linkageType: ''
    returnType: void
    signature: void pgui_create_filechooser_dialog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_file_chooser_dialog_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2606,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2606,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2606,1
    - Dst: gtk_file_filter_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2610,1
    - Dst: gtk_file_filter_add_pattern
      Src: /src/postgis/loader/shp2pgsql-gui.c:2611,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2611,1
    - Dst: gtk_file_filter_set_name
      Src: /src/postgis/loader/shp2pgsql-gui.c:2612,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2612,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2612,1
    - Dst: gtk_file_chooser_add_filter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2613,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2613,1
    - Dst: gtk_file_filter_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2616,1
    - Dst: gtk_file_filter_add_pattern
      Src: /src/postgis/loader/shp2pgsql-gui.c:2617,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2617,1
    - Dst: gtk_file_filter_set_name
      Src: /src/postgis/loader/shp2pgsql-gui.c:2618,1
    - Dst: GTK_FILE_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2618,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2618,1
    - Dst: gtk_file_chooser_add_filter
      Src: /src/postgis/loader/shp2pgsql-gui.c:2619,1
    - Dst: GTK_FILE_CHOOSER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2622
    functionName: pgui_create_folderchooser_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_file_filter_add_pattern
    - GTK_FILE_CHOOSER
    - GTK_FILE_FILTER
    - gtk_file_filter_set_name
    - gtk_file_filter_new
    - gtk_file_chooser_add_filter
    - gtk_file_chooser_dialog_new
    - _
    - GTK_WINDOW
    linkageType: ''
    returnType: void
    signature: void pgui_create_folderchooser_dialog(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_dialog_new_with_buttons
      Src: /src/postgis/loader/shp2pgsql-gui.c:2629,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2629,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2629,1
    - Dst: gtk_window_set_modal
      Src: /src/postgis/loader/shp2pgsql-gui.c:2631,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2631,1
    - Dst: gtk_window_set_keep_above
      Src: /src/postgis/loader/shp2pgsql-gui.c:2632,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2632,1
    - Dst: gtk_window_set_default_size
      Src: /src/postgis/loader/shp2pgsql-gui.c:2633,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2633,1
    - Dst: gtk_dialog_get_content_area
      Src: /src/postgis/loader/shp2pgsql-gui.c:2636,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2636,1
    - Dst: gtk_box_set_spacing
      Src: /src/postgis/loader/shp2pgsql-gui.c:2637,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2637,1
    - Dst: gtk_table_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2640,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2641,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2641,1
    - Dst: gtk_table_set_row_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2642,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2642,1
    - Dst: gtk_table_set_col_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2643,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2643,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2646,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2647,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2647,1
    - Dst: gtk_progress_bar_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2650,1
    - Dst: gtk_progress_bar_set_orientation
      Src: /src/postgis/loader/shp2pgsql-gui.c:2651,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:2651,1
    - Dst: gtk_progress_bar_set_fraction
      Src: /src/postgis/loader/shp2pgsql-gui.c:2652,1
    - Dst: GTK_PROGRESS_BAR
      Src: /src/postgis/loader/shp2pgsql-gui.c:2652,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2653,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2653,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2656,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2656,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2659,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2659,1
    - Dst: gtk_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2662,1
    - Dst: GTK_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2662,1
    - Dst: GTK_SIGNAL_FUNC
      Src: /src/postgis/loader/shp2pgsql-gui.c:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2665
    functionName: pgui_create_progress_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_BOX
    - gtk_table_new
    - gtk_window_set_default_size
    - gtk_window_set_keep_above
    - G_CALLBACK
    - gtk_dialog_new_with_buttons
    - g_signal_connect
    - gtk_table_set_col_spacings
    - gtk_progress_bar_set_fraction
    - GTK_PROGRESS_BAR
    - gtk_table_attach_defaults
    - gtk_progress_bar_set_orientation
    - GTK_DIALOG
    - gtk_box_pack_start
    - GTK_CONTAINER
    - _
    - GTK_WINDOW
    - GTK_TABLE
    - GTK_OBJECT
    - gtk_table_set_row_spacings
    - gtk_dialog_get_content_area
    - gtk_label_new
    - gtk_signal_connect
    - gtk_window_set_modal
    - GTK_SIGNAL_FUNC
    - gtk_progress_bar_new
    - gtk_box_set_spacing
    - gtk_container_set_border_width
    linkageType: ''
    returnType: void
    signature: void pgui_create_progress_dialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2670,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2671,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2672,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2672,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2673,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - table
    - str
    - alignment
    - row
    argTypes:
    - GtkWidget*
    - char*
    - gfloat
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2674
    functionName: pgui_create_options_dialog_add_label
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_table_attach_defaults
    - gtk_alignment_new
    - GTK_CONTAINER
    - gtk_label_new
    - gtk_container_add
    - GTK_TABLE
    linkageType: ''
    returnType: void
    signature: void pgui_create_options_dialog_add_label(GtkWidget *table, const char
      *str, gfloat alignment, int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_dialog_new_with_buttons
      Src: /src/postgis/loader/shp2pgsql-gui.c:2683,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2683,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2683,1
    - Dst: gtk_window_set_modal
      Src: /src/postgis/loader/shp2pgsql-gui.c:2685,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2685,1
    - Dst: gtk_window_set_keep_above
      Src: /src/postgis/loader/shp2pgsql-gui.c:2686,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2686,1
    - Dst: gtk_window_set_default_size
      Src: /src/postgis/loader/shp2pgsql-gui.c:2687,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2687,1
    - Dst: gtk_table_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2689,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2690,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2690,1
    - Dst: gtk_table_set_row_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2691,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2691,1
    - Dst: gtk_table_set_col_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2692,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2692,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2694,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2694,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2695,1
    - Dst: gtk_entry_set_width_chars
      Src: /src/postgis/loader/shp2pgsql-gui.c:2696,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:2696,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2697,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2697,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2699,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2699,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2700,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2701,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2702,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2702,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2703,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2703,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2705,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2705,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2706,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2707,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2708,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2708,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2709,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2709,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2711,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2711,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2712,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2713,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2714,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2714,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2715,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2715,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2717,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2717,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2718,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2719,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2720,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2720,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2721,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2721,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2723,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2723,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2724,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2725,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2726,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2726,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2727,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2727,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2729,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2729,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2730,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2731,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2732,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2732,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2733,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2733,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2735,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2735,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2736,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2737,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2738,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2738,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2739,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2739,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2742,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2742,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2743,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2743,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2743,1
    - Dst: gtk_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2746,1
    - Dst: GTK_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2746,1
    - Dst: GTK_SIGNAL_FUNC
      Src: /src/postgis/loader/shp2pgsql-gui.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2747
    functionName: pgui_create_loader_options_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_table_new
    - GTK_BOX
    - gtk_window_set_default_size
    - gtk_window_set_keep_above
    - G_CALLBACK
    - gtk_dialog_new_with_buttons
    - g_signal_connect
    - gtk_table_set_col_spacings
    - pgui_create_options_dialog_add_label
    - gtk_table_attach_defaults
    - gtk_alignment_new
    - GTK_ENTRY
    - gtk_box_pack_start
    - GTK_DIALOG
    - GTK_CONTAINER
    - _
    - GTK_WINDOW
    - GTK_TABLE
    - GTK_OBJECT
    - gtk_entry_new
    - gtk_table_set_row_spacings
    - gtk_check_button_new
    - gtk_entry_set_width_chars
    - gtk_container_add
    - gtk_signal_connect
    - gtk_window_set_modal
    - GTK_SIGNAL_FUNC
    - gtk_container_set_border_width
    linkageType: ''
    returnType: void
    signature: void pgui_create_loader_options_dialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_dialog_new_with_buttons
      Src: /src/postgis/loader/shp2pgsql-gui.c:2755,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2755,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2755,1
    - Dst: gtk_window_set_modal
      Src: /src/postgis/loader/shp2pgsql-gui.c:2757,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2757,1
    - Dst: gtk_window_set_keep_above
      Src: /src/postgis/loader/shp2pgsql-gui.c:2758,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2758,1
    - Dst: gtk_window_set_default_size
      Src: /src/postgis/loader/shp2pgsql-gui.c:2759,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2759,1
    - Dst: gtk_table_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2761,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2762,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2762,1
    - Dst: gtk_table_set_row_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2763,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2763,1
    - Dst: gtk_table_set_col_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2764,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2764,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2766,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2766,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2767,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2768,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2769,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2769,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2770,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2770,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2772,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2772,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2773,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2774,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2775,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2775,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2776,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2776,1
    - Dst: pgui_create_options_dialog_add_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2778,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2778,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2779,1
    - Dst: gtk_alignment_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2780,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:2781,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2781,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2782,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2782,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2785,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2785,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2786,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2786,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2786,1
    - Dst: gtk_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2789,1
    - Dst: GTK_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2789,1
    - Dst: GTK_SIGNAL_FUNC
      Src: /src/postgis/loader/shp2pgsql-gui.c:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2790
    functionName: pgui_create_dumper_options_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_table_new
    - GTK_BOX
    - gtk_window_set_default_size
    - gtk_window_set_keep_above
    - G_CALLBACK
    - gtk_dialog_new_with_buttons
    - g_signal_connect
    - gtk_table_set_col_spacings
    - pgui_create_options_dialog_add_label
    - gtk_table_attach_defaults
    - gtk_alignment_new
    - gtk_box_pack_start
    - GTK_DIALOG
    - GTK_CONTAINER
    - _
    - GTK_WINDOW
    - GTK_TABLE
    - GTK_OBJECT
    - gtk_table_set_row_spacings
    - gtk_check_button_new
    - gtk_container_add
    - gtk_signal_connect
    - gtk_window_set_modal
    - GTK_SIGNAL_FUNC
    - gtk_container_set_border_width
    linkageType: ''
    returnType: void
    signature: void pgui_create_dumper_options_dialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_dialog_new_with_buttons
      Src: /src/postgis/loader/shp2pgsql-gui.c:2804,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2804,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2804,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2807,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2807,1
    - Dst: gtk_window_set_position
      Src: /src/postgis/loader/shp2pgsql-gui.c:2808,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2808,1
    - Dst: gtk_dialog_get_content_area
      Src: /src/postgis/loader/shp2pgsql-gui.c:2810,1
    - Dst: GTK_DIALOG
      Src: /src/postgis/loader/shp2pgsql-gui.c:2810,1
    - Dst: gtk_list_store_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2813,1
    - Dst: gtk_tree_model_filter_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2822,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2822,1
    - Dst: gtk_tree_model_filter_set_visible_func
      Src: /src/postgis/loader/shp2pgsql-gui.c:2823,1
    - Dst: GTK_TREE_MODEL_FILTER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2823,1
    - Dst: gtk_tree_view_new_with_model
      Src: /src/postgis/loader/shp2pgsql-gui.c:2827,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2827,1
    - Dst: gtk_tree_view_get_selection
      Src: /src/postgis/loader/shp2pgsql-gui.c:2828,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2828,1
    - Dst: gtk_tree_selection_set_mode
      Src: /src/postgis/loader/shp2pgsql-gui.c:2829,1
    - Dst: gtk_scrolled_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2832,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/postgis/loader/shp2pgsql-gui.c:2833,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2833,1
    - Dst: gtk_scrolled_window_set_shadow_type
      Src: /src/postgis/loader/shp2pgsql-gui.c:2834,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2834,1
    - Dst: gtk_widget_set_size_request
      Src: /src/postgis/loader/shp2pgsql-gui.c:2835,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2837,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2837,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2838,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2838,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2841,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2842,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2843,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2843,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2843,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2844,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2844,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2849,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2850,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2850,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2853,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2854,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2855,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2855,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2855,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2856,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2856,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2861,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2862,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2862,1
    - Dst: gtk_table_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2865,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2866,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2866,1
    - Dst: gtk_table_set_row_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2867,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2867,1
    - Dst: gtk_table_set_col_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:2868,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2868,1
    - Dst: gtk_check_button_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2870,1
    - Dst: gtk_table_attach
      Src: /src/postgis/loader/shp2pgsql-gui.c:2871,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2871,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2872,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2872,1
    - Dst: gtk_table_attach
      Src: /src/postgis/loader/shp2pgsql-gui.c:2873,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:2873,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2874,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2874,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2874,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:2875,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/postgis/loader/shp2pgsql-gui.c:2875,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2878,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2881
    functionName: pgui_create_tablechooser_dialog
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_BOX
    - gtk_table_new
    - G_CALLBACK
    - gtk_dialog_new_with_buttons
    - g_signal_connect
    - gtk_table_set_col_spacings
    - gtk_scrolled_window_set_shadow_type
    - gtk_cell_renderer_text_new
    - gtk_tree_view_get_selection
    - GTK_DIALOG
    - gtk_tree_view_new_with_model
    - GTK_TREE_VIEW
    - gtk_box_pack_start
    - G_OBJECT
    - gtk_table_attach
    - GTK_CONTAINER
    - _
    - GTK_WINDOW
    - GTK_TABLE
    - GTK_SCROLLED_WINDOW
    - gtk_table_set_row_spacings
    - GTK_TREE_MODEL_FILTER
    - gtk_check_button_new
    - gtk_window_set_position
    - gtk_dialog_get_content_area
    - gtk_list_store_new
    - gtk_tree_view_column_new_with_attributes
    - gtk_widget_set_size_request
    - gtk_scrolled_window_set_policy
    - gtk_tree_model_filter_set_visible_func
    - gtk_label_new
    - gtk_tree_selection_set_mode
    - gtk_container_add
    - GTK_TOGGLE_BUTTON
    - gtk_tree_model_filter_new
    - GTK_TREE_MODEL
    - gtk_scrolled_window_new
    - gtk_tree_view_append_column
    - gtk_toggle_button_set_active
    - gtk_container_set_border_width
    - g_object_set
    linkageType: ''
    returnType: void
    signature: void pgui_create_tablechooser_dialog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2896,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2896,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2898,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:2899,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2899,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2900,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2900,1
    - Dst: gtk_list_store_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2903,1
    - Dst: gtk_tree_view_new_with_model
      Src: /src/postgis/loader/shp2pgsql-gui.c:2914,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:2914,1
    - Dst: g_malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:2921,1
    - Dst: gtk_scrolled_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2924,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/postgis/loader/shp2pgsql-gui.c:2925,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2925,1
    - Dst: gtk_scrolled_window_set_shadow_type
      Src: /src/postgis/loader/shp2pgsql-gui.c:2926,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2926,1
    - Dst: gtk_widget_set_size_request
      Src: /src/postgis/loader/shp2pgsql-gui.c:2927,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:2929,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:2929,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2930,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2930,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:2933,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2933,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:2934,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:2934,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2937,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2938,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2940,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2940,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2940,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2941,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2941,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2946,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2947,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2947,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2950,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2951,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2953,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2953,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2953,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2954,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2954,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2959,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2960,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2960,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2963,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2964,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2966,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2966,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2966,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2967,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2967,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2972,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2973,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2973,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2976,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2977,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2979,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2979,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2979,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2980,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:2980,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2985,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2986,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2986,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:2989,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2990,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:2992,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:2992,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:2992,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:2993,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:2998,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:2999,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:2999,1
    - Dst: gtk_list_store_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3002,1
    - Dst: gtk_list_store_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:3006,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3007,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3008,1
    - Dst: gtk_list_store_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:3011,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3012,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3013,1
    - Dst: gtk_list_store_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:3016,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3017,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3018,1
    - Dst: gtk_list_store_insert
      Src: /src/postgis/loader/shp2pgsql-gui.c:3021,1
    - Dst: gtk_list_store_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3022,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3023,1
    - Dst: gtk_combo_box_new_with_model
      Src: /src/postgis/loader/shp2pgsql-gui.c:3026,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:3026,1
    - Dst: gtk_cell_renderer_combo_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3027,1
    - Dst: gtk_cell_layout_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3028,1
    - Dst: GTK_CELL_LAYOUT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3028,1
    - Dst: gtk_cell_layout_add_attribute
      Src: /src/postgis/loader/shp2pgsql-gui.c:3030,1
    - Dst: GTK_CELL_LAYOUT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3030,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3032,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3038,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3038,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3043,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3043,1
    - Dst: gtk_combo_box_set_active
      Src: /src/postgis/loader/shp2pgsql-gui.c:3044,1
    - Dst: GTK_COMBO_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3044,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3045,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3047,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3047,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3047,1
    - Dst: gtk_cell_renderer_toggle_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3050,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3051,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3052,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3052,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3052,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3053,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3055,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3056,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3056,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3058,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3058,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3058,1
    - Dst: gtk_drag_dest_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3067,1
    - Dst: GTK_WIDGET
      Src: /src/postgis/loader/shp2pgsql-gui.c:3067,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3071,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3071,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 1
    argNames:
    - import_list_frame
    argTypes:
    - GtkWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 3073
    functionName: pgui_create_import_file_table
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_cell_layout_add_attribute
    - gtk_cell_renderer_combo_new
    - GTK_BOX
    - G_CALLBACK
    - gtk_list_store_set
    - g_signal_connect
    - gtk_cell_renderer_toggle_new
    - gtk_scrolled_window_set_shadow_type
    - gtk_cell_renderer_text_new
    - gtk_vbox_new
    - gtk_box_pack_start
    - gtk_tree_view_new_with_model
    - G_OBJECT
    - GTK_TREE_VIEW
    - GTK_CONTAINER
    - _
    - GTK_SCROLLED_WINDOW
    - gtk_button_new_with_label
    - GTK_COMBO_BOX
    - g_malloc
    - gtk_list_store_new
    - gtk_tree_view_column_new_with_attributes
    - gtk_widget_set_size_request
    - gtk_cell_layout_pack_start
    - gtk_scrolled_window_set_policy
    - gtk_combo_box_new_with_model
    - gtk_drag_dest_set
    - gtk_container_add
    - gtk_combo_box_set_active
    - GTK_CELL_LAYOUT
    - GTK_TREE_MODEL
    - gtk_scrolled_window_new
    - gtk_tree_view_append_column
    - gtk_list_store_insert
    - GTK_WIDGET
    - gtk_container_set_border_width
    - g_object_set
    linkageType: ''
    returnType: void
    signature: void pgui_create_import_file_table(GtkWidget *import_list_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3086,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3086,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3088,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3089,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3089,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3090,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3090,1
    - Dst: gtk_list_store_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3093,1
    - Dst: gtk_tree_view_new_with_model
      Src: /src/postgis/loader/shp2pgsql-gui.c:3103,1
    - Dst: GTK_TREE_MODEL
      Src: /src/postgis/loader/shp2pgsql-gui.c:3103,1
    - Dst: g_malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:3110,1
    - Dst: gtk_scrolled_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3113,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/postgis/loader/shp2pgsql-gui.c:3114,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3114,1
    - Dst: gtk_scrolled_window_set_shadow_type
      Src: /src/postgis/loader/shp2pgsql-gui.c:3115,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3115,1
    - Dst: gtk_widget_set_size_request
      Src: /src/postgis/loader/shp2pgsql-gui.c:3116,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3118,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3118,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3119,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3119,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3122,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3122,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3123,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3123,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3126,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3127,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3129,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3129,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3129,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3130,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3130,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3135,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3136,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3136,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3139,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3140,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3142,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3142,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3142,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3143,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3143,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3148,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3149,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3149,1
    - Dst: gtk_combo_box_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3152,1
    - Dst: gtk_cell_renderer_combo_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3153,1
    - Dst: gtk_cell_layout_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3154,1
    - Dst: GTK_CELL_LAYOUT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3154,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3156,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3161,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3161,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3168,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3169,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3169,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3170,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3170,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3170,1
    - Dst: gtk_cell_renderer_text_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3173,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3174,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3176,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3176,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3176,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3177,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3177,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3182,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3183,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3183,1
    - Dst: gtk_cell_renderer_toggle_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3186,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3187,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3188,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3188,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3188,1
    - Dst: gtk_tree_view_column_new_with_attributes
      Src: /src/postgis/loader/shp2pgsql-gui.c:3189,1
    - Dst: g_object_set
      Src: /src/postgis/loader/shp2pgsql-gui.c:3191,1
    - Dst: gtk_tree_view_append_column
      Src: /src/postgis/loader/shp2pgsql-gui.c:3192,1
    - Dst: GTK_TREE_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3192,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3194,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3194,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 1
    argNames:
    - export_list_frame
    argTypes:
    - GtkWidget*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 3079
    functionDepth: 0
    functionLinenumber: 3079
    functionLinenumberEnd: 3195
    functionName: pgui_create_export_table_table
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_cell_renderer_combo_new
    - GTK_BOX
    - G_CALLBACK
    - g_signal_connect
    - gtk_cell_renderer_toggle_new
    - gtk_scrolled_window_set_shadow_type
    - gtk_cell_renderer_text_new
    - gtk_vbox_new
    - gtk_box_pack_start
    - gtk_tree_view_new_with_model
    - G_OBJECT
    - GTK_TREE_VIEW
    - GTK_CONTAINER
    - _
    - GTK_SCROLLED_WINDOW
    - gtk_button_new_with_label
    - gtk_combo_box_new
    - g_malloc
    - gtk_list_store_new
    - gtk_tree_view_column_new_with_attributes
    - gtk_widget_set_size_request
    - gtk_cell_layout_pack_start
    - gtk_scrolled_window_set_policy
    - gtk_container_add
    - GTK_CELL_LAYOUT
    - GTK_TREE_MODEL
    - gtk_scrolled_window_new
    - gtk_tree_view_append_column
    - gtk_container_set_border_width
    - g_object_set
    linkageType: ''
    returnType: void
    signature: void pgui_create_export_table_table(GtkWidget *export_list_frame)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3216,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3217,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3217,1
    - Dst: gtk_window_set_title
      Src: /src/postgis/loader/shp2pgsql-gui.c:3218,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3218,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3218,1
    - Dst: gtk_window_set_position
      Src: /src/postgis/loader/shp2pgsql-gui.c:3219,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3219,1
    - Dst: gtk_window_set_modal
      Src: /src/postgis/loader/shp2pgsql-gui.c:3220,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3220,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3223,1
    - Dst: gtk_frame_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3228,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3228,1
    - Dst: gtk_table_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3229,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3230,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3230,1
    - Dst: gtk_table_set_col_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:3231,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3231,1
    - Dst: gtk_table_set_row_spacings
      Src: /src/postgis/loader/shp2pgsql-gui.c:3232,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3232,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3235,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3235,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3236,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3237,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3237,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3238,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3238,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3241,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3241,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3242,1
    - Dst: gtk_entry_set_visibility
      Src: /src/postgis/loader/shp2pgsql-gui.c:3243,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:3243,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3244,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3244,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3245,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3245,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3248,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3248,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3249,1
    - Dst: gtk_entry_set_width_chars
      Src: /src/postgis/loader/shp2pgsql-gui.c:3250,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:3250,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3251,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3251,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3252,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3252,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3254,1
    - Dst: gtk_entry_set_width_chars
      Src: /src/postgis/loader/shp2pgsql-gui.c:3255,1
    - Dst: GTK_ENTRY
      Src: /src/postgis/loader/shp2pgsql-gui.c:3255,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3256,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3256,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3259,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3259,1
    - Dst: gtk_entry_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3260,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3261,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3261,1
    - Dst: gtk_table_attach_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3262,1
    - Dst: GTK_TABLE
      Src: /src/postgis/loader/shp2pgsql-gui.c:3262,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3265,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3265,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3268,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3268,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3271,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3271,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3274,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3274,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3275,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3275,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3276,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3276,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3276,1
    - Dst: gtk_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3279,1
    - Dst: GTK_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3279,1
    - Dst: GTK_SIGNAL_FUNC
      Src: /src/postgis/loader/shp2pgsql-gui.c:3279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3282
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3282
    functionName: pgui_create_connection_window
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - gtk_table_new
    - G_CALLBACK
    - gtk_window_new
    - g_signal_connect
    - gtk_table_set_col_spacings
    - gtk_table_attach_defaults
    - gtk_vbox_new
    - GTK_ENTRY
    - G_OBJECT
    - GTK_CONTAINER
    - _
    - GTK_WINDOW
    - GTK_TABLE
    - GTK_OBJECT
    - gtk_entry_new
    - gtk_table_set_row_spacings
    - gtk_frame_new
    - gtk_button_new_with_label
    - gtk_window_set_title
    - gtk_entry_set_width_chars
    - gtk_window_set_position
    - gtk_label_new
    - gtk_container_add
    - gtk_signal_connect
    - gtk_window_set_modal
    - GTK_SIGNAL_FUNC
    - gtk_container_set_border_width
    - gtk_entry_set_visibility
    linkageType: ''
    returnType: void
    signature: void pgui_create_connection_window()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3305,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3306,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3306,1
    - Dst: gtk_window_set_title
      Src: /src/postgis/loader/shp2pgsql-gui.c:3307,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3307,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3307,1
    - Dst: gtk_window_set_position
      Src: /src/postgis/loader/shp2pgsql-gui.c:3308,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3308,1
    - Dst: gtk_window_set_resizable
      Src: /src/postgis/loader/shp2pgsql-gui.c:3309,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3309,1
    - Dst: gtk_window_set_default_size
      Src: /src/postgis/loader/shp2pgsql-gui.c:3312,1
    - Dst: GTK_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3312,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3318,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3318,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3318,1
    - Dst: gtk_frame_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3321,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3321,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3324,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3324,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3325,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3325,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3325,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3326,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3326,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3327,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3327,1
    - Dst: gtk_notebook_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3332,1
    - Dst: gtk_frame_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3337,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3337,1
    - Dst: pgui_create_import_file_table
      Src: /src/postgis/loader/shp2pgsql-gui.c:3338,1
    - Dst: gtk_hbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3343,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3344,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3344,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3347,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3347,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3348,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3348,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3349,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3349,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3350,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3350,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3353,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3353,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3353,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3354,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3354,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3354,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3355,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3355,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3355,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3356,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3356,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3356,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3359,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3359,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3360,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3360,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3361,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3361,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3362,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3362,1
    - Dst: gtk_frame_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3367,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3367,1
    - Dst: pgui_create_export_table_table
      Src: /src/postgis/loader/shp2pgsql-gui.c:3368,1
    - Dst: gtk_hbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3373,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3374,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3374,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3377,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3377,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3378,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3378,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3379,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3379,1
    - Dst: gtk_button_new_with_label
      Src: /src/postgis/loader/shp2pgsql-gui.c:3380,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3380,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3383,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3383,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3383,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3384,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3384,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3384,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3385,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3385,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3385,1
    - Dst: g_signal_connect
      Src: /src/postgis/loader/shp2pgsql-gui.c:3386,1
    - Dst: G_OBJECT
      Src: /src/postgis/loader/shp2pgsql-gui.c:3386,1
    - Dst: G_CALLBACK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3386,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3389,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3389,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3390,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3390,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3391,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3391,1
    - Dst: gtk_box_pack_end
      Src: /src/postgis/loader/shp2pgsql-gui.c:3392,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3392,1
    - Dst: gtk_frame_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3397,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3397,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3398,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3398,1
    - Dst: gtk_widget_set_size_request
      Src: /src/postgis/loader/shp2pgsql-gui.c:3399,1
    - Dst: gtk_text_view_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3400,1
    - Dst: gtk_text_buffer_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3401,1
    - Dst: gtk_scrolled_window_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3402,1
    - Dst: gtk_scrolled_window_set_policy
      Src: /src/postgis/loader/shp2pgsql-gui.c:3403,1
    - Dst: GTK_SCROLLED_WINDOW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3403,1
    - Dst: gtk_text_view_set_buffer
      Src: /src/postgis/loader/shp2pgsql-gui.c:3404,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3404,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3405,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3405,1
    - Dst: gtk_text_view_set_editable
      Src: /src/postgis/loader/shp2pgsql-gui.c:3406,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3406,1
    - Dst: gtk_text_view_set_cursor_visible
      Src: /src/postgis/loader/shp2pgsql-gui.c:3407,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3407,1
    - Dst: gtk_text_view_set_wrap_mode
      Src: /src/postgis/loader/shp2pgsql-gui.c:3408,1
    - Dst: GTK_TEXT_VIEW
      Src: /src/postgis/loader/shp2pgsql-gui.c:3408,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3409,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3409,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3410,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3410,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3415,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3416,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3416,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3419,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3420,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3420,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3422,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3422,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3423,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3423,1
    - Dst: gtk_notebook_append_page
      Src: /src/postgis/loader/shp2pgsql-gui.c:3424,1
    - Dst: GTK_NOTEBOOK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3424,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3424,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3424,1
    - Dst: gtk_vbox_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3427,1
    - Dst: gtk_container_set_border_width
      Src: /src/postgis/loader/shp2pgsql-gui.c:3428,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3428,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3430,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3430,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3431,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3431,1
    - Dst: gtk_notebook_append_page
      Src: /src/postgis/loader/shp2pgsql-gui.c:3432,1
    - Dst: GTK_NOTEBOOK
      Src: /src/postgis/loader/shp2pgsql-gui.c:3432,1
    - Dst: gtk_label_new
      Src: /src/postgis/loader/shp2pgsql-gui.c:3432,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-gui.c:3432,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3435,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3435,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3436,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3436,1
    - Dst: gtk_box_pack_start
      Src: /src/postgis/loader/shp2pgsql-gui.c:3437,1
    - Dst: GTK_BOX
      Src: /src/postgis/loader/shp2pgsql-gui.c:3437,1
    - Dst: gtk_container_add
      Src: /src/postgis/loader/shp2pgsql-gui.c:3440,1
    - Dst: GTK_CONTAINER
      Src: /src/postgis/loader/shp2pgsql-gui.c:3440,1
    - Dst: gtk_widget_show_all
      Src: /src/postgis/loader/shp2pgsql-gui.c:3443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 78
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SHPCONNECTIONCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3284
    functionDepth: 1
    functionLinenumber: 3284
    functionLinenumberEnd: 3446
    functionName: pgui_create_main_window
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - GTK_BOX
    - gtk_window_set_default_size
    - G_CALLBACK
    - gtk_window_set_resizable
    - pgui_create_export_table_table
    - gtk_window_new
    - g_signal_connect
    - pgui_create_import_file_table
    - gtk_vbox_new
    - GTK_NOTEBOOK
    - gtk_box_pack_start
    - G_OBJECT
    - gtk_text_buffer_new
    - GTK_CONTAINER
    - _
    - gtk_notebook_append_page
    - gtk_hbox_new
    - GTK_WINDOW
    - GTK_SCROLLED_WINDOW
    - gtk_frame_new
    - gtk_button_new_with_label
    - gtk_window_set_title
    - gtk_text_view_set_editable
    - gtk_window_set_position
    - gtk_text_view_set_cursor_visible
    - GTK_TEXT_VIEW
    - gtk_widget_set_size_request
    - gtk_scrolled_window_set_policy
    - gtk_label_new
    - gtk_container_add
    - gtk_text_view_set_buffer
    - gtk_text_view_set_wrap_mode
    - gtk_notebook_new
    - gtk_scrolled_window_new
    - gtk_widget_show_all
    - gtk_container_set_border_width
    - gtk_text_view_new
    - gtk_box_pack_end
    linkageType: ''
    returnType: void
    signature: void pgui_create_main_window(const SHPCONNECTIONCONFIG *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3451,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3452,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3453,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3454,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3455,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3456,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3457,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3458,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-gui.c:3459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3460
    functionName: usage
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/postgis/loader/shp2pgsql-gui.c:3468,1
    - Dst: bindtextdomain
      Src: /src/postgis/loader/shp2pgsql-gui.c:3469,1
    - Dst: textdomain
      Src: /src/postgis/loader/shp2pgsql-gui.c:3470,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:3474,1
    - Dst: set_loader_config_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3475,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:3476,1
    - Dst: set_dumper_config_defaults
      Src: /src/postgis/loader/shp2pgsql-gui.c:3477,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3481,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-gui.c:3484,1
    - Dst: memset
      Src: /src/postgis/loader/shp2pgsql-gui.c:3485,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3488,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3489,1
    - Dst: pgis_getopt
      Src: /src/postgis/loader/shp2pgsql-gui.c:3491,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3496,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3499,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3502,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3505,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-gui.c:3508,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-gui.c:3511,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:3512,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:3513,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-gui.c:3514,1
    - Dst: gtk_init
      Src: /src/postgis/loader/shp2pgsql-gui.c:3519,1
    - Dst: pgui_create_main_window
      Src: /src/postgis/loader/shp2pgsql-gui.c:3522,1
    - Dst: pgui_create_connection_window
      Src: /src/postgis/loader/shp2pgsql-gui.c:3523,1
    - Dst: pgui_create_loader_options_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3524,1
    - Dst: pgui_create_dumper_options_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3525,1
    - Dst: pgui_create_about_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3526,1
    - Dst: pgui_create_filechooser_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3527,1
    - Dst: pgui_create_progress_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3528,1
    - Dst: pgui_create_tablechooser_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3529,1
    - Dst: pgui_create_folderchooser_dialog
      Src: /src/postgis/loader/shp2pgsql-gui.c:3530,1
    - Dst: gtk_main
      Src: /src/postgis/loader/shp2pgsql-gui.c:3533,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:3536,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-gui.c:3537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3462
    functionDepth: 2
    functionLinenumber: 3462
    functionLinenumberEnd: 3540
    functionName: main
    functionSourceFile: /src/postgis/loader/shp2pgsql-gui.c
    functionUses: 1
    functionsReached:
    - set_loader_config_defaults
    - gtk_main
    - pgui_create_filechooser_dialog
    - memset
    - gtk_init
    - strdup
    - setlocale
    - bindtextdomain
    - pgui_create_about_dialog
    - pgui_create_connection_window
    - pgis_getopt
    - malloc
    - pgui_create_folderchooser_dialog
    - usage
    - free
    - pgui_create_progress_dialog
    - textdomain
    - pgui_create_loader_options_dialog
    - pgui_create_tablechooser_dialog
    - pgui_create_main_window
    - set_dumper_config_defaults
    - exit
    - pgui_create_dumper_options_dialog
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: xstr
    functionSourceFile: /src/postgis/loader/shp2pgsql-cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: str
    functionSourceFile: /src/postgis/loader/shp2pgsql-cli.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:26,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:26,1
    - Dst: xstr
      Src: /src/postgis/loader/shp2pgsql-cli.c:27,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:28,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:28,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:30,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:30,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:33,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:33,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:41,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:41,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:43,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:43,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:44,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:44,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:46,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:46,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:47,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:47,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:48,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:48,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:49,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:49,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:50,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:50,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:56,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:56,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:57,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:57,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:59,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:59,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:61,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:61,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:63,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:63,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:64,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:64,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:65,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:65,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:68,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:68,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:71,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:71,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:72,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:72,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:73,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:74,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:74,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:75,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-cli.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 76
    functionName: usage
    functionSourceFile: /src/postgis/loader/shp2pgsql-cli.c
    functionUses: 1
    functionsReached:
    - _
    - printf
    - xstr
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/postgis/loader/shp2pgsql-cli.c:90,1
    - Dst: bindtextdomain
      Src: /src/postgis/loader/shp2pgsql-cli.c:91,1
    - Dst: textdomain
      Src: /src/postgis/loader/shp2pgsql-cli.c:92,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-cli.c:99,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:100,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-cli.c:104,1
    - Dst: set_loader_config_defaults
      Src: /src/postgis/loader/shp2pgsql-cli.c:105,1
    - Dst: pgis_getopt
      Src: /src/postgis/loader/shp2pgsql-cli.c:108,1
    - Dst: strchr
      Src: /src/postgis/loader/shp2pgsql-cli.c:142,1
    - Dst: sscanf
      Src: /src/postgis/loader/shp2pgsql-cli.c:146,1
    - Dst: sscanf
      Src: /src/postgis/loader/shp2pgsql-cli.c:147,1
    - Dst: sscanf
      Src: /src/postgis/loader/shp2pgsql-cli.c:152,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:158,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:159,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:190,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:191,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:207,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:208,1
    - Dst: strcasecmp
      Src: /src/postgis/loader/shp2pgsql-cli.c:213,1
    - Dst: strcasecmp
      Src: /src/postgis/loader/shp2pgsql-cli.c:217,1
    - Dst: strcasecmp
      Src: /src/postgis/loader/shp2pgsql-cli.c:221,1
    - Dst: strcasecmp
      Src: /src/postgis/loader/shp2pgsql-cli.c:225,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:231,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:232,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-cli.c:249,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:250,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-cli.c:253,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:254,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:261,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:262,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-cli.c:273,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:274,1
    - Dst: strchr
      Src: /src/postgis/loader/shp2pgsql-cli.c:281,1
    - Dst: usage
      Src: /src/postgis/loader/shp2pgsql-cli.c:289,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:290,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:295,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:296,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:300,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:308,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-cli.c:312,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-cli.c:322,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-cli.c:330,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:331,1
    - Dst: strtolower
      Src: /src/postgis/loader/shp2pgsql-cli.c:339,1
    - Dst: strtolower
      Src: /src/postgis/loader/shp2pgsql-cli.c:341,1
    - Dst: ShpLoaderCreate
      Src: /src/postgis/loader/shp2pgsql-cli.c:345,1
    - Dst: ShpLoaderOpenShape
      Src: /src/postgis/loader/shp2pgsql-cli.c:348,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:351,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:354,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:360,1
    - Dst: SHPTypeName
      Src: /src/postgis/loader/shp2pgsql-cli.c:360,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:361,1
    - Dst: ShpLoaderGetSQLHeader
      Src: /src/postgis/loader/shp2pgsql-cli.c:365,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:368,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:371,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:374,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:375,1
    - Dst: ShpLoaderGetSQLCopyStatement
      Src: /src/postgis/loader/shp2pgsql-cli.c:384,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:387,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:390,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:393,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:394,1
    - Dst: ShpLoaderGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-cli.c:398,1
    - Dst: ShpLoaderGenerateSQLRowStatement
      Src: /src/postgis/loader/shp2pgsql-cli.c:400,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:406,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:407,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:412,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:413,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:418,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:419,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:420,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:435,1
    - Dst: ShpLoaderGetSQLFooter
      Src: /src/postgis/loader/shp2pgsql-cli.c:440,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-cli.c:443,1
    - Dst: exit
      Src: /src/postgis/loader/shp2pgsql-cli.c:446,1
    - Dst: printf
      Src: /src/postgis/loader/shp2pgsql-cli.c:449,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:450,1
    - Dst: ShpLoaderDestroy
      Src: /src/postgis/loader/shp2pgsql-cli.c:454,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:457,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:458,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:459,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-cli.c:460,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 236
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 463
    functionName: main
    functionSourceFile: /src/postgis/loader/shp2pgsql-cli.c
    functionUses: 2
    functionsReached:
    - printf
    - set_loader_config_defaults
    - ShpLoaderCreate
    - ShpLoaderGenerateSQLRowStatement
    - sscanf
    - strtolower
    - strdup
    - setlocale
    - ShpLoaderGetSQLHeader
    - bindtextdomain
    - strcasecmp
    - strlen
    - pgis_getopt
    - malloc
    - ShpLoaderGetRecordCount
    - usage
    - fprintf
    - free
    - ShpLoaderOpenShape
    - textdomain
    - ShpLoaderGetSQLFooter
    - ShpLoaderGetSQLCopyStatement
    - SHPTypeName
    - ShpLoaderDestroy
    - exit
    - strchr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ERR
    functionSourceFile: /src/postgis/loader/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(s, c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/loader/getopt.c:58,1
    - Dst: strchr
      Src: /src/postgis/loader/getopt.c:65,1
    - Dst: ERR
      Src: /src/postgis/loader/getopt.c:67,1
    - Dst: ERR
      Src: /src/postgis/loader/getopt.c:81,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - argc
    - argv
    - opts
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 99
    functionName: pgis_getopt
    functionSourceFile: /src/postgis/loader/getopt.c
    functionUses: 2
    functionsReached:
    - strcmp
    - strchr
    - ERR
    linkageType: ''
    returnType: int
    signature: int pgis_getopt(int argc, char **argv, char *opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: xstr
    functionSourceFile: /src/postgis/loader/pgsql2shp-cli.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: str
    functionSourceFile: /src/postgis/loader/pgsql2shp-cli.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:30,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:30,1
    - Dst: xstr
      Src: /src/postgis/loader/pgsql2shp-cli.c:31,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:32,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:32,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:36,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:36,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:37,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:37,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:39,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:39,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:40,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:40,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:41,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:41,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:42,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:42,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:43,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:43,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:44,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:44,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:46,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:46,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:47,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:47,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:53,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:53,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-cli.c:54,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:54,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-cli.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 56
    functionName: usage
    functionSourceFile: /src/postgis/loader/pgsql2shp-cli.c
    functionUses: 2
    functionsReached:
    - _
    - printf
    - xstr
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int status)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/postgis/loader/pgsql2shp-cli.c:69,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-cli.c:73,1
    - Dst: set_dumper_config_defaults
      Src: /src/postgis/loader/pgsql2shp-cli.c:74,1
    - Dst: pgis_getopt
      Src: /src/postgis/loader/pgsql2shp-cli.c:76,1
    - Dst: usage
      Src: /src/postgis/loader/pgsql2shp-cli.c:118,1
    - Dst: usage
      Src: /src/postgis/loader/pgsql2shp-cli.c:131,1
    - Dst: strncmp
      Src: /src/postgis/loader/pgsql2shp-cli.c:140,1
    - Dst: strncmp
      Src: /src/postgis/loader/pgsql2shp-cli.c:141,1
    - Dst: strncmp
      Src: /src/postgis/loader/pgsql2shp-cli.c:142,1
    - Dst: strncmp
      Src: /src/postgis/loader/pgsql2shp-cli.c:143,1
    - Dst: strchr
      Src: /src/postgis/loader/pgsql2shp-cli.c:152,1
    - Dst: usage
      Src: /src/postgis/loader/pgsql2shp-cli.c:160,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-cli.c:161,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-cli.c:166,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-cli.c:167,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-cli.c:171,1
    - Dst: usage
      Src: /src/postgis/loader/pgsql2shp-cli.c:177,1
    - Dst: ShpDumperCreate
      Src: /src/postgis/loader/pgsql2shp-cli.c:180,1
    - Dst: ShpDumperConnectDatabase
      Src: /src/postgis/loader/pgsql2shp-cli.c:182,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:185,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:186,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-cli.c:187,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:193,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:193,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:194,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:200,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:200,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:201,1
    - Dst: ShpDumperOpenTable
      Src: /src/postgis/loader/pgsql2shp-cli.c:204,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:207,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:208,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-cli.c:211,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:216,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:216,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:217,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:217,1
    - Dst: shapetypename
      Src: /src/postgis/loader/pgsql2shp-cli.c:217,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:218,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:218,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:219,1
    - Dst: ShpDumperGetRecordCount
      Src: /src/postgis/loader/pgsql2shp-cli.c:222,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:227,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:228,1
    - Dst: ShpLoaderGenerateShapeRow
      Src: /src/postgis/loader/pgsql2shp-cli.c:231,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:234,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:235,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-cli.c:238,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:244,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-cli.c:244,1
    - Dst: ShpDumperGetRecordCount
      Src: /src/postgis/loader/pgsql2shp-cli.c:244,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:245,1
    - Dst: ShpDumperCloseTable
      Src: /src/postgis/loader/pgsql2shp-cli.c:248,1
    - Dst: fprintf
      Src: /src/postgis/loader/pgsql2shp-cli.c:251,1
    - Dst: fflush
      Src: /src/postgis/loader/pgsql2shp-cli.c:252,1
    - Dst: ShpDumperDestroy
      Src: /src/postgis/loader/pgsql2shp-cli.c:262,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-cli.c:264,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-cli.c:265,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-cli.c:266,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-cli.c:267,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 134
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 270
    functionName: main
    functionSourceFile: /src/postgis/loader/pgsql2shp-cli.c
    functionUses: 2
    functionsReached:
    - shapetypename
    - ShpDumperCreate
    - ShpDumperDestroy
    - strdup
    - ShpDumperCloseTable
    - _
    - ShpLoaderGenerateShapeRow
    - fflush
    - pgis_getopt
    - malloc
    - usage
    - fprintf
    - free
    - ShpDumperOpenTable
    - set_dumper_config_defaults
    - ShpDumperGetRecordCount
    - ShpDumperConnectDatabase
    - strncmp
    - exit
    - strchr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: STRCASECMP
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCASECMP(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: STRCASECMP
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCASECMP(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unused
    argTypes:
    - CPL_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: CPL_IGNORE_RET_VAL_INT
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CPL_INLINE
    signature: CPL_INLINE CPL_IGNORE_RET_VAL_INT(CPL_UNUSED int unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: CPL_IGNORE_RET_VAL_INT
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPL_IGNORE_RET_VAL_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: STATIC_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: REINTERPRET_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REINTERPRET_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: CONST_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: STATIC_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: REINTERPRET_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REINTERPRET_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: CONST_CAST
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_CAST(type,x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:113,1
    - Dst: realloc
      Src: /src/postgis/loader/dbfopen.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pMem
    - nNewSize
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: SfRealloc
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: void
    signature: void * SfRealloc( void * pMem, int nNewSize )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:143,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:144,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:145,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:149,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:150,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:152,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:153,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:155,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:161,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:162,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:163,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:175,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 187
    functionName: DBFWriteHeader
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFHandle::sHooks::FSeek
    - STATIC_CAST
    - DBFHandle::sHooks::FWrite
    linkageType: ''
    returnType: void
    signature: void DBFWriteHeader(DBFHandle psDBF)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:205,1
    - Dst: DBFHandle::sHooks::FTell
      Src: /src/postgis/loader/dbfopen.c:213,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:214,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:216,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:219,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:224,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:229,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:231,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 251
    functionName: DBFFlushRecord
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFHandle::sHooks::FSeek
    - snprintf
    - DBFHandle::sHooks::FWrite
    - DBFHandle::sHooks::FTell
    - DBFHandle::sHooks::Error
    - STATIC_CAST
    linkageType: ''
    returnType: int
    signature: int DBFFlushRecord( DBFHandle psDBF )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:264,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:268,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:270,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:273,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:274,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:275,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:279,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:283,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - psDBF
    - iRecord
    argTypes:
    - DBFHandle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 297
    functionName: DBFLoadRecord
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFHandle::sHooks::FSeek
    - snprintf
    - DBFHandle::sHooks::Error
    - STATIC_CAST
    - DBFFlushRecord
    - DBFHandle::sHooks::FRead
    linkageType: ''
    returnType: int
    signature: int DBFLoadRecord( DBFHandle psDBF, int iRecord )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:310,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:312,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:315,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:316,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:318,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:319,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:320,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:321,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:322,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:323,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:324,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:326,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:327,1
    - Dst: DBFHandle::sHooks::FFlush
      Src: /src/postgis/loader/dbfopen.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 330
    functionName: SHPAPI_CALL::DBFUpdateHeader
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFHandle::sHooks::FSeek
    - DBFHandle::sHooks::FFlush
    - DBFHandle::sHooks::FWrite
    - DBFWriteHeader
    - STATIC_CAST
    - DBFFlushRecord
    - DBFHandle::sHooks::FRead
    linkageType: ''
    returnType: void
    signature: 'void SHPAPI_CALL

      DBFUpdateHeader( DBFHandle psDBF )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - psDBF
    - nYYSince1900
    - nMM
    - nDD
    argTypes:
    - DBFHandle
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: SHPAPI_CALL::DBFSetLastModifiedDate
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SHPAPI_CALL

      DBFSetLastModifiedDate( DBFHandle psDBF, int nYYSince1900, int nMM, int nDD
      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SASetupDefaultHooks
      Src: /src/postgis/loader/dbfopen.c:356,1
    - Dst: SHPAPI_CALL::DBFOpenLL
      Src: /src/postgis/loader/dbfopen.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pszFilename
    - pszAccess
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: SHPAPI_CALL::DBFOpen
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - SASetupDefaultHooks
    - SHPAPI_CALL::DBFOpenLL
    linkageType: ''
    returnType: DBFHandle
    signature: 'DBFHandle SHPAPI_CALL

      DBFOpen( const char * pszFilename, const char * pszAccess )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:368,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pszBasename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: DBFGetLenWithoutExtension
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - strlen
    - STATIC_CAST
    linkageType: ''
    returnType: int
    signature: int DBFGetLenWithoutExtension(const char* pszBasename)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:402,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:402,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:403,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:403,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:404,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:407,1
    - Dst: strcmp
      Src: /src/postgis/loader/dbfopen.c:410,1
    - Dst: DBFGetLenWithoutExtension
      Src: /src/postgis/loader/dbfopen.c:417,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:418,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:418,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:419,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:420,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:422,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:422,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:423,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:424,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:428,1
    - Dst: DBFHandle::sHooks::FOpen
      Src: /src/postgis/loader/dbfopen.c:429,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:432,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:433,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:436,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:437,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:440,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:444,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/dbfopen.c:445,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:456,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:456,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:457,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:459,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:460,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:461,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:462,1
    - Dst: SHPAPI_CALL::DBFSetLastModifiedDate
      Src: /src/postgis/loader/dbfopen.c:466,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:477,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:478,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:479,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:480,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:487,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:487,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:497,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:498,1
    - Dst: strcspn
      Src: /src/postgis/loader/dbfopen.c:499,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:499,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:503,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:503,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:504,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:506,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:511,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:511,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:511,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:511,1
    - Dst: strcpy
      Src: /src/postgis/loader/dbfopen.c:512,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:512,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:519,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:519,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:520,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:522,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:523,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:526,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:527,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:528,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:529,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:530,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:534,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:534,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:535,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:535,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:536,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:536,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:537,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:537,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:570,1
    - Dst: SHPAPI_CALL::DBFClose
      Src: /src/postgis/loader/dbfopen.c:583,1
    - Dst: SHPAPI_CALL::DBFSetWriteEndOfFileChar
      Src: /src/postgis/loader/dbfopen.c:587,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 115
    argCount: 3
    argNames:
    - pszFilename
    - pszAccess
    - psHooks
    argTypes:
    - char*
    - char*
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 592
    functionName: SHPAPI_CALL::DBFOpenLL
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strcspn
    - strcpy
    - STATIC_CAST
    - DBFGetLenWithoutExtension
    - calloc
    - SHPAPI_CALL::DBFSetWriteEndOfFileChar
    - DBFHandle::sHooks::FSeek
    - memset
    - SfRealloc
    - SHPAPI_CALL::DBFSetLastModifiedDate
    - strlen
    - DBFHandle::sHooks::FOpen
    - SAHooks*::FClose
    - DBFHandle::sHooks::FRead
    - malloc
    - free
    - SAHooks*::FOpen
    - DBFHandle::sHooks::FClose
    - SHPAPI_CALL::DBFClose
    - REINTERPRET_CAST
    - memcpy
    linkageType: ''
    returnType: DBFHandle
    signature: 'DBFHandle SHPAPI_CALL

      DBFOpenLL( const char * pszFilename, const char * pszAccess, SAHooks *psHooks
      )'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:608,1
    - Dst: CPL_IGNORE_RET_VAL_INT
      Src: /src/postgis/loader/dbfopen.c:610,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:610,1
    - Dst: SHPAPI_CALL::DBFUpdateHeader
      Src: /src/postgis/loader/dbfopen.c:617,1
    - Dst: DBFHandle::sHooks::FClose
      Src: /src/postgis/loader/dbfopen.c:622,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:626,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:627,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:628,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:629,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:633,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:635,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:636,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:637,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 640
    functionName: SHPAPI_CALL::DBFClose
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 1
    functionsReached:
    - SHPAPI_CALL::DBFUpdateHeader
    - DBFWriteHeader
    - CPL_IGNORE_RET_VAL_INT
    - free
    - DBFHandle::sHooks::FClose
    - DBFFlushRecord
    linkageType: ''
    returnType: void
    signature: 'void SHPAPI_CALL

      DBFClose(DBFHandle psDBF)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHPAPI_CALL::DBFCreateEx
      Src: /src/postgis/loader/dbfopen.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pszFilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: SHPAPI_CALL::DBFCreate
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - SHPAPI_CALL::DBFCreateEx
    linkageType: ''
    returnType: DBFHandle
    signature: 'DBFHandle SHPAPI_CALL

      DBFCreate( const char * pszFilename )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SASetupDefaultHooks
      Src: /src/postgis/loader/dbfopen.c:667,1
    - Dst: SHPAPI_CALL::DBFCreateLL
      Src: /src/postgis/loader/dbfopen.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pszFilename
    - pszCodePage
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: SHPAPI_CALL::DBFCreateEx
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 1
    functionsReached:
    - SHPAPI_CALL::DBFCreateLL
    - SASetupDefaultHooks
    linkageType: ''
    returnType: DBFHandle
    signature: 'DBFHandle SHPAPI_CALL

      DBFCreateEx( const char * pszFilename, const char* pszCodePage )'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DBFGetLenWithoutExtension
      Src: /src/postgis/loader/dbfopen.c:693,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:694,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:694,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:695,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:696,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:701,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:704,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/dbfopen.c:708,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/dbfopen.c:709,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:711,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:714,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:718,1
    - Dst: strncmp
      Src: /src/postgis/loader/dbfopen.c:721,1
    - Dst: atoi
      Src: /src/postgis/loader/dbfopen.c:723,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/dbfopen.c:729,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/dbfopen.c:730,1
    - Dst: CONST_CAST
      Src: /src/postgis/loader/dbfopen.c:730,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:730,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:730,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/dbfopen.c:731,1
    - Dst: SAHooks*::Remove
      Src: /src/postgis/loader/dbfopen.c:736,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:739,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:744,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:744,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:746,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:769,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:769,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:769,1
    - Dst: strcpy
      Src: /src/postgis/loader/dbfopen.c:770,1
    - Dst: SHPAPI_CALL::DBFSetLastModifiedDate
      Src: /src/postgis/loader/dbfopen.c:772,1
    - Dst: SHPAPI_CALL::DBFSetWriteEndOfFileChar
      Src: /src/postgis/loader/dbfopen.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 3
    argNames:
    - pszFilename
    - pszCodePage
    - psHooks
    argTypes:
    - char*
    - char*
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 779
    functionName: SHPAPI_CALL::DBFCreateLL
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 1
    functionsReached:
    - malloc
    - strcpy
    - SAHooks*::FWrite
    - SHPAPI_CALL::DBFSetWriteEndOfFileChar
    - calloc
    - SHPAPI_CALL::DBFSetLastModifiedDate
    - free
    - STATIC_CAST
    - SAHooks*::FOpen
    - DBFGetLenWithoutExtension
    - strncmp
    - atoi
    - CONST_CAST
    - strlen
    - SAHooks*::Remove
    - SAHooks*::FClose
    - memcpy
    linkageType: ''
    returnType: DBFHandle
    signature: 'DBFHandle SHPAPI_CALL

      DBFCreateLL( const char * pszFilename, const char * pszCodePage, SAHooks *psHooks
      )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHPAPI_CALL::DBFAddNativeFieldType
      Src: /src/postgis/loader/dbfopen.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - psDBF
    - pszFieldName
    - eType
    - nWidth
    - nDecimals
    argTypes:
    - DBFHandle
    - char*
    - DBFFieldType
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 805
    functionName: SHPAPI_CALL::DBFAddField
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - SHPAPI_CALL::DBFAddNativeFieldType
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFAddField(DBFHandle psDBF, const char * pszFieldName,\n
      \           DBFFieldType eType, int nWidth, int nDecimals )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - chType
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: DBFGetNullCharacter
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char DBFGetNullCharacter(char chType)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:847,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:853,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:857,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:873,1
    - Dst: DBFHandle::sHooks::Error
      Src: /src/postgis/loader/dbfopen.c:877,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:890,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:891,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:893,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:894,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:896,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:897,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:899,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:900,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:917,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:917,1
    - Dst: strncpy
      Src: /src/postgis/loader/dbfopen.c:925,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:931,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:932,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:936,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:937,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:943,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:943,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:955,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:955,1
    - Dst: DBFGetNullCharacter
      Src: /src/postgis/loader/dbfopen.c:957,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:961,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:964,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:965,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:968,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:970,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:973,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:974,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:982,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:984,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:985,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:989,1
    - Dst: SHPAPI_CALL::DBFUpdateHeader
      Src: /src/postgis/loader/dbfopen.c:993,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 5
    argNames:
    - psDBF
    - pszFieldName
    - chType
    - nWidth
    - nDecimals
    argTypes:
    - DBFHandle
    - char*
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 1000
    functionName: SHPAPI_CALL::DBFAddNativeFieldType
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 1
    functionsReached:
    - malloc
    - DBFHandle::sHooks::FSeek
    - memset
    - SHPAPI_CALL::DBFUpdateHeader
    - strncpy
    - snprintf
    - SfRealloc
    - DBFHandle::sHooks::Error
    - DBFHandle::sHooks::FWrite
    - free
    - STATIC_CAST
    - DBFGetNullCharacter
    - DBFFlushRecord
    - DBFHandle::sHooks::FRead
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFAddNativeFieldType(DBFHandle psDBF, const char
      * pszFieldName,\n                      char chType, int nWidth, int nDecimals
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1027,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:1030,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1039,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1039,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1041,1
    - Dst: realloc
      Src: /src/postgis/loader/dbfopen.c:1041,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1048,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:1049,1
    - Dst: atoi
      Src: /src/postgis/loader/dbfopen.c:1060,1
    - Dst: DBFHandle::sHooks::Atof
      Src: /src/postgis/loader/dbfopen.c:1066,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - psDBF
    - hEntity
    - iField
    - chReqType
    argTypes:
    - DBFHandle
    - int
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1093
    functionName: DBFReadAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - DBFLoadRecord
    - realloc
    - STATIC_CAST
    - REINTERPRET_CAST
    - atoi
    - DBFHandle::sHooks::Atof
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void *DBFReadAttribute(DBFHandle psDBF, int hEntity, int iField,\n
      \                             char chReqType )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1107,1
    - Dst: DBFReadAttribute
      Src: /src/postgis/loader/dbfopen.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - psDBF
    - iRecord
    - iField
    argTypes:
    - DBFHandle
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1113
    functionName: SHPAPI_CALL::DBFReadIntegerAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - STATIC_CAST
    - DBFReadAttribute
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFReadIntegerAttribute( DBFHandle psDBF, int iRecord, int iField )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1127,1
    - Dst: DBFReadAttribute
      Src: /src/postgis/loader/dbfopen.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - psDBF
    - iRecord
    - iField
    argTypes:
    - DBFHandle
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: SHPAPI_CALL::DBFReadDoubleAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - STATIC_CAST
    - DBFReadAttribute
    linkageType: ''
    returnType: double
    signature: 'double SHPAPI_CALL

      DBFReadDoubleAttribute( DBFHandle psDBF, int iRecord, int iField )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBFReadStringAttribute
      Src: /src/postgis/loader/dbfopen.c:1142,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1145,1
    - Dst: DBFReadAttribute
      Src: /src/postgis/loader/dbfopen.c:1145,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1158,1
    - Dst: DBFReadAttribute
      Src: /src/postgis/loader/dbfopen.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - DBFReadLogicalAttribute
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1141
    functionDepth: 3
    functionLinenumber: 1141
    functionLinenumberEnd: 1159
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFReadStringAttribute
    - STATIC_CAST
    - DBFReadAttribute
    linkageType: ''
    returnType: char
    signature: "char SHPAPI_CALL1(*)\nDBFReadStringAttribute( DBFHandle psDBF, int
      iRecord, int iField )\n\n{\n    return STATIC_CAST(const char *, DBFReadAttribute(
      psDBF, iRecord, iField, 'C' ) );\n}\n\n/************************************************************************/\n/*
      \                       DBFReadLogicalAttribute()                     */\n/*
      \                                                                     */\n/*
      \     Read a logical attribute.                                       */\n/************************************************************************/\n\nconst
      char SHPAPI_CALL1(*)\nDBFReadLogicalAttribute( DBFHandle psDBF, int iRecord,
      int iField )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postgis/loader/dbfopen.c:1196,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - chType
    - pszValue
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1206
    functionName: DBFIsValueNULL
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int DBFIsValueNULL( char chType, const char* pszValue )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBFReadStringAttribute
      Src: /src/postgis/loader/dbfopen.c:1222,1
    - Dst: DBFIsValueNULL
      Src: /src/postgis/loader/dbfopen.c:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - psDBF
    - iRecord
    - iField
    argTypes:
    - DBFHandle
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1228
    functionName: SHPAPI_CALL::DBFIsAttributeNULL
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFReadStringAttribute
    - DBFIsValueNULL
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFIsAttributeNULL( DBFHandle psDBF, int iRecord, int iField )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1241
    functionName: SHPAPI_CALL::DBFGetFieldCount
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFGetFieldCount( DBFHandle psDBF )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - psDBF
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: SHPAPI_CALL::DBFGetRecordCount
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFGetRecordCount( DBFHandle psDBF )'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - psDBF
    - iField
    - pszFieldName
    - pnWidth
    - pnDecimals
    argTypes:
    - DBFHandle
    - int
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1308
    functionName: SHPAPI_CALL::DBFGetFieldInfo
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DBFFieldType
    signature: "DBFFieldType SHPAPI_CALL\nDBFGetFieldInfo( DBFHandle psDBF, int iField,
      char * pszFieldName,\n                 int * pnWidth, int * pnDecimals )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:1331,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:1338,1
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1352,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:1355,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:1367,1
    - Dst: DBFGetNullCharacter
      Src: /src/postgis/loader/dbfopen.c:1368,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1384,1
    - Dst: snprintf
      Src: /src/postgis/loader/dbfopen.c:1387,1
    - Dst: CPLsnprintf
      Src: /src/postgis/loader/dbfopen.c:1389,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1389,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1391,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1391,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1403,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1404,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1408,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1408,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1408,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:1415,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1417,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1417,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1417,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - psDBF
    - hEntity
    - iField
    - pValue
    argTypes:
    - DBFHandle
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1316
    functionDepth: 2
    functionLinenumber: 1316
    functionLinenumberEnd: 1426
    functionName: DBFWriteAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - memset
    - snprintf
    - DBFLoadRecord
    - DBFWriteHeader
    - CPLsnprintf
    - STATIC_CAST
    - REINTERPRET_CAST
    - DBFGetNullCharacter
    - strlen
    - DBFFlushRecord
    linkageType: ''
    returnType: int
    signature: "int DBFWriteAttribute(DBFHandle psDBF, int hEntity, int iField,\n\t\t\t
      \    void * pValue )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:1451,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:1458,1
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1472,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:1475,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1480,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1480,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1480,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:1484,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1486,1
    - Dst: strlen
      Src: /src/postgis/loader/dbfopen.c:1486,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - psDBF
    - hEntity
    - iField
    - pValue
    argTypes:
    - DBFHandle
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1496
    functionName: SHPAPI_CALL::DBFWriteAttributeDirectly
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - memset
    - DBFLoadRecord
    - DBFWriteHeader
    - STATIC_CAST
    - REINTERPRET_CAST
    - strlen
    - DBFFlushRecord
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFWriteAttributeDirectly(DBFHandle psDBF, int hEntity,
      int iField,\n                              void * pValue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psDBF
    - iRecord
    - iField
    - dValue
    argTypes:
    - DBFHandle
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1510
    functionName: SHPAPI_CALL::DBFWriteDoubleAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFWriteDoubleAttribute( DBFHandle psDBF, int iRecord,
      int iField,\n                         double dValue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psDBF
    - iRecord
    - iField
    - nValue
    argTypes:
    - DBFHandle
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1526
    functionName: SHPAPI_CALL::DBFWriteIntegerAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFWriteIntegerAttribute( DBFHandle psDBF, int iRecord,
      int iField,\n                          int nValue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psDBF
    - iRecord
    - iField
    - pszValue
    argTypes:
    - DBFHandle
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1540
    functionName: SHPAPI_CALL::DBFWriteStringAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFWriteStringAttribute( DBFHandle psDBF, int iRecord,
      int iField,\n                         const char * pszValue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteAttribute
      Src: /src/postgis/loader/dbfopen.c:1552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - psDBF
    - iRecord
    - iField
    argTypes:
    - DBFHandle
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1553
    functionName: SHPAPI_CALL::DBFWriteNULLAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFWriteAttribute
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFWriteNULLAttribute( DBFHandle psDBF, int iRecord, int iField )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - psDBF
    - iRecord
    - iField
    - lValue
    argTypes:
    - DBFHandle
    - int
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1567
    functionName: SHPAPI_CALL::DBFWriteLogicalAttribute
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFWriteLogicalAttribute( DBFHandle psDBF, int iRecord,
      int iField,\n\t\t       const char lValue)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:1589,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:1596,1
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1610,1
    - Dst: REINTERPRET_CAST
      Src: /src/postgis/loader/dbfopen.c:1613,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - psDBF
    - hEntity
    - pRawTuple
    argTypes:
    - DBFHandle
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1621
    functionName: SHPAPI_CALL::DBFWriteTuple
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFLoadRecord
    - DBFWriteHeader
    - REINTERPRET_CAST
    - DBFFlushRecord
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFWriteTuple(DBFHandle psDBF, int hEntity, void * pRawTuple )'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBFReadTuple
      Src: /src/postgis/loader/dbfopen.c:1631,1
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1637,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1640,1
    - Dst: DBFCreateEx
      Src: /src/postgis/loader/dbfopen.c:1654,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1663,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1663,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1664,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1667,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1667,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1668,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1669,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1669,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1670,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1671,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1671,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1672,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1673,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1673,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1674,1
    - Dst: DBFWriteHeader
      Src: /src/postgis/loader/dbfopen.c:1680,1
    - Dst: DBFClose
      Src: /src/postgis/loader/dbfopen.c:1681,1
    - Dst: DBFOpen
      Src: /src/postgis/loader/dbfopen.c:1683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - 'SHPAPI_CALL

      DBFCloneEmpty'
    argTypes:
    - DBFHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1687
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - DBFCreateEx
    - DBFLoadRecord
    - DBFReadTuple
    - DBFWriteHeader
    - DBFClose
    - STATIC_CAST
    - DBFOpen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char SHPAPI_CALL1(*)\nDBFReadTuple(DBFHandle psDBF, int hEntity )\n\n{\n
      \   if( hEntity < 0 || hEntity >= psDBF->nRecords )\n        return SHPLIB_NULLPTR;\n\n
      \   if( !DBFLoadRecord( psDBF, hEntity ) )\n        return SHPLIB_NULLPTR;\n\n
      \   return STATIC_CAST(const char *, psDBF->pszCurrentRecord);\n}\n\n/************************************************************************/\n/*
      \                         DBFCloneEmpty()                              */\n/*
      \                                                                     */\n/*
      \     Read one of the attribute fields of a record.                   */\n/************************************************************************/\n\nDBFHandle
      SHPAPI_CALL\nDBFCloneEmpty(DBFHandle psDBF, const char * pszFilename )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - psDBF
    - iField
    argTypes:
    - DBFHandle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1708
    functionName: SHPAPI_CALL::DBFGetNativeFieldType
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char SHPAPI_CALL

      DBFGetNativeFieldType( DBFHandle psDBF, int iField )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHPAPI_CALL::DBFGetFieldCount
      Src: /src/postgis/loader/dbfopen.c:1725,1
    - Dst: SHPAPI_CALL::DBFGetFieldInfo
      Src: /src/postgis/loader/dbfopen.c:1727,1
    - Dst: STRCASECMP
      Src: /src/postgis/loader/dbfopen.c:1728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - psDBF
    - pszFieldName
    argTypes:
    - DBFHandle
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1732
    functionName: SHPAPI_CALL::DBFGetFieldIndex
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - SHPAPI_CALL::DBFGetFieldInfo
    - STRCASECMP
    - SHPAPI_CALL::DBFGetFieldCount
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFGetFieldIndex(DBFHandle psDBF, const char *pszFieldName)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - psDBF
    - iShape
    argTypes:
    - DBFHandle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1760
    functionName: SHPAPI_CALL::DBFIsRecordDeleted
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFLoadRecord
    linkageType: ''
    returnType: int
    signature: int SHPAPI_CALL DBFIsRecordDeleted( DBFHandle psDBF, int iShape )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBFLoadRecord
      Src: /src/postgis/loader/dbfopen.c:1782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - psDBF
    - iShape
    - bIsDeleted
    argTypes:
    - DBFHandle
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1801
    functionName: SHPAPI_CALL::DBFMarkRecordDeleted
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - DBFLoadRecord
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL DBFMarkRecordDeleted( DBFHandle psDBF, int iShape,\n
      \                                     int bIsDeleted )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBFGetCodePage
      Src: /src/postgis/loader/dbfopen.c:1808,1
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:1834,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1855,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1856,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1858,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1859,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1861,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1862,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1864,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1865,1
    - Dst: memmove
      Src: /src/postgis/loader/dbfopen.c:1872,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1876,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1876,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1880,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:1880,1
    - Dst: DBFUpdateHeader
      Src: /src/postgis/loader/dbfopen.c:1889,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1892,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1892,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1898,1
    - Dst: sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:1901,1
    - Dst: sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:1902,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1905,1
    - Dst: sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:1908,1
    - Dst: sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:1909,1
    - Dst: sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:1910,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1920,1
    - Dst: sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:1922,1
    - Dst: sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:1923,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:1929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - 'SHPAPI_CALL

      DBFDeleteField'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1936
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - sHooks::FSeek
    - sHooks::FRead
    - SfRealloc
    - sHooks::FWrite
    - DBFGetCodePage
    - free
    - STATIC_CAST
    - memmove
    - DBFUpdateHeader
    - DBFFlushRecord
    linkageType: ''
    returnType: char
    signature: "char SHPAPI_CALL1(*)\nDBFGetCodePage(DBFHandle psDBF )\n{\n    if(
      psDBF == SHPLIB_NULLPTR )\n        return SHPLIB_NULLPTR;\n    return psDBF->pszCodePage;\n}\n\n/************************************************************************/\n/*
      \                         DBFDeleteField()                            */\n/*
      \                                                                     */\n/*
      \     Remove a field from a .dbf file                                 */\n/************************************************************************/\n\nint
      SHPAPI_CALL\nDBFDeleteField(DBFHandle psDBF, int iField)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:1965,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1969,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:1969,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1970,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:1970,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1971,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:1971,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1972,1
    - Dst: calloc
      Src: /src/postgis/loader/dbfopen.c:1972,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:1973,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:1973,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:1982,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:1991,1
    - Dst: SHPAPI_CALL::DBFUpdateHeader
      Src: /src/postgis/loader/dbfopen.c:1999,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2002,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2002,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2003,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2003,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2009,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2012,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:2013,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:2019,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2025,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:2026,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2030,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2031,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2034,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2035,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2036,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 2
    argNames:
    - psDBF
    - panMap
    argTypes:
    - DBFHandle
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 2049
    functionName: SHPAPI_CALL::DBFReorderFields
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - DBFHandle::sHooks::FSeek
    - SHPAPI_CALL::DBFUpdateHeader
    - DBFHandle::sHooks::FWrite
    - free
    - STATIC_CAST
    - calloc
    - DBFFlushRecord
    - memcpy
    - DBFHandle::sHooks::FRead
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      DBFReorderFields( DBFHandle psDBF, int* panMap )'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DBFFlushRecord
      Src: /src/postgis/loader/dbfopen.c:2077,1
    - Dst: DBFGetNullCharacter
      Src: /src/postgis/loader/dbfopen.c:2080,1
    - Dst: strncpy
      Src: /src/postgis/loader/dbfopen.c:2111,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2117,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2118,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2122,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2123,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2135,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/dbfopen.c:2135,1
    - Dst: SHPAPI_CALL::DBFUpdateHeader
      Src: /src/postgis/loader/dbfopen.c:2145,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2149,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2149,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2150,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2150,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2159,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2162,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:2163,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:2165,1
    - Dst: DBFIsValueNULL
      Src: /src/postgis/loader/dbfopen.c:2166,1
    - Dst: memmove
      Src: /src/postgis/loader/dbfopen.c:2173,1
    - Dst: memmove
      Src: /src/postgis/loader/dbfopen.c:2179,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:2188,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2192,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2195,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:2196,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2204,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2206,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:2207,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2211,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2212,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2216,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2216,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2217,1
    - Dst: malloc
      Src: /src/postgis/loader/dbfopen.c:2217,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2226,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2229,1
    - Dst: DBFHandle::sHooks::FRead
      Src: /src/postgis/loader/dbfopen.c:2230,1
    - Dst: memcpy
      Src: /src/postgis/loader/dbfopen.c:2232,1
    - Dst: DBFIsValueNULL
      Src: /src/postgis/loader/dbfopen.c:2233,1
    - Dst: memmove
      Src: /src/postgis/loader/dbfopen.c:2237,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:2245,1
    - Dst: memmove
      Src: /src/postgis/loader/dbfopen.c:2252,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:2254,1
    - Dst: memset
      Src: /src/postgis/loader/dbfopen.c:2259,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2264,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2267,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:2268,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/dbfopen.c:2276,1
    - Dst: DBFHandle::sHooks::FSeek
      Src: /src/postgis/loader/dbfopen.c:2278,1
    - Dst: DBFHandle::sHooks::FWrite
      Src: /src/postgis/loader/dbfopen.c:2279,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2282,1
    - Dst: free
      Src: /src/postgis/loader/dbfopen.c:2283,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 6
    argNames:
    - psDBF
    - iField
    - pszFieldName
    - chType
    - nWidth
    - nDecimals
    argTypes:
    - DBFHandle
    - int
    - char*
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2058
    functionDepth: 2
    functionLinenumber: 2058
    functionLinenumberEnd: 2291
    functionName: SHPAPI_CALL::DBFAlterFieldDefn
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - DBFHandle::sHooks::FSeek
    - SHPAPI_CALL::DBFUpdateHeader
    - memset
    - strncpy
    - SfRealloc
    - DBFHandle::sHooks::FWrite
    - free
    - STATIC_CAST
    - DBFGetNullCharacter
    - DBFIsValueNULL
    - memmove
    - DBFFlushRecord
    - memcpy
    - DBFHandle::sHooks::FRead
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nDBFAlterFieldDefn( DBFHandle psDBF, int iField, const
      char * pszFieldName,\n                    char chType, int nWidth, int nDecimals
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - psDBF
    - bWriteFlag
    argTypes:
    - DBFHandle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2300
    functionName: SHPAPI_CALL::DBFSetWriteEndOfFileChar
    functionSourceFile: /src/postgis/loader/dbfopen.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHPAPI_CALL DBFSetWriteEndOfFileChar( DBFHandle psDBF, int bWriteFlag
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/postgis/loader/safileio.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pszFilename
    - pszAccess
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: SADFOpen
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fopen
    linkageType: ''
    returnType: SAFile
    signature: SAFile SADFOpen( const char *pszFilename, const char *pszAccess )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/postgis/loader/safileio.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - size
    - nmemb
    - file
    argTypes:
    - void*
    - SAOffset
    - SAOffset
    - SAFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: SADFRead
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: SAOffset
    signature: SAOffset SADFRead( void *p, SAOffset size, SAOffset nmemb, SAFile file
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/postgis/loader/safileio.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - p
    - size
    - nmemb
    - file
    argTypes:
    - void*
    - SAOffset
    - SAOffset
    - SAFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: SADFWrite
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: SAOffset
    signature: SAOffset SADFWrite( void *p, SAOffset size, SAOffset nmemb, SAFile
      file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/postgis/loader/safileio.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - offset
    - whence
    argTypes:
    - SAFile
    - SAOffset
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: SADFSeek
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: SAOffset
    signature: SAOffset SADFSeek( SAFile file, SAOffset offset, int whence )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/postgis/loader/safileio.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - SAFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: SADFTell
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: SAOffset
    signature: SAOffset SADFTell( SAFile file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/postgis/loader/safileio.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - SAFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: SADFFlush
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int SADFFlush( SAFile file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/postgis/loader/safileio.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - SAFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: SADFClose
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int SADFClose( SAFile file )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/postgis/loader/safileio.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: SADRemove
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: int
    signature: int SADRemove( const char *filename )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postgis/loader/safileio.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: SADError
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void SADError( const char *message )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - psHooks
    argTypes:
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: SASetupDefaultHooks
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SASetupDefaultHooks( SAHooks *psHooks )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/safileio.c:224,1
    - Dst: MultiByteToWideChar
      Src: /src/postgis/loader/safileio.c:225,1
    - Dst: malloc
      Src: /src/postgis/loader/safileio.c:230,1
    - Dst: MultiByteToWideChar
      Src: /src/postgis/loader/safileio.c:235,1
    - Dst: free
      Src: /src/postgis/loader/safileio.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pszFilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 241
    functionName: Utf8ToWideChar
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - strlen
    - MultiByteToWideChar
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t * Utf8ToWideChar( const char *pszFilename )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Utf8ToWideChar
      Src: /src/postgis/loader/safileio.c:251,1
    - Dst: Utf8ToWideChar
      Src: /src/postgis/loader/safileio.c:252,1
    - Dst: _wfopen
      Src: /src/postgis/loader/safileio.c:255,1
    - Dst: free
      Src: /src/postgis/loader/safileio.c:257,1
    - Dst: free
      Src: /src/postgis/loader/safileio.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pszFilename
    - pszAccess
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: SAUtf8WFOpen
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - free
    - _wfopen
    - Utf8ToWideChar
    linkageType: ''
    returnType: SAFile
    signature: SAFile SAUtf8WFOpen( const char *pszFilename, const char *pszAccess
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Utf8ToWideChar
      Src: /src/postgis/loader/safileio.c:268,1
    - Dst: _wremove
      Src: /src/postgis/loader/safileio.c:272,1
    - Dst: free
      Src: /src/postgis/loader/safileio.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pszFilename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: SAUtf8WRemove
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached:
    - free
    - _wremove
    - Utf8ToWideChar
    linkageType: ''
    returnType: int
    signature: int SAUtf8WRemove( const char *pszFilename )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - psHooks
    argTypes:
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 303
    functionName: SASetupUtf8Hooks
    functionSourceFile: /src/postgis/loader/safileio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SASetupUtf8Hooks( SAHooks *psHooks )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: _
    functionSourceFile: /src/postgis/loader/shpcommon.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: _
    functionSourceFile: /src/postgis/loader/shpcommon.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/shapefil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHPAPI_CALL1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/shapefil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHPAPI_CALL1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: SHPAPI_CALL1
    functionSourceFile: /src/postgis/loader/shapefil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHPAPI_CALL1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: SHP_CVSID
    functionSourceFile: /src/postgis/loader/shapefil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHP_CVSID(string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: SHP_CVSID
    functionSourceFile: /src/postgis/loader/shapefil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHP_CVSID(string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:69,1
    - Dst: iconv_open
      Src: /src/postgis/loader/shp2pgsql-core.c:71,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:77,1
    - Dst: memset
      Src: /src/postgis/loader/shp2pgsql-core.c:81,1
    - Dst: iconv
      Src: /src/postgis/loader/shp2pgsql-core.c:85,1
    - Dst: iconvctl
      Src: /src/postgis/loader/shp2pgsql-core.c:90,1
    - Dst: iconv
      Src: /src/postgis/loader/shp2pgsql-core.c:91,1
    - Dst: iconvctl
      Src: /src/postgis/loader/shp2pgsql-core.c:94,1
    - Dst: iconv
      Src: /src/postgis/loader/shp2pgsql-core.c:95,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:98,1
    - Dst: iconv_close
      Src: /src/postgis/loader/shp2pgsql-core.c:99,1
    - Dst: iconv_close
      Src: /src/postgis/loader/shp2pgsql-core.c:103,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:106,1
    - Dst: iconv_close
      Src: /src/postgis/loader/shp2pgsql-core.c:107,1
    - Dst: iconv_close
      Src: /src/postgis/loader/shp2pgsql-core.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - fromcode
    - inputbuf
    - outputbuf
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 114
    functionName: utf8
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - iconv_open
    - memset
    - iconv
    - iconvctl
    - free
    - strlen
    - iconv_close
    linkageType: ''
    returnType: int
    signature: int utf8(const char *fromcode, char *inputbuf, char **outputbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/shp2pgsql-core.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 168
    functionName: escape_copy_string
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: char
    signature: 'char *

      escape_copy_string(char *str)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/shp2pgsql-core.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 221
    functionName: escape_insert_string
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: char
    signature: 'char *

      escape_insert_string(char *str)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/loader/shp2pgsql-core.c:242,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/loader/shp2pgsql-core.c:243,1
    - Dst: isnan
      Src: /src/postgis/loader/shp2pgsql-core.c:246,1
    - Dst: isnan
      Src: /src/postgis/loader/shp2pgsql-core.c:246,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:248,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/loader/shp2pgsql-core.c:248,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:254,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/loader/shp2pgsql-core.c:260,1
    - Dst: ptarray_append_point
      Src: /src/postgis/loader/shp2pgsql-core.c:272,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:275,1
    - Dst: lwpoint_construct
      Src: /src/postgis/loader/shp2pgsql-core.c:275,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:282,1
    - Dst: lwcollection_construct
      Src: /src/postgis/loader/shp2pgsql-core.c:282,1
    - Dst: lwfree
      Src: /src/postgis/loader/shp2pgsql-core.c:287,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/loader/shp2pgsql-core.c:293,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/loader/shp2pgsql-core.c:297,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:302,1
    - Dst: lwgeom_free
      Src: /src/postgis/loader/shp2pgsql-core.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - state
    - obj
    - geometry
    - force_multi
    argTypes:
    - SHPLOADERSTATE*
    - SHPObject*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 228
    functionDepth: 12
    functionLinenumber: 228
    functionLinenumberEnd: 313
    functionName: GeneratePointGeometry
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - malloc
    - FLAGS_SET_Z
    - lwgeom_to_wkt
    - lwgeom_free
    - lwcollection_as_lwgeom
    - snprintf
    - ptarray_append_point
    - lwpoint_construct
    - isnan
    - lwpoint_as_lwgeom
    - lwcollection_construct
    - lwfree
    - lwgeom_to_hexwkb_buffer
    - FLAGS_SET_M
    - lwpoint_construct_empty
    linkageType: ''
    returnType: int
    signature: int GeneratePointGeometry(SHPLOADERSTATE *state, SHPObject *obj, char
      **geometry, int force_multi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/loader/shp2pgsql-core.c:332,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/loader/shp2pgsql-core.c:333,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:337,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:337,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:343,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/loader/shp2pgsql-core.c:349,1
    - Dst: ptarray_append_point
      Src: /src/postgis/loader/shp2pgsql-core.c:371,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:375,1
    - Dst: lwline_construct
      Src: /src/postgis/loader/shp2pgsql-core.c:375,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:381,1
    - Dst: lwcollection_construct
      Src: /src/postgis/loader/shp2pgsql-core.c:381,1
    - Dst: lwfree
      Src: /src/postgis/loader/shp2pgsql-core.c:386,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/loader/shp2pgsql-core.c:390,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/loader/shp2pgsql-core.c:392,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:396,1
    - Dst: lwgeom_free
      Src: /src/postgis/loader/shp2pgsql-core.c:401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - state
    - obj
    - geometry
    argTypes:
    - SHPLOADERSTATE*
    - SHPObject*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 319
    functionDepth: 12
    functionLinenumber: 319
    functionLinenumberEnd: 407
    functionName: GenerateLineStringGeometry
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - malloc
    - FLAGS_SET_Z
    - lwgeom_to_wkt
    - lwgeom_free
    - snprintf
    - lwcollection_as_lwgeom
    - lwline_as_lwgeom
    - ptarray_append_point
    - lwcollection_construct
    - lwfree
    - lwline_construct
    - lwgeom_to_hexwkb_buffer
    - _
    - FLAGS_SET_M
    linkageType: ''
    returnType: int
    signature: int GenerateLineStringGeometry(SHPLOADERSTATE *state, SHPObject *obj,
      char **geometry)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - P
    - V
    - n
    argTypes:
    - Point
    - Point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: PIP
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PIP(Point P, Point *V, int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/shp2pgsql-core.c:452,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:455,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:456,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:480,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:481,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/shp2pgsql-core.c:522,1
    - Dst: PIP
      Src: /src/postgis/loader/shp2pgsql-core.c:549,1
    - Dst: PIP
      Src: /src/postgis/loader/shp2pgsql-core.c:550,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/shp2pgsql-core.c:569,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - obj
    - Out
    argTypes:
    - SHPObject*
    - Ring***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 584
    functionName: FindPolygons
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - PIP
    - LWDEBUGF
    - free
    linkageType: ''
    returnType: int
    signature: int FindPolygons(SHPObject *obj, Ring ***Out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:601,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:602,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - polys
    - npolys
    argTypes:
    - Ring**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 607
    functionName: ReleasePolygons
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ReleasePolygons(Ring **polys, int npolys)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/loader/shp2pgsql-core.c:634,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/loader/shp2pgsql-core.c:635,1
    - Dst: FindPolygons
      Src: /src/postgis/loader/shp2pgsql-core.c:637,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:641,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:641,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:647,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/loader/shp2pgsql-core.c:652,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/loader/shp2pgsql-core.c:672,1
    - Dst: ptarray_append_point
      Src: /src/postgis/loader/shp2pgsql-core.c:685,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/loader/shp2pgsql-core.c:689,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:696,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/loader/shp2pgsql-core.c:702,1
    - Dst: lwcollection_construct
      Src: /src/postgis/loader/shp2pgsql-core.c:702,1
    - Dst: lwfree
      Src: /src/postgis/loader/shp2pgsql-core.c:707,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/loader/shp2pgsql-core.c:711,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/loader/shp2pgsql-core.c:713,1
    - Dst: ReleasePolygons
      Src: /src/postgis/loader/shp2pgsql-core.c:718,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:720,1
    - Dst: lwgeom_free
      Src: /src/postgis/loader/shp2pgsql-core.c:725,1
    - Dst: ReleasePolygons
      Src: /src/postgis/loader/shp2pgsql-core.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - state
    - obj
    - geometry
    argTypes:
    - SHPLOADERSTATE*
    - SHPObject*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 617
    functionDepth: 12
    functionLinenumber: 617
    functionLinenumberEnd: 734
    functionName: GeneratePolygonGeometry
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - malloc
    - FLAGS_SET_Z
    - FindPolygons
    - lwpoly_add_ring
    - lwgeom_to_wkt
    - lwgeom_free
    - snprintf
    - lwcollection_as_lwgeom
    - ptarray_append_point
    - lwpoly_as_lwgeom
    - lwpoly_construct_empty
    - lwcollection_construct
    - ReleasePolygons
    - lwfree
    - lwgeom_to_hexwkb_buffer
    - _
    - FLAGS_SET_M
    linkageType: ''
    returnType: int
    signature: int GeneratePolygonGeometry(SHPLOADERSTATE *state, SHPObject *obj,
      char **geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:748,1
    - Dst: tolower
      Src: /src/postgis/loader/shp2pgsql-core.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: strtolower
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: void
    signature: void strtolower(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 780
    functionName: set_loader_config_defaults
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - strdup
    linkageType: ''
    returnType: void
    signature: void set_loader_config_defaults(SHPLOADERCONFIG *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:789,1
    - Dst: colmap_init
      Src: /src/postgis/loader/shp2pgsql-core.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPLOADERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 837
    functionName: ShpLoaderCreate
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 3
    functionsReached:
    - malloc
    - colmap_init
    linkageType: ''
    returnType: SHPLOADERSTATE
    signature: 'SHPLOADERSTATE *

      ShpLoaderCreate(SHPLOADERCONFIG *config)'
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: SHPOpen
      Src: /src/postgis/loader/shp2pgsql-core.c:853,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:857,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:857,1
    - Dst: DBFOpen
      Src: /src/postgis/loader/shp2pgsql-core.c:865,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:868,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:868,1
    - Dst: colmap_read
      Src: /src/postgis/loader/shp2pgsql-core.c:877,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:883,1
    - Dst: codepage2encoding
      Src: /src/postgis/loader/shp2pgsql-core.c:890,1
    - Dst: lwfree
      Src: /src/postgis/loader/shp2pgsql-core.c:892,1
    - Dst: SHPGetInfo
      Src: /src/postgis/loader/shp2pgsql-core.c:901,1
    - Dst: SHPReadObject
      Src: /src/postgis/loader/shp2pgsql-core.c:909,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:913,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:913,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:919,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:919,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:923,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1034,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1034,1
    - Dst: DBFGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-core.c:1085,1
    - Dst: DBFGetFieldCount
      Src: /src/postgis/loader/shp2pgsql-core.c:1090,1
    - Dst: DBFGetRecordCount
      Src: /src/postgis/loader/shp2pgsql-core.c:1092,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1095,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1096,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1097,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1098,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1099,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1100,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1102,1
    - Dst: DBFGetFieldInfo
      Src: /src/postgis/loader/shp2pgsql-core.c:1109,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1118,1
    - Dst: utf8
      Src: /src/postgis/loader/shp2pgsql-core.c:1120,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1125,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1125,1
    - Dst: strerror
      Src: /src/postgis/loader/shp2pgsql-core.c:1125,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1127,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1127,1
    - Dst: strerror
      Src: /src/postgis/loader/shp2pgsql-core.c:1127,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1129,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1129,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1132,1
    - Dst: strncpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1137,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1139,1
    - Dst: colmap_pg_by_dbf
      Src: /src/postgis/loader/shp2pgsql-core.c:1145,1
    - Dst: strncpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1148,1
    - Dst: strtolower
      Src: /src/postgis/loader/shp2pgsql-core.c:1158,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1166,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1167,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1168,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1169,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1170,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1171,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1172,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1173,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1174,1
    - Dst: memcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1177,1
    - Dst: strncpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1179,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1185,1
    - Dst: strncat
      Src: /src/postgis/loader/shp2pgsql-core.c:1187,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1188,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1188,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1189,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1196,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1202,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1206,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1213,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1217,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1221,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1225,1
    - Dst: fprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1231,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1235,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1239,1
    - Dst: strdup
      Src: /src/postgis/loader/shp2pgsql-core.c:1244,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1248,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1248,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-core.c:1252,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-core.c:1253,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-core.c:1258,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-core.c:1262,1
    - Dst: strcat
      Src: /src/postgis/loader/shp2pgsql-core.c:1268,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 253
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPLOADERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 1272
    functionName: ShpLoaderOpenShape
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 3
    functionsReached:
    - strcmp
    - strcpy
    - colmap_read
    - codepage2encoding
    - strerror
    - strtolower
    - DBFGetFieldInfo
    - strdup
    - snprintf
    - strlen
    - SHPGetInfo
    - _
    - SHPReadObject
    - malloc
    - strncpy
    - free
    - fprintf
    - lwfree
    - DBFGetRecordCount
    - strncat
    - DBFGetFieldCount
    - DBFOpen
    - strcat
    - SHPDestroyObject
    - SHPOpen
    - utf8
    - colmap_pg_by_dbf
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ShpLoaderOpenShape(SHPLOADERSTATE *state)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/loader/shp2pgsql-core.c:1284,1
    - Dst: stringbuffer_clear
      Src: /src/postgis/loader/shp2pgsql-core.c:1285,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1290,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1294,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1314,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1318,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1325,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1329,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1336,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1348,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1353,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1359,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1362,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1366,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1367,1
    - Dst: strcmp
      Src: /src/postgis/loader/shp2pgsql-core.c:1369,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1373,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1392,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1394,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1399,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1401,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1414,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1419,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1421,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1426,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1429,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1436,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1447,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1452,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1456,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1465,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1469,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1471,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1473,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1477,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1477,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1477,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1478,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1478,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1479,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 2
    argNames:
    - state
    - strheader
    argTypes:
    - SHPLOADERSTATE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1484
    functionName: ShpLoaderGetSQLHeader
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - malloc
    - strcmp
    - strcpy
    - stringbuffer_destroy
    - stringbuffer_aprintf
    - strlen
    - stringbuffer_create
    - stringbuffer_clear
    - stringbuffer_getstring
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGetSQLHeader(SHPLOADERSTATE *state, char **strheader)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/loader/shp2pgsql-core.c:1494,1
    - Dst: stringbuffer_clear
      Src: /src/postgis/loader/shp2pgsql-core.c:1495,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1501,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1505,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1510,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1513,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1517,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1517,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1517,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1518,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1518,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1519,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1527,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - state
    - strheader
    argTypes:
    - SHPLOADERSTATE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1488
    functionDepth: 3
    functionLinenumber: 1488
    functionLinenumberEnd: 1531
    functionName: ShpLoaderGetSQLCopyStatement
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - malloc
    - strcpy
    - stringbuffer_destroy
    - snprintf
    - stringbuffer_aprintf
    - _
    - strlen
    - stringbuffer_create
    - stringbuffer_clear
    - stringbuffer_getstring
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGetSQLCopyStatement(SHPLOADERSTATE *state, char **strheader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPLOADERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1539
    functionName: ShpLoaderGetRecordCount
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGetRecordCount(SHPLOADERSTATE *state)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/loader/shp2pgsql-core.c:1557,1
    - Dst: stringbuffer_clear
      Src: /src/postgis/loader/shp2pgsql-core.c:1558,1
    - Dst: stringbuffer_create
      Src: /src/postgis/loader/shp2pgsql-core.c:1559,1
    - Dst: stringbuffer_clear
      Src: /src/postgis/loader/shp2pgsql-core.c:1560,1
    - Dst: DBFIsRecordDeleted
      Src: /src/postgis/loader/shp2pgsql-core.c:1563,1
    - Dst: SHPReadObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1572,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1575,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1575,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1582,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1594,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1599,1
    - Dst: DBFGetFieldCount
      Src: /src/postgis/loader/shp2pgsql-core.c:1606,1
    - Dst: DBFIsAttributeNULL
      Src: /src/postgis/loader/shp2pgsql-core.c:1609,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1612,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1614,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1623,1
    - Dst: DBFReadStringAttribute
      Src: /src/postgis/loader/shp2pgsql-core.c:1623,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1626,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1638,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1639,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1644,1
    - Dst: DBFReadStringAttribute
      Src: /src/postgis/loader/shp2pgsql-core.c:1644,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1647,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1653,1
    - Dst: DBFReadStringAttribute
      Src: /src/postgis/loader/shp2pgsql-core.c:1653,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1656,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1659,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1662,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1664,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1670,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1670,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1673,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1674,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1675,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1681,1
    - Dst: utf8
      Src: /src/postgis/loader/shp2pgsql-core.c:1683,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1688,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1688,1
    - Dst: strerror
      Src: /src/postgis/loader/shp2pgsql-core.c:1688,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1690,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1690,1
    - Dst: strerror
      Src: /src/postgis/loader/shp2pgsql-core.c:1690,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1692,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1692,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1695,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1698,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1699,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1700,1
    - Dst: strncpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1703,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1705,1
    - Dst: escape_copy_string
      Src: /src/postgis/loader/shp2pgsql-core.c:1712,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1713,1
    - Dst: escape_insert_string
      Src: /src/postgis/loader/shp2pgsql-core.c:1717,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1718,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1723,1
    - Dst: DBFGetFieldCount
      Src: /src/postgis/loader/shp2pgsql-core.c:1729,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1732,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1734,1
    - Dst: setlocale
      Src: /src/postgis/loader/shp2pgsql-core.c:1745,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1751,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1753,1
    - Dst: GeneratePolygonGeometry
      Src: /src/postgis/loader/shp2pgsql-core.c:1763,1
    - Dst: GeneratePointGeometry
      Src: /src/postgis/loader/shp2pgsql-core.c:1769,1
    - Dst: GeneratePointGeometry
      Src: /src/postgis/loader/shp2pgsql-core.c:1776,1
    - Dst: GenerateLineStringGeometry
      Src: /src/postgis/loader/shp2pgsql-core.c:1783,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1787,1
    - Dst: _
      Src: /src/postgis/loader/shp2pgsql-core.c:1787,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1788,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1789,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1790,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1798,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1799,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1800,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1810,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1812,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1815,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1819,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1828,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1830,1
    - Dst: lwfree
      Src: /src/postgis/loader/shp2pgsql-core.c:1834,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/shp2pgsql-core.c:1838,1
    - Dst: setlocale
      Src: /src/postgis/loader/shp2pgsql-core.c:1840,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1845,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1849,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1849,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1849,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1850,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1850,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1851,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1856,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1856,1
    - Dst: snprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1858,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1858,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1859,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1866,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 189
    argCount: 3
    argNames:
    - state
    - item
    - strrecord
    argTypes:
    - SHPLOADERSTATE*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1543
    functionDepth: 13
    functionLinenumber: 1543
    functionLinenumberEnd: 1870
    functionName: ShpLoaderGenerateSQLRowStatement
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - strcpy
    - strerror
    - stringbuffer_create
    - GenerateLineStringGeometry
    - stringbuffer_getstring
    - stringbuffer_destroy
    - setlocale
    - snprintf
    - GeneratePointGeometry
    - GeneratePolygonGeometry
    - strlen
    - _
    - stringbuffer_clear
    - SHPReadObject
    - DBFReadStringAttribute
    - malloc
    - strncpy
    - escape_copy_string
    - free
    - lwfree
    - DBFGetFieldCount
    - DBFIsRecordDeleted
    - stringbuffer_aprintf
    - SHPDestroyObject
    - DBFIsAttributeNULL
    - utf8
    - escape_insert_string
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGenerateSQLRowStatement(SHPLOADERSTATE *state, int item,
      char **strrecord)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/loader/shp2pgsql-core.c:1882,1
    - Dst: stringbuffer_clear
      Src: /src/postgis/loader/shp2pgsql-core.c:1883,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1887,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1889,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1892,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1894,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1898,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1900,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1901,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1907,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1911,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1913,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1917,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1919,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1925,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1932,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1935,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/shp2pgsql-core.c:1937,1
    - Dst: malloc
      Src: /src/postgis/loader/shp2pgsql-core.c:1941,1
    - Dst: strlen
      Src: /src/postgis/loader/shp2pgsql-core.c:1941,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1941,1
    - Dst: strcpy
      Src: /src/postgis/loader/shp2pgsql-core.c:1942,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/shp2pgsql-core.c:1942,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/loader/shp2pgsql-core.c:1943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - state
    - strfooter
    argTypes:
    - SHPLOADERSTATE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1874
    functionDepth: 3
    functionLinenumber: 1874
    functionLinenumberEnd: 1948
    functionName: ShpLoaderGetSQLFooter
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 2
    functionsReached:
    - malloc
    - strcpy
    - stringbuffer_destroy
    - stringbuffer_aprintf
    - strlen
    - stringbuffer_create
    - stringbuffer_clear
    - stringbuffer_getstring
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGetSQLFooter(SHPLOADERSTATE *state, char **strfooter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SHPClose
      Src: /src/postgis/loader/shp2pgsql-core.c:1959,1
    - Dst: DBFClose
      Src: /src/postgis/loader/shp2pgsql-core.c:1961,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1965,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1967,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1972,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1974,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1977,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1979,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1981,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1983,1
    - Dst: colmap_clean
      Src: /src/postgis/loader/shp2pgsql-core.c:1986,1
    - Dst: free
      Src: /src/postgis/loader/shp2pgsql-core.c:1989,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPLOADERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1991
    functionName: ShpLoaderDestroy
    functionSourceFile: /src/postgis/loader/shp2pgsql-core.c
    functionUses: 3
    functionsReached:
    - DBFClose
    - SHPClose
    - free
    - colmap_clean
    linkageType: ''
    returnType: void
    signature: void ShpLoaderDestroy(SHPLOADERSTATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ByteCopy
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ByteCopy( a, b, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: MIN
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: MAX
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: STATIC_CAST
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: STATIC_CAST
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_CAST(type,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - length
    - wordP
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: SwapWord
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - STATIC_CAST
    linkageType: ''
    returnType: void
    signature: void SwapWord( int length, void * wordP )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:135,1
    - Dst: realloc
      Src: /src/postgis/loader/shpopen.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pMem
    - nNewSize
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: SfRealloc
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 4
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: void
    signature: void * SfRealloc( void * pMem, int nNewSize )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:158,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:170,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:171,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:174,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:175,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:178,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:179,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:182,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:183,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:186,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:187,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:190,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:191,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:194,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:195,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:198,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:199,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:202,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:203,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:206,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:207,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:210,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:211,1
    - Dst: SHPHandle::sHooks::FSeek
      Src: /src/postgis/loader/shpopen.c:216,1
    - Dst: SHPHandle::sHooks::FWrite
      Src: /src/postgis/loader/shpopen.c:217,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:221,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:222,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:224,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:232,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:233,1
    - Dst: SHPHandle::sHooks::FSeek
      Src: /src/postgis/loader/shpopen.c:235,1
    - Dst: SHPHandle::sHooks::FWrite
      Src: /src/postgis/loader/shpopen.c:236,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:240,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:241,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:243,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:251,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:251,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:254,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:262,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:263,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:266,1
    - Dst: SHPHandle::sHooks::FWrite
      Src: /src/postgis/loader/shpopen.c:266,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:271,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:272,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:274,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:277,1
    - Dst: SHPHandle::sHooks::FFlush
      Src: /src/postgis/loader/shpopen.c:282,1
    - Dst: SHPHandle::sHooks::FFlush
      Src: /src/postgis/loader/shpopen.c:283,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 1
    argNames:
    - psSHP
    argTypes:
    - SHPHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 284
    functionName: SHPAPI_CALL::SHPWriteHeader
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - malloc
    - SwapWord
    - snprintf
    - SHPHandle::sHooks::FSeek
    - SHPHandle::sHooks::FWrite
    - strerror
    - SHPHandle::sHooks::Error
    - free
    - STATIC_CAST
    - SHPHandle::sHooks::FFlush
    - ByteCopy
    linkageType: ''
    returnType: void
    signature: void SHPAPI_CALL SHPWriteHeader( SHPHandle psSHP )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SASetupDefaultHooks
      Src: /src/postgis/loader/shpopen.c:296,1
    - Dst: SHPAPI_CALL::SHPOpenLL
      Src: /src/postgis/loader/shpopen.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pszLayer
    - pszAccess
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: SHPAPI_CALL::SHPOpen
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SASetupDefaultHooks
    - SHPAPI_CALL::SHPOpenLL
    linkageType: ''
    returnType: SHPHandle
    signature: 'SHPHandle SHPAPI_CALL

      SHPOpen( const char * pszLayer, const char * pszAccess )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:308,1
    - Dst: strlen
      Src: /src/postgis/loader/shpopen.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pszBasename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: SHPGetLenWithoutExtension
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - strlen
    - STATIC_CAST
    linkageType: ''
    returnType: int
    signature: int SHPGetLenWithoutExtension(const char* pszBasename)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:346,1
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:346,1
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:347,1
    - Dst: strchr
      Src: /src/postgis/loader/shpopen.c:351,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:369,1
    - Dst: calloc
      Src: /src/postgis/loader/shpopen.c:369,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:372,1
    - Dst: SHPGetLenWithoutExtension
      Src: /src/postgis/loader/shpopen.c:378,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:379,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:379,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:380,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:381,1
    - Dst: SHPHandle::sHooks::FOpen
      Src: /src/postgis/loader/shpopen.c:382,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:385,1
    - Dst: SHPHandle::sHooks::FOpen
      Src: /src/postgis/loader/shpopen.c:386,1
    - Dst: strlen
      Src: /src/postgis/loader/shpopen.c:391,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:392,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:392,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:394,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:396,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:397,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:399,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:400,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:405,1
    - Dst: SHPHandle::sHooks::FOpen
      Src: /src/postgis/loader/shpopen.c:406,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:409,1
    - Dst: SHPHandle::sHooks::FOpen
      Src: /src/postgis/loader/shpopen.c:410,1
    - Dst: strlen
      Src: /src/postgis/loader/shpopen.c:415,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:416,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:416,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:418,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:421,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:422,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:424,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:425,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:426,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:430,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:435,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:435,1
    - Dst: SHPHandle::sHooks::FRead
      Src: /src/postgis/loader/shpopen.c:436,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:438,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:439,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:440,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:441,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:442,1
    - Dst: SHPHandle::sHooks::FRead
      Src: /src/postgis/loader/shpopen.c:457,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:463,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:464,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:465,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:466,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:467,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:482,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:487,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:488,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:489,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:490,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:491,1
    - Dst: SHPHandle::sHooks::FSeek
      Src: /src/postgis/loader/shpopen.c:501,1
    - Dst: SHPHandle::sHooks::FTell
      Src: /src/postgis/loader/shpopen.c:502,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:504,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:506,1
    - Dst: SHPHandle::sHooks::FSeek
      Src: /src/postgis/loader/shpopen.c:508,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:514,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:515,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:518,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:519,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:522,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:523,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:526,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:527,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:530,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:531,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:534,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:535,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:538,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:539,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:542,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:543,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:546,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:554,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:555,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:555,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:556,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:557,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:557,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:561,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:561,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:561,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:569,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:574,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:575,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:576,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:577,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:578,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:579,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:580,1
    - Dst: memset
      Src: /src/postgis/loader/shpopen.c:586,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:586,1
    - Dst: memset
      Src: /src/postgis/loader/shpopen.c:587,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:587,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:588,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:592,1
    - Dst: SHPHandle::sHooks::FRead
      Src: /src/postgis/loader/shpopen.c:592,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:597,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:599,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:601,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:604,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:605,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:606,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:607,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:608,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:609,1
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:615,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:617,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:625,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:626,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:628,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:629,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:631,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:634,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:638,1
    - Dst: SHPAPI_CALL::SHPClose
      Src: /src/postgis/loader/shpopen.c:639,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:640,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:643,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:646,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:650,1
    - Dst: SHPAPI_CALL::SHPClose
      Src: /src/postgis/loader/shpopen.c:651,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:652,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:658,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 194
    argCount: 3
    argNames:
    - pszLayer
    - pszAccess
    - psHooks
    argTypes:
    - char*
    - char*
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 661
    functionName: SHPAPI_CALL::SHPOpenLL
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 1
    functionsReached:
    - strcmp
    - MAX
    - SHPHandle::sHooks::FClose
    - strerror
    - SHPGetLenWithoutExtension
    - SHPHandle::sHooks::Error
    - STATIC_CAST
    - calloc
    - SHPHandle::sHooks::FTell
    - memset
    - snprintf
    - SAHooks*::Error
    - SHPHandle::sHooks::FRead
    - strlen
    - malloc
    - SHPHandle::sHooks::FSeek
    - free
    - SwapWord
    - SHPHandle::sHooks::FOpen
    - SHPAPI_CALL::SHPClose
    - strchr
    - memcpy
    linkageType: ''
    returnType: SHPHandle
    signature: 'SHPHandle SHPAPI_CALL

      SHPOpenLL( const char * pszLayer, const char * pszAccess, SAHooks *psHooks )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHPAPI_CALL::SHPOpenLL
      Src: /src/postgis/loader/shpopen.c:676,1
    - Dst: SHPAPI_CALL::SHPRestoreSHX
      Src: /src/postgis/loader/shpopen.c:679,1
    - Dst: SHPAPI_CALL::SHPOpenLL
      Src: /src/postgis/loader/shpopen.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pszLayer
    - pszAccess
    - psHooks
    - bRestoreSHX
    argTypes:
    - char*
    - char*
    - SAHooks*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 686
    functionName: SHPAPI_CALL::SHPOpenLLEx
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SHPAPI_CALL::SHPRestoreSHX
    - SHPAPI_CALL::SHPOpenLL
    linkageType: ''
    returnType: SHPHandle
    signature: "SHPHandle SHPAPI_CALL\nSHPOpenLLEx( const char * pszLayer, const char
      * pszAccess, SAHooks *psHooks,\n            int bRestoreSHX )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:722,1
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:722,1
    - Dst: strcmp
      Src: /src/postgis/loader/shpopen.c:723,1
    - Dst: SHPGetLenWithoutExtension
      Src: /src/postgis/loader/shpopen.c:747,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:748,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:748,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:749,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:750,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/shpopen.c:751,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:754,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/shpopen.c:755,1
    - Dst: strlen
      Src: /src/postgis/loader/shpopen.c:760,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:761,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:761,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:764,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:766,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:767,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:769,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:777,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:777,1
    - Dst: SAHooks*::FRead
      Src: /src/postgis/loader/shpopen.c:778,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:780,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:781,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:783,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:784,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:796,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/shpopen.c:797,1
    - Dst: strlen
      Src: /src/postgis/loader/shpopen.c:800,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:801,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:801,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:803,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:805,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:806,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:808,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:810,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:811,1
    - Dst: SAHooks*::FSeek
      Src: /src/postgis/loader/shpopen.c:819,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:820,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:820,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:821,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/shpopen.c:822,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:823,1
    - Dst: SAHooks*::FRead
      Src: /src/postgis/loader/shpopen.c:827,1
    - Dst: SAHooks*::FRead
      Src: /src/postgis/loader/shpopen.c:828,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:830,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:831,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:832,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/shpopen.c:834,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:836,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:837,1
    - Dst: SAHooks*::FSeek
      Src: /src/postgis/loader/shpopen.c:841,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:846,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:848,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:849,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:851,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:852,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:859,1
    - Dst: SAHooks*::FSeek
      Src: /src/postgis/loader/shpopen.c:860,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/shpopen.c:861,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:863,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:864,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:866,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:867,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 89
    argCount: 3
    argNames:
    - pszLayer
    - pszAccess
    - psHooks
    argTypes:
    - char*
    - char*
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 870
    functionName: SHPAPI_CALL::SHPRestoreSHX
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 1
    functionsReached:
    - strcmp
    - malloc
    - SAHooks*::FWrite
    - SwapWord
    - snprintf
    - SAHooks*::Error
    - SAHooks*::FRead
    - SHPGetLenWithoutExtension
    - free
    - STATIC_CAST
    - SAHooks*::FOpen
    - strlen
    - SAHooks*::FSeek
    - SAHooks*::FClose
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      SHPRestoreSHX ( const char * pszLayer, const char * pszAccess, SAHooks *psHooks
      )'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SHPAPI_CALL::SHPWriteHeader
      Src: /src/postgis/loader/shpopen.c:889,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:894,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:895,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:898,1
    - Dst: SHPHandle::sHooks::FClose
      Src: /src/postgis/loader/shpopen.c:899,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:903,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:908,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:912,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - psSHP
    argTypes:
    - SHPHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 916
    functionName: SHPAPI_CALL::SHPClose
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 1
    functionsReached:
    - SHPAPI_CALL::SHPWriteHeader
    - free
    - SHPHandle::sHooks::FClose
    linkageType: ''
    returnType: void
    signature: 'void SHPAPI_CALL

      SHPClose(SHPHandle psSHP )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:932,1
    - Dst: calloc
      Src: /src/postgis/loader/shpopen.c:932,1
    - Dst: assert
      Src: /src/postgis/loader/shpopen.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hSHP
    - bFastMode
    argTypes:
    - SHPHandle
    - int
    assertStmts:
    - condition: ( hSHP->psCachedObject != SHPLIB_NULLPTR )
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/postgis/loader/shpopen.c
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 938
    functionName: SHPAPI_CALL::SHPSetFastModeReadObject
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - assert
    - STATIC_CAST
    - calloc
    linkageType: ''
    returnType: void
    signature: void SHPAPI_CALL SHPSetFastModeReadObject( SHPHandle hSHP, int bFastMode
      )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - psSHP
    - pnEntities
    - pnShapeType
    - padfMinBound
    - padfMaxBound
    argTypes:
    - SHPHandle
    - int*
    - int*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 969
    functionName: SHPAPI_CALL::SHPGetInfo
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SHPAPI_CALL\nSHPGetInfo(SHPHandle psSHP, int * pnEntities, int
      * pnShapeType,\n           double * padfMinBound, double * padfMaxBound )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SASetupDefaultHooks
      Src: /src/postgis/loader/shpopen.c:984,1
    - Dst: SHPAPI_CALL::SHPCreateLL
      Src: /src/postgis/loader/shpopen.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pszLayer
    - nShapeType
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 987
    functionName: SHPAPI_CALL::SHPCreate
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SHPAPI_CALL::SHPCreateLL
    - SASetupDefaultHooks
    linkageType: ''
    returnType: SHPHandle
    signature: 'SHPHandle SHPAPI_CALL

      SHPCreate( const char * pszLayer, int nShapeType )'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SHPGetLenWithoutExtension
      Src: /src/postgis/loader/shpopen.c:1024,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:1025,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:1025,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:1026,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:1027,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/shpopen.c:1028,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1032,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1034,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:1035,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:1040,1
    - Dst: SAHooks*::FOpen
      Src: /src/postgis/loader/shpopen.c:1041,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1045,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1047,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:1048,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1052,1
    - Dst: memset
      Src: /src/postgis/loader/shpopen.c:1057,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1063,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1064,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1067,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1068,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1071,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1072,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1075,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1076,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1077,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1078,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/shpopen.c:1083,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1087,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1088,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:1090,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1099,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1100,1
    - Dst: SAHooks*::FWrite
      Src: /src/postgis/loader/shpopen.c:1102,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1106,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1107,1
    - Dst: SAHooks*::Error
      Src: /src/postgis/loader/shpopen.c:1109,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:1117,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:1118,1
    - Dst: SHPAPI_CALL::SHPOpenLL
      Src: /src/postgis/loader/shpopen.c:1120,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1123,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:1124,1
    - Dst: SAHooks*::FClose
      Src: /src/postgis/loader/shpopen.c:1125,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 3
    argNames:
    - pszLayer
    - nShapeType
    - psHooks
    argTypes:
    - char*
    - int
    - SAHooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1127
    functionName: SHPAPI_CALL::SHPCreateLL
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 1
    functionsReached:
    - malloc
    - memset
    - SwapWord
    - SAHooks*::FWrite
    - snprintf
    - SAHooks*::Error
    - strerror
    - SHPGetLenWithoutExtension
    - free
    - STATIC_CAST
    - SAHooks*::FOpen
    - SHPAPI_CALL::SHPOpenLL
    - ByteCopy
    - SAHooks*::FClose
    - memcpy
    linkageType: ''
    returnType: SHPHandle
    signature: 'SHPHandle SHPAPI_CALL

      SHPCreateLL( const char * pszLayer, int nShapeType, SAHooks *psHooks )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1139,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1140,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1141,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1142,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1146,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1147,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1148,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pabyRec
    - psShape
    argTypes:
    - uchar*
    - SHPObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1151
    functionName: _SHPSetBounds
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SwapWord
    - ByteCopy
    linkageType: ''
    returnType: void
    signature: void _SHPSetBounds( uchar * pabyRec, SHPObject * psShape )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1179,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1180,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1181,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1182,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1184,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1185,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1186,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - psObject
    argTypes:
    - SHPObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1189
    functionName: SHPAPI_CALL::SHPComputeExtents
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - MAX
    - MIN
    linkageType: ''
    returnType: void
    signature: 'void SHPAPI_CALL

      SHPComputeExtents( SHPObject * psObject )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/shpopen.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nSHPType
    - nVertices
    - padfX
    - padfY
    - padfZ
    argTypes:
    - int
    - int
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1324
    functionName: SHPCreateSimpleObject
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SHPCreateObject
    linkageType: ''
    returnType: void
    signature: "void SHPCreateSimpleObject( int nSHPType, int nVertices,\n                       const
      double * padfX, const double * padfY,\n                       const double *
      padfZ )"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/loader/shpopen.c:1351,1
    - Dst: assert
      Src: /src/postgis/loader/shpopen.c:1359,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:1374,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/shpopen.c:1375,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:1380,1
    - Dst: SfRealloc
      Src: /src/postgis/loader/shpopen.c:1381,1
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:1392,1
    - Dst: malloc
      Src: /src/postgis/loader/shpopen.c:1392,1
    - Dst: _SHPSetBounds
      Src: /src/postgis/loader/shpopen.c:1413,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1415,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1416,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1418,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1419,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1426,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1430,1
    - Dst: memcpy
      Src: /src/postgis/loader/shpopen.c:1439,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1443,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1453,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1454,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1457,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1460,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1472,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1473,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1476,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1477,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1482,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1483,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1500,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1501,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1504,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1505,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1510,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1511,1
    - Dst: _SHPSetBounds
      Src: /src/postgis/loader/shpopen.c:1528,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1530,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1531,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1535,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1536,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1538,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1539,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1546,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1547,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1550,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1551,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1556,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1557,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1566,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1567,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1570,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1571,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1576,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1577,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1590,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1591,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1593,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1594,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1600,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1601,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1609,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1610,1
    - Dst: assert
      Src: /src/postgis/loader/shpopen.c:1626,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1647,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:1651,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1652,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1668,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1669,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1672,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1673,1
    - Dst: SwapWord
      Src: /src/postgis/loader/shpopen.c:1676,1
    - Dst: ByteCopy
      Src: /src/postgis/loader/shpopen.c:1677,1
    - Dst: SHPHandle::sHooks::FSeek
      Src: /src/postgis/loader/shpopen.c:1689,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1693,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1695,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:1697,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1699,1
    - Dst: SHPHandle::sHooks::FWrite
      Src: /src/postgis/loader/shpopen.c:1703,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpopen.c:1707,1
    - Dst: strerror
      Src: /src/postgis/loader/shpopen.c:1709,1
    - Dst: SHPHandle::sHooks::Error
      Src: /src/postgis/loader/shpopen.c:1711,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1713,1
    - Dst: free
      Src: /src/postgis/loader/shpopen.c:1717,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1759,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1760,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1761,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1762,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1765,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1766,1
    - Dst: MIN
      Src: /src/postgis/loader/shpopen.c:1770,1
    - Dst: MAX
      Src: /src/postgis/loader/shpopen.c:1771,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 243
    argCount: 3
    argNames:
    - psSHP
    - nShapeId
    - psObject
    argTypes:
    - SHPHandle
    - int
    - SHPObject*
    assertStmts:
    - condition: "( nShapeId == -1\n            || (nShapeId >= 0 && nShapeId < psSHP->nRecords)
        )"
      pos:
        line_end: 1359
        line_start: 1358
        source_file: /src/postgis/loader/shpopen.c
    - condition: "( psObject->nSHPType == psSHP->nShapeType\n            || psObject->nSHPType
        == SHPT_NULL )"
      pos:
        line_end: 1351
        line_start: 1350
        source_file: /src/postgis/loader/shpopen.c
    - condition: ( FALSE )
      pos:
        line_end: 1625
        line_start: 1625
        source_file: /src/postgis/loader/shpopen.c
    constantsTouched: []
    func_position:
      end: 1776
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1776
    functionName: SHPAPI_CALL::SHPWriteObject
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - _SHPSetBounds
    - malloc
    - assert
    - SwapWord
    - MIN
    - snprintf
    - MAX
    - SfRealloc
    - SHPHandle::sHooks::FSeek
    - SHPHandle::sHooks::FWrite
    - strerror
    - SHPHandle::sHooks::Error
    - free
    - STATIC_CAST
    - ByteCopy
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int SHPAPI_CALL

      SHPWriteObject(SHPHandle psSHP, int nShapeId, SHPObject * psObject )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/shpopen.c:1787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pBuffer
    - nSize
    argTypes:
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1795
    functionName: SHPAllocBuffer
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * SHPAllocBuffer(unsigned char** pBuffer, int nSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_CAST
      Src: /src/postgis/loader/shpopen.c:1811,1
    - Dst: realloc
      Src: /src/postgis/loader/shpopen.c:1811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - psSHP
    - nObjectBufSize
    argTypes:
    - SHPHandle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1821
    functionName: SHPReallocObjectBufIfNecessary
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - STATIC_CAST
    - realloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * SHPReallocObjectBufIfNecessary ( SHPHandle psSHP,\n
      \                                                      int nObjectBufSize )"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - nSHPType
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2601
    functionName: SHPTypeName
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHPTypeName( int nSHPType )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - psObject
    - iPart
    argTypes:
    - SHPObject*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2680
    functionName: SHPGetPartVertexCount
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SHPGetPartVertexCount( const SHPObject * psObject, int iPart )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHPGetPartVertexCount
      Src: /src/postgis/loader/shpopen.c:2711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - psObject
    - iOpRing
    - dfTestX
    - dfTestY
    argTypes:
    - SHPObject*
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2687
    functionDepth: 1
    functionLinenumber: 2687
    functionLinenumberEnd: 2757
    functionName: SHPRewindIsInnerRing
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SHPGetPartVertexCount
    linkageType: ''
    returnType: int
    signature: "int SHPRewindIsInnerRing( const SHPObject * psObject,\n                                 int
      iOpRing,\n                                 double dfTestX, double dfTestY )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SHPGetPartVertexCount
      Src: /src/postgis/loader/shpopen.c:2793,1
    - Dst: SHPRewindIsInnerRing
      Src: /src/postgis/loader/shpopen.c:2808,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - SHPHandle
    - psObject
    argTypes:
    - CPL_UNUSED
    - SHPObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2766
    functionDepth: 2
    functionLinenumber: 2766
    functionLinenumberEnd: 2881
    functionName: SHPAPI_CALL::SHPRewindObject
    functionSourceFile: /src/postgis/loader/shpopen.c
    functionUses: 0
    functionsReached:
    - SHPGetPartVertexCount
    - SHPRewindIsInnerRing
    linkageType: ''
    returnType: int
    signature: "int SHPAPI_CALL\nSHPRewindObject( CPL_UNUSED SHPHandle hSHP,\n                 SHPObject
      * psObject )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/shpcommon.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 160
    functionName: escape_connection_string
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: char
    signature: 'char *

      escape_connection_string(char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - colmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: colmap_init
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void colmap_init(colmap *map)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/loader/shpcommon.c:179,1
    - Dst: free
      Src: /src/postgis/loader/shpcommon.c:180,1
    - Dst: free
      Src: /src/postgis/loader/shpcommon.c:182,1
    - Dst: free
      Src: /src/postgis/loader/shpcommon.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - map
    argTypes:
    - colmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: colmap_clean
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void colmap_clean(colmap *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postgis/loader/shpcommon.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - pgname
    argTypes:
    - colmap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: colmap_dbf_by_pg
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      colmap_dbf_by_pg(colmap *map, const char *pgname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postgis/loader/shpcommon.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - map
    - dbfname
    argTypes:
    - colmap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: colmap_pg_by_dbf
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      colmap_pg_by_dbf(colmap *map, const char *dbfname)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/postgis/loader/shpcommon.c:226,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpcommon.c:230,1
    - Dst: _
      Src: /src/postgis/loader/shpcommon.c:230,1
    - Dst: fgets
      Src: /src/postgis/loader/shpcommon.c:236,1
    - Dst: fseek
      Src: /src/postgis/loader/shpcommon.c:239,1
    - Dst: malloc
      Src: /src/postgis/loader/shpcommon.c:240,1
    - Dst: malloc
      Src: /src/postgis/loader/shpcommon.c:241,1
    - Dst: fgets
      Src: /src/postgis/loader/shpcommon.c:245,1
    - Dst: strcspn
      Src: /src/postgis/loader/shpcommon.c:249,1
    - Dst: malloc
      Src: /src/postgis/loader/shpcommon.c:253,1
    - Dst: strncpy
      Src: /src/postgis/loader/shpcommon.c:254,1
    - Dst: strspn
      Src: /src/postgis/loader/shpcommon.c:259,1
    - Dst: strcspn
      Src: /src/postgis/loader/shpcommon.c:262,1
    - Dst: malloc
      Src: /src/postgis/loader/shpcommon.c:265,1
    - Dst: strncpy
      Src: /src/postgis/loader/shpcommon.c:266,1
    - Dst: strlen
      Src: /src/postgis/loader/shpcommon.c:270,1
    - Dst: snprintf
      Src: /src/postgis/loader/shpcommon.c:272,1
    - Dst: _
      Src: /src/postgis/loader/shpcommon.c:273,1
    - Dst: fclose
      Src: /src/postgis/loader/shpcommon.c:277,1
    - Dst: fclose
      Src: /src/postgis/loader/shpcommon.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - filename
    - map
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - colmap*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 293
    functionName: colmap_read
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 1
    functionsReached:
    - fgets
    - malloc
    - strcspn
    - strncpy
    - snprintf
    - strlen
    - fclose
    - strspn
    - fseek
    - fopen
    - _
    linkageType: ''
    returnType: int
    signature: int colmap_read(const char *filename, colmap *map, char *errbuf, size_t
      errbuflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/loader/shpcommon.c:313,1
    - Dst: strstr
      Src: /src/postgis/loader/shpcommon.c:314,1
    - Dst: atoi
      Src: /src/postgis/loader/shpcommon.c:328,1
    - Dst: strdup
      Src: /src/postgis/loader/shpcommon.c:336,1
    - Dst: strdup
      Src: /src/postgis/loader/shpcommon.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - cpg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 348
    functionName: codepage2encoding
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 1
    functionsReached:
    - strstr
    - strlen
    - strdup
    - atoi
    linkageType: ''
    returnType: char
    signature: 'char *

      codepage2encoding(const char *cpg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postgis/loader/shpcommon.c:362,1
    - Dst: strdup
      Src: /src/postgis/loader/shpcommon.c:366,1
    - Dst: asprintf
      Src: /src/postgis/loader/shpcommon.c:371,1
    - Dst: strdup
      Src: /src/postgis/loader/shpcommon.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 380
    functionName: encoding2codepage
    functionSourceFile: /src/postgis/loader/shpcommon.c
    functionUses: 0
    functionsReached:
    - strdup
    - asprintf
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      encoding2codepage(const char *encoding)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/loader/pgsql2shp-core.c:82,1
    - Dst: vasprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:83,1
    - Dst: exit
      Src: /src/postgis/loader/pgsql2shp-core.c:85,1
    - Dst: va_end
      Src: /src/postgis/loader/pgsql2shp-core.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: core_asprintf
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - vasprintf
    - va_end
    - va_start
    - exit
    linkageType: ''
    returnType: char
    signature: 'char *

      core_asprintf(const char* format, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/loader/pgsql2shp-core.c:97,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - state
    - lwpoint
    argTypes:
    - SHPDUMPERSTATE*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: create_point_empty
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - SHPCreateObject
    - memcpy
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_point_empty(SHPDUMPERSTATE *state, LWPOINT *lwpoint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:111,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:112,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:113,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:114,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:118,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:125,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:127,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:129,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:130,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:131,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - state
    - lwpoint
    argTypes:
    - SHPDUMPERSTATE*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: create_point
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - LWDEBUGF
    - getPoint4d
    - free
    - SHPCreateObject
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_point(SHPDUMPERSTATE *state, LWPOINT *lwpoint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:147,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:148,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:149,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:150,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:156,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:163,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:166,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:168,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:169,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:170,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - state
    - lwmultipoint
    argTypes:
    - SHPDUMPERSTATE*
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: create_multipoint
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - LWDEBUGF
    - getPoint4d
    - free
    - SHPCreateObject
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_multipoint(SHPDUMPERSTATE *state, LWMPOINT *lwmultipoint)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:188,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:195,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:196,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:197,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:198,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:200,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:210,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:217,1
    - Dst: is_clockwise
      Src: /src/postgis/loader/pgsql2shp-core.c:229,1
    - Dst: LWDEBUG
      Src: /src/postgis/loader/pgsql2shp-core.c:232,1
    - Dst: reverse_points
      Src: /src/postgis/loader/pgsql2shp-core.c:234,1
    - Dst: is_clockwise
      Src: /src/postgis/loader/pgsql2shp-core.c:241,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:244,1
    - Dst: reverse_points
      Src: /src/postgis/loader/pgsql2shp-core.c:246,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:253,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:255,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:256,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:257,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:258,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - state
    - lwpolygon
    argTypes:
    - SHPDUMPERSTATE*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 262
    functionName: create_polygon
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - is_clockwise
    - LWDEBUG
    - reverse_points
    - getPoint4d
    - free
    - SHPCreateObject
    - LWDEBUGF
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_polygon(SHPDUMPERSTATE *state, LWPOLY *lwpolygon)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:288,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:291,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:292,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:293,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:294,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:296,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:306,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:310,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:317,1
    - Dst: is_clockwise
      Src: /src/postgis/loader/pgsql2shp-core.c:329,1
    - Dst: LWDEBUG
      Src: /src/postgis/loader/pgsql2shp-core.c:332,1
    - Dst: reverse_points
      Src: /src/postgis/loader/pgsql2shp-core.c:334,1
    - Dst: is_clockwise
      Src: /src/postgis/loader/pgsql2shp-core.c:341,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:344,1
    - Dst: reverse_points
      Src: /src/postgis/loader/pgsql2shp-core.c:346,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:357,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:359,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:360,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:361,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:362,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - state
    - lwmultipolygon
    argTypes:
    - SHPDUMPERSTATE*
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 366
    functionName: create_multipolygon
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - is_clockwise
    - LWDEBUG
    - reverse_points
    - getPoint4d
    - free
    - SHPCreateObject
    - LWDEBUGF
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_multipolygon(SHPDUMPERSTATE *state, LWMPOLY *lwmultipolygon)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:378,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:379,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:380,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:381,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:387,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:394,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:397,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:399,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:400,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:401,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - state
    - lwlinestring
    argTypes:
    - SHPDUMPERSTATE*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 405
    functionName: create_linestring
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - LWDEBUGF
    - getPoint4d
    - free
    - SHPCreateObject
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_linestring(SHPDUMPERSTATE *state, LWLINE *lwlinestring)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:419,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:425,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:428,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:429,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:430,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:431,1
    - Dst: getPoint4d
      Src: /src/postgis/loader/pgsql2shp-core.c:441,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:448,1
    - Dst: SHPCreateObject
      Src: /src/postgis/loader/pgsql2shp-core.c:455,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:457,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:458,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:459,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:460,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - state
    - lwmultilinestring
    argTypes:
    - SHPDUMPERSTATE*
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 464
    functionName: create_multilinestring
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - LWDEBUGF
    - getPoint4d
    - free
    - SHPCreateObject
    linkageType: ''
    returnType: SHPObject
    signature: 'SHPObject *

      create_multilinestring(SHPDUMPERSTATE *state, LWMLINE *lwmultilinestring)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - num_points
    - x
    - y
    - z
    - m
    argTypes:
    - int
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 507
    functionName: reverse_points
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reverse_points(int num_points, double *x, double *y, double *z,
      double *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:518,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:519,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:537,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:538,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:543,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - num_points
    - x
    - y
    - z
    argTypes:
    - int
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 547
    functionName: is_clockwise
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 4
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int is_clockwise(int num_points, double *x, double *y, double *z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_init
      Src: /src/postgis/loader/pgsql2shp-core.c:564,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:567,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:574,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:580,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:580,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:582,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:582,1
    - Dst: stringbuffer_release
      Src: /src/postgis/loader/pgsql2shp-core.c:583,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:584,1
    - Dst: printf
      Src: /src/postgis/loader/pgsql2shp-core.c:586,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:586,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:587,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:591,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:593,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:596,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:596,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - conn
    - schema
    - table
    - fname
    argTypes:
    - PGconn*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 599
    functionName: getMaxFieldSize
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQgetvalue
    - PQerrorMessage
    - atoi
    - stringbuffer_aprintf
    - printf
    - stringbuffer_init
    - PQntuples
    - PQresultStatus
    - PQclear
    - stringbuffer_release
    - _
    - LWDEBUGF
    - stringbuffer_getstring
    linkageType: ''
    returnType: int
    signature: int getMaxFieldSize(PGconn *conn, char *schema, char *table, char *fname)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 637
    functionName: shapetypename
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      shapetypename(int num)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - fieldType
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 663
    functionName: nullDBFValue
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      nullDBFValue(char fieldType)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/postgis/loader/pgsql2shp-core.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - in
    - fieldType
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 701
    functionName: goodDBFValue
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: 'char *

      goodDBFValue(char *in, char fieldType)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:709,1
    - Dst: deparse_hex
      Src: /src/postgis/loader/pgsql2shp-core.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ewkb
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 714
    functionName: convert_bytes_to_hex
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - malloc
    - deparse_hex
    linkageType: ''
    returnType: char
    signature: char *convert_bytes_to_hex(uint8_t *ewkb, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PQescapeStringConn
      Src: /src/postgis/loader/pgsql2shp-core.c:746,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:746,1
    - Dst: PQescapeStringConn
      Src: /src/postgis/loader/pgsql2shp-core.c:747,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:747,1
    - Dst: PQescapeStringConn
      Src: /src/postgis/loader/pgsql2shp-core.c:760,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:760,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:761,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:771,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:780,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:782,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:784,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:786,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:786,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:786,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:787,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:788,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:792,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:794,1
    - Dst: strcmp
      Src: /src/postgis/loader/pgsql2shp-core.c:795,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:797,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:797,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:798,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:799,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:806,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:806,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:807,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:808,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:817,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:817,1
    - Dst: strcpy
      Src: /src/postgis/loader/pgsql2shp-core.c:818,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:819,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:827,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:828,1
    - Dst: fopen
      Src: /src/postgis/loader/pgsql2shp-core.c:834,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:837,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:838,1
    - Dst: fputs
      Src: /src/postgis/loader/pgsql2shp-core.c:843,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:844,1
    - Dst: fclose
      Src: /src/postgis/loader/pgsql2shp-core.c:847,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:848,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:849,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:850,1
    - Dst: fclose
      Src: /src/postgis/loader/pgsql2shp-core.c:854,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:855,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:859,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:860,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 862
    functionName: projFileCreate
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strcpy
    - fputs
    - PQclear
    - PQescapeStringConn
    - snprintf
    - strlen
    - fopen
    - _
    - PQexec
    - malloc
    - PQgetvalue
    - free
    - core_asprintf
    - PQresultStatus
    - PQntuples
    - LWDEBUGF
    - fclose
    - PQresultErrorMessage
    linkageType: ''
    returnType: int
    signature: int projFileCreate(SHPDUMPERSTATE *state)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:891,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:897,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:907,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:913,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:919,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:921,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:922,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:924,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:926,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:926,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:926,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:927,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:932,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:934,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:934,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:935,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:957,1
    - Dst: PQgetisnull
      Src: /src/postgis/loader/pgsql2shp-core.c:960,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:962,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:962,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/loader/pgsql2shp-core.c:966,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:966,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/loader/pgsql2shp-core.c:998,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/loader/pgsql2shp-core.c:1005,1
    - Dst: lwtype_is_collection
      Src: /src/postgis/loader/pgsql2shp-core.c:1012,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1018,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1018,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1023,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1023,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1042,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1042,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1043,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1120,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1120,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1124,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 148
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 1127
    functionName: getTableInfo
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQgetvalue
    - atoi
    - snprintf
    - PQgetisnull
    - lwtype_is_collection
    - geometry_type_from_string
    - free
    - core_asprintf
    - PQresultStatus
    - PQclear
    - PQntuples
    - _
    - PQresultErrorMessage
    - LWDEBUGF
    linkageType: ''
    returnType: int
    signature: int getTableInfo(SHPDUMPERSTATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPDUMPERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1154
    functionName: set_dumper_config_defaults
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void set_dumper_config_defaults(SHPDUMPERCONFIG *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1163,1
    - Dst: colmap_init
      Src: /src/postgis/loader/pgsql2shp-core.c:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - config
    argTypes:
    - SHPDUMPERCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1184
    functionName: ShpDumperCreate
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - malloc
    - colmap_init
    linkageType: ''
    returnType: SHPDUMPERSTATE
    signature: 'SHPDUMPERSTATE *

      ShpDumperCreate(SHPDUMPERCONFIG *config)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_init
      Src: /src/postgis/loader/pgsql2shp-core.c:1191,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1194,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1197,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1200,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1203,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1206,1
    - Dst: getenv
      Src: /src/postgis/loader/pgsql2shp-core.c:1208,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SHPCONNECTIONCONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1212
    functionName: ShpDumperGetConnectionStringFromConn
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 3
    functionsReached:
    - stringbuffer_aprintf
    - stringbuffer_init
    - stringbuffer_append
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      ShpDumperGetConnectionStringFromConn(SHPCONNECTIONCONFIG *conn)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ShpDumperGetConnectionStringFromConn
      Src: /src/postgis/loader/pgsql2shp-core.c:1223,1
    - Dst: PQconnectdb
      Src: /src/postgis/loader/pgsql2shp-core.c:1226,1
    - Dst: PQstatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1227,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1229,1
    - Dst: PQerrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1229,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1230,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1235,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1236,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1238,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1238,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1239,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1240,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1244,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1247,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1248,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1250,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1250,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1251,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1252,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1256,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1257,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1259,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1262,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1263,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1265,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1265,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1265,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1266,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1267,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1271,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1273,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1274,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1278,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1278,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1279,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1280,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1284,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1287,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1288,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1290,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1290,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1290,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1291,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1292,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1296,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1299,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1300,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1303,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1216
    functionDepth: 5
    functionLinenumber: 1216
    functionLinenumberEnd: 1308
    functionName: ShpDumperConnectDatabase
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - PQexec
    - PQconnectdb
    - PQgetvalue
    - PQerrorMessage
    - PQstatus
    - snprintf
    - atoi
    - ShpDumperGetConnectionStringFromConn
    - free
    - PQntuples
    - PQresultStatus
    - PQclear
    - _
    - PQresultErrorMessage
    linkageType: ''
    returnType: int
    signature: int ShpDumperConnectDatabase(SHPDUMPERSTATE *state)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: colmap_read
      Src: /src/postgis/loader/pgsql2shp-core.c:1325,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1333,1
    - Dst: getpid
      Src: /src/postgis/loader/pgsql2shp-core.c:1333,1
    - Dst: stringbuffer_init
      Src: /src/postgis/loader/pgsql2shp-core.c:1334,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1335,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1338,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:1338,1
    - Dst: stringbuffer_release
      Src: /src/postgis/loader/pgsql2shp-core.c:1339,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1342,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1344,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1344,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1344,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1345,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1348,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-core.c:1353,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-core.c:1355,1
    - Dst: stringbuffer_init
      Src: /src/postgis/loader/pgsql2shp-core.c:1358,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1362,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1375,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1386,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:1386,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1388,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:1388,1
    - Dst: stringbuffer_release
      Src: /src/postgis/loader/pgsql2shp-core.c:1389,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1391,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1393,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1393,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1393,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1394,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1398,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1400,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1400,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1401,1
    - Dst: getenv
      Src: /src/postgis/loader/pgsql2shp-core.c:1414,1
    - Dst: encoding2codepage
      Src: /src/postgis/loader/pgsql2shp-core.c:1416,1
    - Dst: getenv
      Src: /src/postgis/loader/pgsql2shp-core.c:1416,1
    - Dst: DBFCreateEx
      Src: /src/postgis/loader/pgsql2shp-core.c:1419,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1420,1
    - Dst: DBFCreateEx
      Src: /src/postgis/loader/pgsql2shp-core.c:1424,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1429,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1429,1
    - Dst: DBFSetWriteEndOfFileChar
      Src: /src/postgis/loader/pgsql2shp-core.c:1434,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1440,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1440,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1441,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1441,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1442,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1442,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1443,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1443,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1444,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1444,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1448,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1458,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1459,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1459,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1460,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1460,1
    - Dst: atoi
      Src: /src/postgis/loader/pgsql2shp-core.c:1461,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:1461,1
    - Dst: strcmp
      Src: /src/postgis/loader/pgsql2shp-core.c:1477,1
    - Dst: strdup
      Src: /src/postgis/loader/pgsql2shp-core.c:1481,1
    - Dst: strcmp
      Src: /src/postgis/loader/pgsql2shp-core.c:1492,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:1514,1
    - Dst: strncpy
      Src: /src/postgis/loader/pgsql2shp-core.c:1515,1
    - Dst: colmap_dbf_by_pg
      Src: /src/postgis/loader/pgsql2shp-core.c:1522,1
    - Dst: strncpy
      Src: /src/postgis/loader/pgsql2shp-core.c:1525,1
    - Dst: strncasecmp
      Src: /src/postgis/loader/pgsql2shp-core.c:1536,1
    - Dst: sprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1538,1
    - Dst: abs
      Src: /src/postgis/loader/pgsql2shp-core.c:1538,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1548,1
    - Dst: toupper
      Src: /src/postgis/loader/pgsql2shp-core.c:1549,1
    - Dst: strcasecmp
      Src: /src/postgis/loader/pgsql2shp-core.c:1553,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1555,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1555,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1557,1
    - Dst: strncat
      Src: /src/postgis/loader/pgsql2shp-core.c:1558,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1558,1
    - Dst: getMaxFieldSize
      Src: /src/postgis/loader/pgsql2shp-core.c:1729,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1732,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1748,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1748,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1751,1
    - Dst: strncat
      Src: /src/postgis/loader/pgsql2shp-core.c:1752,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1752,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1760,1
    - Dst: DBFAddField
      Src: /src/postgis/loader/pgsql2shp-core.c:1765,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1767,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1767,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1768,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1784,1
    - Dst: getTableInfo
      Src: /src/postgis/loader/pgsql2shp-core.c:1789,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1793,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1794,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1795,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1803,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1803,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1811,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1811,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1812,1
    - Dst: strncat
      Src: /src/postgis/loader/pgsql2shp-core.c:1813,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1813,1
    - Dst: SHPCreate
      Src: /src/postgis/loader/pgsql2shp-core.c:1823,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1826,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1826,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:1838,1
    - Dst: stringbuffer_init
      Src: /src/postgis/loader/pgsql2shp-core.c:1840,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1842,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1844,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1846,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1852,1
    - Dst: quote_identifier
      Src: /src/postgis/loader/pgsql2shp-core.c:1855,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1858,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1862,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1864,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1872,1
    - Dst: quote_identifier
      Src: /src/postgis/loader/pgsql2shp-core.c:1875,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1878,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1882,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1887,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1891,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:1894,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1899,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1905,1
    - Dst: stringbuffer_append
      Src: /src/postgis/loader/pgsql2shp-core.c:1913,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1917,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:1919,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/loader/pgsql2shp-core.c:1919,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1925,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1926,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1928,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1928,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1928,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1929,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1933,1
    - Dst: stringbuffer_getstringcopy
      Src: /src/postgis/loader/pgsql2shp-core.c:1936,1
    - Dst: stringbuffer_release
      Src: /src/postgis/loader/pgsql2shp-core.c:1937,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1938,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1939,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1941,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1941,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1941,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1942,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1946,1
    - Dst: core_asprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1955,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 311
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1312
    functionDepth: 4
    functionLinenumber: 1312
    functionLinenumberEnd: 1958
    functionName: ShpDumperOpenTable
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - strcmp
    - colmap_read
    - SHPCreate
    - getpid
    - stringbuffer_init
    - PQclear
    - stringbuffer_release
    - toupper
    - stringbuffer_append
    - sprintf
    - abs
    - strdup
    - colmap_dbf_by_pg
    - snprintf
    - strcasecmp
    - strlen
    - _
    - PQexec
    - malloc
    - getTableInfo
    - PQgetvalue
    - strncpy
    - stringbuffer_getstringcopy
    - getenv
    - free
    - core_asprintf
    - PQresultStatus
    - encoding2codepage
    - PQntuples
    - atoi
    - strncat
    - LWDEBUGF
    - DBFAddField
    - getMaxFieldSize
    - quote_identifier
    - DBFCreateEx
    - stringbuffer_aprintf
    - strncasecmp
    - DBFSetWriteEndOfFileChar
    - PQresultErrorMessage
    - stringbuffer_getstring
    linkageType: ''
    returnType: int
    signature: int ShpDumperOpenTable(SHPDUMPERSTATE *state)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1976,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1976,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1977,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1986,1
    - Dst: PQexec
      Src: /src/postgis/loader/pgsql2shp-core.c:1988,1
    - Dst: PQresultStatus
      Src: /src/postgis/loader/pgsql2shp-core.c:1989,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:1991,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:1991,1
    - Dst: PQresultErrorMessage
      Src: /src/postgis/loader/pgsql2shp-core.c:1991,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:1992,1
    - Dst: PQntuples
      Src: /src/postgis/loader/pgsql2shp-core.c:1997,1
    - Dst: PQfnumber
      Src: /src/postgis/loader/pgsql2shp-core.c:2002,1
    - Dst: PQgetisnull
      Src: /src/postgis/loader/pgsql2shp-core.c:2015,1
    - Dst: nullDBFValue
      Src: /src/postgis/loader/pgsql2shp-core.c:2017,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:2021,1
    - Dst: goodDBFValue
      Src: /src/postgis/loader/pgsql2shp-core.c:2022,1
    - Dst: DBFWriteAttributeDirectly
      Src: /src/postgis/loader/pgsql2shp-core.c:2026,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:2028,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:2028,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2029,1
    - Dst: PQgetisnull
      Src: /src/postgis/loader/pgsql2shp-core.c:2038,1
    - Dst: SHPCreateSimpleObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2040,1
    - Dst: SHPWriteObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2041,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:2043,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:2043,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2044,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2045,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2048,1
    - Dst: PQgetvalue
      Src: /src/postgis/loader/pgsql2shp-core.c:2053,1
    - Dst: LWDEBUG
      Src: /src/postgis/loader/pgsql2shp-core.c:2059,1
    - Dst: PQunescapeBytea
      Src: /src/postgis/loader/pgsql2shp-core.c:2063,1
    - Dst: convert_bytes_to_hex
      Src: /src/postgis/loader/pgsql2shp-core.c:2064,1
    - Dst: LWDEBUG
      Src: /src/postgis/loader/pgsql2shp-core.c:2068,1
    - Dst: PQgetlength
      Src: /src/postgis/loader/pgsql2shp-core.c:2072,1
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:2073,1
    - Dst: strncpy
      Src: /src/postgis/loader/pgsql2shp-core.c:2074,1
    - Dst: LWDEBUG
      Src: /src/postgis/loader/pgsql2shp-core.c:2079,1
    - Dst: PQgetlength
      Src: /src/postgis/loader/pgsql2shp-core.c:2082,1
    - Dst: convert_bytes_to_hex
      Src: /src/postgis/loader/pgsql2shp-core.c:2083,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:2086,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:2086,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/loader/pgsql2shp-core.c:2089,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:2092,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:2092,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2093,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2094,1
    - Dst: LWDEBUGF
      Src: /src/postgis/loader/pgsql2shp-core.c:2099,1
    - Dst: lwtype_name
      Src: /src/postgis/loader/pgsql2shp-core.c:2099,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/loader/pgsql2shp-core.c:2104,1
    - Dst: create_point_empty
      Src: /src/postgis/loader/pgsql2shp-core.c:2106,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/loader/pgsql2shp-core.c:2106,1
    - Dst: create_point
      Src: /src/postgis/loader/pgsql2shp-core.c:2110,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/loader/pgsql2shp-core.c:2110,1
    - Dst: create_multipoint
      Src: /src/postgis/loader/pgsql2shp-core.c:2115,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/loader/pgsql2shp-core.c:2115,1
    - Dst: create_polygon
      Src: /src/postgis/loader/pgsql2shp-core.c:2119,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/loader/pgsql2shp-core.c:2119,1
    - Dst: create_multipolygon
      Src: /src/postgis/loader/pgsql2shp-core.c:2123,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/loader/pgsql2shp-core.c:2123,1
    - Dst: create_linestring
      Src: /src/postgis/loader/pgsql2shp-core.c:2127,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/loader/pgsql2shp-core.c:2127,1
    - Dst: create_multilinestring
      Src: /src/postgis/loader/pgsql2shp-core.c:2131,1
    - Dst: lwgeom_as_lwmline
      Src: /src/postgis/loader/pgsql2shp-core.c:2131,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:2135,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:2135,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2136,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2137,1
    - Dst: lwgeom_free
      Src: /src/postgis/loader/pgsql2shp-core.c:2142,1
    - Dst: SHPWriteObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2145,1
    - Dst: snprintf
      Src: /src/postgis/loader/pgsql2shp-core.c:2147,1
    - Dst: _
      Src: /src/postgis/loader/pgsql2shp-core.c:2147,1
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2148,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2149,1
    - Dst: SHPDestroyObject
      Src: /src/postgis/loader/pgsql2shp-core.c:2153,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2156,1
    - Dst: PQfreemem
      Src: /src/postgis/loader/pgsql2shp-core.c:2157,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 116
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 1962
    functionDepth: 8
    functionLinenumber: 1962
    functionLinenumberEnd: 2166
    functionName: ShpLoaderGenerateShapeRow
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - lwgeom_free
    - SHPCreateSimpleObject
    - lwgeom_as_lwpoint
    - convert_bytes_to_hex
    - PQclear
    - create_linestring
    - create_point
    - lwgeom_as_lwmpoint
    - lwgeom_as_lwline
    - PQfreemem
    - PQunescapeBytea
    - snprintf
    - create_polygon
    - create_multilinestring
    - PQgetisnull
    - lwgeom_as_lwpoly
    - strlen
    - DBFWriteAttributeDirectly
    - lwgeom_from_hexwkb
    - goodDBFValue
    - _
    - create_multipolygon
    - PQexec
    - malloc
    - create_point_empty
    - PQgetvalue
    - strncpy
    - lwgeom_as_lwmpoly
    - PQfnumber
    - PQgetlength
    - free
    - PQntuples
    - PQresultStatus
    - lwtype_name
    - LWDEBUGF
    - lwgeom_as_lwmline
    - LWDEBUG
    - lwgeom_is_empty
    - create_multipoint
    - SHPDestroyObject
    - nullDBFValue
    - PQresultErrorMessage
    - SHPWriteObject
    linkageType: ''
    returnType: int
    signature: int ShpLoaderGenerateShapeRow(SHPDUMPERSTATE *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2174
    functionName: ShpDumperGetRecordCount
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ShpDumperGetRecordCount(SHPDUMPERSTATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQclear
      Src: /src/postgis/loader/pgsql2shp-core.c:2184,1
    - Dst: projFileCreate
      Src: /src/postgis/loader/pgsql2shp-core.c:2188,1
    - Dst: DBFClose
      Src: /src/postgis/loader/pgsql2shp-core.c:2192,1
    - Dst: SHPClose
      Src: /src/postgis/loader/pgsql2shp-core.c:2194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2178
    functionDepth: 2
    functionLinenumber: 2178
    functionLinenumberEnd: 2197
    functionName: ShpDumperCloseTable
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - SHPClose
    - DBFClose
    - projFileCreate
    - PQclear
    linkageType: ''
    returnType: int
    signature: int ShpDumperCloseTable(SHPDUMPERSTATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQfinish
      Src: /src/postgis/loader/pgsql2shp-core.c:2210,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2213,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2214,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2220,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2221,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2224,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2225,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2226,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2227,1
    - Dst: colmap_clean
      Src: /src/postgis/loader/pgsql2shp-core.c:2230,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2233,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2234,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2235,1
    - Dst: free
      Src: /src/postgis/loader/pgsql2shp-core.c:2238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - state
    argTypes:
    - SHPDUMPERSTATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2240
    functionName: ShpDumperDestroy
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 2
    functionsReached:
    - PQfinish
    - free
    - colmap_clean
    linkageType: ''
    returnType: void
    signature: void ShpDumperDestroy(SHPDUMPERSTATE *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/loader/pgsql2shp-core.c:2250,1
    - Dst: strlen
      Src: /src/postgis/loader/pgsql2shp-core.c:2250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2265
    functionName: quote_identifier
    functionSourceFile: /src/postgis/loader/pgsql2shp-core.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      quote_identifier(const char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:29,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:32,1
    - Dst: CU_add_test
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:37,1
    - Dst: CU_add_test
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:38,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: register_pgsql2shp_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_pgsql2shp.c
    functionUses: 0
    functionsReached:
    - CU_cleanup_registry
    - CU_add_test
    - CU_add_suite
    linkageType: ''
    returnType: CU_pSuite
    signature: CU_pSuite register_pgsql2shp_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: init_pgsql2shp_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_pgsql2shp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_pgsql2shp_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: clean_pgsql2shp_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_pgsql2shp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clean_pgsql2shp_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:67,1
    - Dst: set_dumper_config_defaults
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:68,1
    - Dst: ShpDumperCreate
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:69,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:70,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_ShpDumperCreate
    functionSourceFile: /src/postgis/loader/cunit/cu_pgsql2shp.c
    functionUses: 0
    functionsReached:
    - set_dumper_config_defaults
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_EQUAL
    - ShpDumperCreate
    - calloc
    linkageType: ''
    returnType: void
    signature: void test_ShpDumperCreate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShpDumperDestroy
      Src: /src/postgis/loader/cunit/cu_pgsql2shp.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: test_ShpDumperDestroy
    functionSourceFile: /src/postgis/loader/cunit/cu_pgsql2shp.c
    functionUses: 0
    functionsReached:
    - ShpDumperDestroy
    linkageType: ''
    returnType: void
    signature: void test_ShpDumperDestroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:29,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:32,1
    - Dst: CU_add_test
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:37,1
    - Dst: CU_add_test
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:38,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: register_shp2pgsql_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_shp2pgsql.c
    functionUses: 0
    functionsReached:
    - CU_cleanup_registry
    - CU_add_test
    - CU_add_suite
    linkageType: ''
    returnType: CU_pSuite
    signature: CU_pSuite register_shp2pgsql_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: init_shp2pgsql_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_shp2pgsql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_shp2pgsql_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: clean_shp2pgsql_suite
    functionSourceFile: /src/postgis/loader/cunit/cu_shp2pgsql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clean_shp2pgsql_suite(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:67,1
    - Dst: set_loader_config_defaults
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:68,1
    - Dst: ShpLoaderCreate
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:69,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:70,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_ShpLoaderCreate
    functionSourceFile: /src/postgis/loader/cunit/cu_shp2pgsql.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - set_loader_config_defaults
    - ShpLoaderCreate
    - calloc
    linkageType: ''
    returnType: void
    signature: void test_ShpLoaderCreate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShpLoaderDestroy
      Src: /src/postgis/loader/cunit/cu_shp2pgsql.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: test_ShpLoaderDestroy
    functionSourceFile: /src/postgis/loader/cunit/cu_shp2pgsql.c
    functionUses: 0
    functionsReached:
    - ShpLoaderDestroy
    linkageType: ''
    returnType: void
    signature: void test_ShpLoaderDestroy(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_initialize_registry
      Src: /src/postgis/loader/cunit/cu_tester.c:27,1
    - Dst: CU_get_error
      Src: /src/postgis/loader/cunit/cu_tester.c:28,1
    - Dst: register_shp2pgsql_suite
      Src: /src/postgis/loader/cunit/cu_tester.c:31,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_tester.c:33,1
    - Dst: CU_get_error
      Src: /src/postgis/loader/cunit/cu_tester.c:34,1
    - Dst: register_pgsql2shp_suite
      Src: /src/postgis/loader/cunit/cu_tester.c:39,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_tester.c:41,1
    - Dst: CU_get_error
      Src: /src/postgis/loader/cunit/cu_tester.c:42,1
    - Dst: CU_basic_set_mode
      Src: /src/postgis/loader/cunit/cu_tester.c:47,1
    - Dst: CU_basic_run_tests
      Src: /src/postgis/loader/cunit/cu_tester.c:48,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/loader/cunit/cu_tester.c:49,1
    - Dst: CU_get_error
      Src: /src/postgis/loader/cunit/cu_tester.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/postgis/loader/cunit/cu_tester.c
    functionUses: 2
    functionsReached:
    - register_pgsql2shp_suite
    - CU_basic_run_tests
    - CU_basic_set_mode
    - CU_cleanup_registry
    - register_shp2pgsql_suite
    - CU_initialize_registry
    - CU_get_error
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: noticereporter
    functionSourceFile: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noticereporter(const char *, va_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: debuglogger
    functionSourceFile: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debuglogger(int, const char *, va_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:56,1
    - Dst: lwgeom_set_debuglogger
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_set_debuglogger
    - lwgeom_set_handlers
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int * /*argc*/, char *** /*argv*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char *>
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:67,1
    - Dst: malloc
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:67,1
    - Dst: memcpy
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:68,1
    - Dst: lwgeom_from_geojson
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:70,1
    - Dst: lwgeom_free
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:71,1
    - Dst: lwfree
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:72,1
    - Dst: free
      Src: /src/postgis/fuzzers/geojson_import_fuzzer.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_from_geojson
    - malloc
    - lwgeom_free
    - static_cast<char *>
    - free
    - lwfree
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:57,1
    - Dst: insert
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: allocator
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - insert
    - malloc
    linkageType: ''
    returnType: void
    signature: "void *\n    allocator(size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:65,1
    - Dst: free
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: freeor
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - free
    - erase
    linkageType: ''
    returnType: void
    signature: void freeor(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:72,1
    - Dst: realloc
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:73,1
    - Dst: insert
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: reallocator
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - insert
    - realloc
    - erase
    linkageType: ''
    returnType: void
    signature: "void *\n    reallocator(void *mem, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: noticereporter
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noticereporter(const char *, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:87,1
    - Dst: end
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:88,1
    - Dst: free
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:90,1
    - Dst: clear
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:92,1
    - Dst: longjmp
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: errorreporter
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - free
    - longjmp
    - clear
    linkageType: ''
    returnType: void
    signature: void errorreporter(const char *, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: debuglogger
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debuglogger(int, const char *, va_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:106,1
    - Dst: lwgeom_set_debuglogger
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_set_debuglogger
    - lwgeom_set_handlers
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int* /*argc*/, char*** /*argv*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:114,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:116,1
    - Dst: lwgeom_free
      Src: /src/postgis/fuzzers/wkb_import_fuzzer.cpp:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 7
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - setjmp
    - lwgeom_from_wkb
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:57,1
    - Dst: insert
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: allocator
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - insert
    - malloc
    linkageType: ''
    returnType: void
    signature: "void *\n    allocator(size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:65,1
    - Dst: free
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: freeor
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - free
    - erase
    linkageType: ''
    returnType: void
    signature: void freeor(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:72,1
    - Dst: realloc
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:73,1
    - Dst: insert
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: reallocator
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - insert
    - realloc
    - erase
    linkageType: ''
    returnType: void
    signature: "void *\n    reallocator(void *mem, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: noticereporter
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noticereporter(const char *, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:87,1
    - Dst: end
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:88,1
    - Dst: free
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:90,1
    - Dst: clear
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:92,1
    - Dst: longjmp
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: errorreporter
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - free
    - longjmp
    - clear
    linkageType: ''
    returnType: void
    signature: void errorreporter(const char *, va_list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: debuglogger
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debuglogger(int, const char *, va_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:106,1
    - Dst: lwgeom_set_debuglogger
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_set_debuglogger
    - lwgeom_set_handlers
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int* /*argc*/, char*** /*argv*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char*>
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:115,1
    - Dst: malloc
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:115,1
    - Dst: memcpy
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:116,1
    - Dst: setjmp
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:118,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:120,1
    - Dst: lwgeom_free
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:121,1
    - Dst: free
      Src: /src/postgis/fuzzers/wkt_import_fuzzer.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char*>
    - malloc
    - lwgeom_free
    - setjmp
    - free
    - lwgeom_from_wkt
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/postgis/fuzzers/fuzzingengine.c:37,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/postgis/fuzzers/fuzzingengine.c:40,1
    - Dst: fopen
      Src: /src/postgis/fuzzers/fuzzingengine.c:47,1
    - Dst: fprintf
      Src: /src/postgis/fuzzers/fuzzingengine.c:50,1
    - Dst: exit
      Src: /src/postgis/fuzzers/fuzzingengine.c:51,1
    - Dst: fseek
      Src: /src/postgis/fuzzers/fuzzingengine.c:53,1
    - Dst: ftell
      Src: /src/postgis/fuzzers/fuzzingengine.c:54,1
    - Dst: fseek
      Src: /src/postgis/fuzzers/fuzzingengine.c:55,1
    - Dst: malloc
      Src: /src/postgis/fuzzers/fuzzingengine.c:56,1
    - Dst: fprintf
      Src: /src/postgis/fuzzers/fuzzingengine.c:59,1
    - Dst: fclose
      Src: /src/postgis/fuzzers/fuzzingengine.c:60,1
    - Dst: exit
      Src: /src/postgis/fuzzers/fuzzingengine.c:61,1
    - Dst: fread
      Src: /src/postgis/fuzzers/fuzzingengine.c:63,1
    - Dst: fclose
      Src: /src/postgis/fuzzers/fuzzingengine.c:64,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/postgis/fuzzers/fuzzingengine.c:65,1
    - Dst: free
      Src: /src/postgis/fuzzers/fuzzingengine.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/postgis/fuzzers/fuzzingengine.c
    functionUses: 2
    functionsReached:
    - malloc
    - fseek
    - LLVMFuzzerTestOneInput
    - LLVMFuzzerInitialize
    - fprintf
    - free
    - fclose
    - exit
    - fopen
    - ftell
    - fread
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: geod_init
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: geod_inverse
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_inverse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geod_direct
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_direct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: geod_polygon_init
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_polygon_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: geod_polygon_addpoint
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_polygon_addpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/proj_stub.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/postgis/fuzzers/proj_stub.h
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: geod_polygon_compute
    functionSourceFile: /src/postgis/fuzzers/proj_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void geod_polygon_compute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: GEOSCoordSeq_destroy
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: GEOSClipByRect
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSClipByRect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: GEOSUnion
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: GEOSCoordSeq_getDimensions
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getDimensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: GEOSPreparedCovers
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPreparedCovers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: GEOSPreparedContains
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPreparedContains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: GEOSSymDifference
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSymDifference()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: GEOSUnionCascaded
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSUnionCascaded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: GEOSGetExteriorRing
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetExteriorRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: GEOSCoordSeq_setX
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_setX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: GEOSGeom_createLineString
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createLineString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: GEOSCoordSeq_getY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: GEOSEquals
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSEquals()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: GEOSRelatePatternMatch
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSRelatePatternMatch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: GEOSGeom_createCollection
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createCollection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: GEOSGeom_extractUniquePoints
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_extractUniquePoints()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: GEOSNormalize
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSNormalize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: GEOSVoronoiDiagram
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSVoronoiDiagram()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: GEOSArea
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSArea()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: GEOSLineMerge
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSLineMerge()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: GEOSGeom_createPolygon
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: GEOSGetCentroid
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetCentroid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: GEOSCoordSeq_create
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: GEOSFree
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSFree()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: initGEOS
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 32
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void initGEOS()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: GEOSIntersection
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSIntersection()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: GEOSEnvelope
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSEnvelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: GEOSGetGeometryN
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetGeometryN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: GEOSSTRtree_insert
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSTRtree_insert()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: GEOSGeomTypeId
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeomTypeId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: GEOSBoundary
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSBoundary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: GEOSversion
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSversion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: GEOSGetInteriorRingN
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetInteriorRingN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: GEOSCoordSeq_setY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_setY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: GEOSGetSRID
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetSRID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: GEOSGeom_destroy
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 21
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: GEOSGeom_createEmptyPolygon
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createEmptyPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: GEOSPolygonize
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPolygonize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: GEOSCoordSeq_getX
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getX()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: GEOSSharedPaths
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSharedPaths()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: GEOSSTRtree_create
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSTRtree_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: GEOSGeom_clone
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: GEOSRelateBoundaryNodeRule
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSRelateBoundaryNodeRule()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: GEOSSnap
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSnap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: GEOSRelatePattern
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSRelatePattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: GEOSSetSRID
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 21
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSetSRID()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: GEOSisValid
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSisValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: GEOSContains
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSContains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: GEOSPreparedGeom_destroy
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPreparedGeom_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: GEOSCoordSeq_setZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_setZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: GEOSOffsetCurve
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSOffsetCurve()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: GEOSUnaryUnion
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSUnaryUnion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: GEOSPrepare
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPrepare()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: GEOSCoordSeq_getSize
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: GEOSGetNumInteriorRings
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetNumInteriorRings()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: GEOSGetNumGeometries
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGetNumGeometries()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: GEOSisSimple
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSisSimple()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: GEOSDifference
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSDifference()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: GEOSPreparedIntersects
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPreparedIntersects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: GEOSisEmpty
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSisEmpty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: GEOSPointOnSurface
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSPointOnSurface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: GEOSSTRtree_query
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSTRtree_query()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: GEOSGeom_createPoint
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: GEOSSTRtree_destroy
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSSTRtree_destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: GEOSIntersects
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSIntersects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: GEOSHasZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSHasZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: GEOSGeom_getCoordSeq
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_getCoordSeq()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: GEOSCoordSeq_getZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: GEOSGeom_createLinearRing
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createLinearRing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: GEOSGeomType
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeomType()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: GEOSDelaunayTriangulation
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSDelaunayTriangulation()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: GEOSNode
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: GEOSGeom_createEmptyPoint
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createEmptyPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: GEOSCoordSeq_setXY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_setXY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: GEOSCoordSeq_getXY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getXY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: GEOSCoordSeq_setXYZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_setXYZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: GEOSCoordSeq_getXYZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSCoordSeq_getXYZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: GEOSGeom_getXY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_getXY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: GEOSBuildArea
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSBuildArea()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: GEOSMakeValid
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSMakeValid()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: GEOSGeom_getXYZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_getXYZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: GEOSGeom_setXY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_setXY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: GEOSGeom_setXYZ
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_setXYZ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/fuzzers/geos_stub.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/postgis/fuzzers/geos_stub.h
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: GEOSGeom_createPointFromXY
    functionSourceFile: /src/postgis/fuzzers/geos_stub.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void GEOSGeom_createPointFromXY()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PQfinish
      Src: /src/postgis/extras/wkb_reader/readwkb.c:23,1
    - Dst: exit
      Src: /src/postgis/extras/wkb_reader/readwkb.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - PGconn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: exit_nicely
    functionSourceFile: /src/postgis/extras/wkb_reader/readwkb.c
    functionUses: 0
    functionsReached:
    - PQfinish
    - exit
    linkageType: ''
    returnType: void
    signature: void exit_nicely(PGconn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - numb
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: dump_bytes
    functionSourceFile: /src/postgis/extras/wkb_reader/readwkb.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_bytes( char *a, int numb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PQstatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:47,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:49,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:50,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:53,1
    - Dst: PQresultStatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:55,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:57,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:58,1
    - Dst: PQntuples
      Src: /src/postgis/extras/wkb_reader/readwkb.c:61,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:63,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:64,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:67,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:69,1
    - Dst: atoi
      Src: /src/postgis/extras/wkb_reader/readwkb.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - PGconn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: find_WKB_typeid
    functionSourceFile: /src/postgis/extras/wkb_reader/readwkb.c
    functionUses: 0
    functionsReached:
    - PQexec
    - PQgetvalue
    - PQstatus
    - atoi
    - exit_nicely
    - fprintf
    - PQntuples
    - PQresultStatus
    - PQclear
    linkageType: ''
    returnType: int
    signature: "int find_WKB_typeid(PGconn \t*conn)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PQconnectdb
      Src: /src/postgis/extras/wkb_reader/readwkb.c:103,1
    - Dst: PQstatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:108,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:110,1
    - Dst: PQerrorMessage
      Src: /src/postgis/extras/wkb_reader/readwkb.c:110,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:111,1
    - Dst: find_WKB_typeid
      Src: /src/postgis/extras/wkb_reader/readwkb.c:115,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:119,1
    - Dst: PQresultStatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:120,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:122,1
    - Dst: PQerrorMessage
      Src: /src/postgis/extras/wkb_reader/readwkb.c:122,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:123,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:124,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:131,1
    - Dst: snprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:137,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:139,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:140,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:142,1
    - Dst: PQresultStatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:144,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:146,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:147,1
    - Dst: PQerrorMessage
      Src: /src/postgis/extras/wkb_reader/readwkb.c:147,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:148,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:149,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:151,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:153,1
    - Dst: PQresultStatus
      Src: /src/postgis/extras/wkb_reader/readwkb.c:154,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:156,1
    - Dst: fprintf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:157,1
    - Dst: PQerrorMessage
      Src: /src/postgis/extras/wkb_reader/readwkb.c:157,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:158,1
    - Dst: exit_nicely
      Src: /src/postgis/extras/wkb_reader/readwkb.c:159,1
    - Dst: PQntuples
      Src: /src/postgis/extras/wkb_reader/readwkb.c:162,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:164,1
    - Dst: PQnfields
      Src: /src/postgis/extras/wkb_reader/readwkb.c:166,1
    - Dst: PQftype
      Src: /src/postgis/extras/wkb_reader/readwkb.c:168,1
    - Dst: PQfname
      Src: /src/postgis/extras/wkb_reader/readwkb.c:169,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:175,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:177,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:179,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:183,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:184,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:188,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:189,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:193,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:194,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:198,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:199,1
    - Dst: PQgetvalue
      Src: /src/postgis/extras/wkb_reader/readwkb.c:203,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:204,1
    - Dst: decode_wkb
      Src: /src/postgis/extras/wkb_reader/readwkb.c:206,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/readwkb.c:207,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:213,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:216,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:217,1
    - Dst: PQexec
      Src: /src/postgis/extras/wkb_reader/readwkb.c:220,1
    - Dst: PQclear
      Src: /src/postgis/extras/wkb_reader/readwkb.c:221,1
    - Dst: PQfinish
      Src: /src/postgis/extras/wkb_reader/readwkb.c:224,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/postgis/extras/wkb_reader/readwkb.c
    functionUses: 2
    functionsReached:
    - PQexec
    - PQconnectdb
    - PQgetvalue
    - PQerrorMessage
    - PQstatus
    - snprintf
    - PQfname
    - exit_nicely
    - printf
    - PQftype
    - decode_wkb
    - find_WKB_typeid
    - fprintf
    - PQntuples
    - PQresultStatus
    - PQclear
    - PQfinish
    - PQnfields
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: swap_char
    functionSourceFile: /src/postgis/extras/wkb_reader/printwkb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void swap_char(char\t*a,char *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:41,1
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:42,1
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:43,1
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: flip_endian_double
    functionSourceFile: /src/postgis/extras/wkb_reader/printwkb.c
    functionUses: 0
    functionsReached:
    - swap_char
    linkageType: ''
    returnType: void
    signature: "void flip_endian_double(char \t*d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:49,1
    - Dst: swap_char
      Src: /src/postgis/extras/wkb_reader/printwkb.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: flip_endian_int32
    functionSourceFile: /src/postgis/extras/wkb_reader/printwkb.c
    functionUses: 0
    functionsReached:
    - swap_char
    linkageType: ''
    returnType: void
    signature: "void flip_endian_int32(char\t\t*i)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:77,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:79,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:81,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:91,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:94,1
    - Dst: decode_wkb
      Src: /src/postgis/extras/wkb_reader/printwkb.c:95,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - wkb
    - size
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: decode_wkb_collection
    functionSourceFile: /src/postgis/extras/wkb_reader/printwkb.c
    functionUses: 0
    functionsReached:
    - flip_endian_int32
    - printf
    - memcpy
    - decode_wkb
    linkageType: ''
    returnType: void
    signature: "void decode_wkb_collection(char *wkb,int\t*size)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:122,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:142,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:146,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:148,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:150,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:160,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:164,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:167,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:168,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:169,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:172,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:173,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:174,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:176,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:180,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:181,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:184,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:185,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:187,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:189,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:199,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:200,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:202,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:213,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:217,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:218,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:219,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:222,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:223,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:224,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:226,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:230,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:231,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:234,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:235,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:237,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:242,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:252,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:253,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:255,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:262,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:264,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:274,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:276,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:287,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:291,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:292,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:293,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:296,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:297,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:298,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:300,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:305,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:306,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:309,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:310,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:312,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:326,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:329,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:336,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:337,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:339,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:354,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:358,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:359,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:360,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:363,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:364,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:365,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:367,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:371,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:372,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:375,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:376,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:378,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:381,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:387,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:388,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:390,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:403,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:405,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:406,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:408,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:419,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:424,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:425,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:426,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:429,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:430,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:431,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:433,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:437,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:438,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:441,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:442,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:444,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:447,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:459,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:466,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:467,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:469,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:482,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:484,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:487,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:490,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:502,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:504,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:505,1
    - Dst: flip_endian_int32
      Src: /src/postgis/extras/wkb_reader/printwkb.c:507,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:519,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:523,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:524,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:525,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:528,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:529,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:530,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:532,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:536,1
    - Dst: memcpy
      Src: /src/postgis/extras/wkb_reader/printwkb.c:537,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:540,1
    - Dst: flip_endian_double
      Src: /src/postgis/extras/wkb_reader/printwkb.c:541,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:543,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:556,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:558,1
    - Dst: printf
      Src: /src/postgis/extras/wkb_reader/printwkb.c:564,1
    - Dst: decode_wkb_collection
      Src: /src/postgis/extras/wkb_reader/printwkb.c:569,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 322
    argCount: 2
    argNames:
    - wkb
    - size
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 575
    functionName: decode_wkb
    functionSourceFile: /src/postgis/extras/wkb_reader/printwkb.c
    functionUses: 2
    functionsReached:
    - flip_endian_double
    - flip_endian_int32
    - decode_wkb_collection
    - printf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void decode_wkb(char *wkb, int *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/libpgcommon/shared_gserialized.c:30,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/libpgcommon/shared_gserialized.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: shared_gserialized_new_nocache
    functionSourceFile: /src/postgis/libpgcommon/shared_gserialized.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_DETOAST_DATUM
    linkageType: ''
    returnType: SHARED_GSERIALIZED
    signature: 'SHARED_GSERIALIZED *

      shared_gserialized_new_nocache(Datum d)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryContextAlloc
      Src: /src/postgis/libpgcommon/shared_gserialized.c:39,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/shared_gserialized.c:39,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/shared_gserialized.c:40,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/shared_gserialized.c:40,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/libpgcommon/shared_gserialized.c:41,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/shared_gserialized.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fcinfo
    - d
    argTypes:
    - FunctionCallInfo
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: shared_gserialized_new_cached
    functionSourceFile: /src/postgis/libpgcommon/shared_gserialized.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - MemoryContextAlloc
    - PostgisCacheContext
    - PG_DETOAST_DATUM_COPY
    linkageType: ''
    returnType: SHARED_GSERIALIZED
    signature: 'SHARED_GSERIALIZED *

      shared_gserialized_new_cached(FunctionCallInfo fcinfo, Datum d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VARSIZE
      Src: /src/postgis/libpgcommon/shared_gserialized.c:99,1
    - Dst: VARSIZE
      Src: /src/postgis/libpgcommon/shared_gserialized.c:99,1
    - Dst: memcmp
      Src: /src/postgis/libpgcommon/shared_gserialized.c:101,1
    - Dst: VARSIZE
      Src: /src/postgis/libpgcommon/shared_gserialized.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: shared_gserialized_equal
    functionSourceFile: /src/postgis/libpgcommon/shared_gserialized.c
    functionUses: 0
    functionsReached:
    - VARSIZE
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool shared_gserialized_equal(SHARED_GSERIALIZED *r1, SHARED_GSERIALIZED
      *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: shared_gserialized_get
    functionSourceFile: /src/postgis/libpgcommon/shared_gserialized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GSERIALIZED
    signature: 'GSERIALIZED *

      shared_gserialized_get(SHARED_GSERIALIZED *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSysCacheOid2
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:57,1
    - Dst: PointerGetDatum
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:59,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - typname
    - nsp_oid
    argTypes:
    - char*
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: TypenameNspGetTypid
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - GetSysCacheOid2
    - ObjectIdGetDatum
    - PointerGetDatum
    linkageType: ''
    returnType: Oid
    signature: Oid TypenameNspGetTypid(const char *typname, Oid nsp_oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: table_open
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:76,1
    - Dst: ScanKeyInit
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:77,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:80,1
    - Dst: systable_beginscan
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:82,1
    - Dst: systable_getnext
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:85,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:88,1
    - Dst: GETSTRUCT
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:89,1
    - Dst: systable_endscan
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:93,1
    - Dst: table_close
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ext_oid
    argTypes:
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: postgis_get_extension_schema
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - ScanKeyInit
    - systable_endscan
    - systable_getnext
    - ObjectIdGetDatum
    - HeapTupleIsValid
    - GETSTRUCT
    - systable_beginscan
    - table_close
    - table_open
    linkageType: ''
    returnType: Oid
    signature: Oid postgis_get_extension_schema(Oid ext_oid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SPI_connect
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:109,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:111,1
    - Dst: SPI_execute
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:116,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:119,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:120,1
    - Dst: atoi
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:136,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:136,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:138,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:139,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:143,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 149
    functionName: postgis_get_full_version_schema
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - SPI_execute
    - elog
    - SPI_getvalue
    - SPI_connect
    - atoi
    - SPI_freetuptable
    linkageType: ''
    returnType: Oid
    signature: Oid postgis_get_full_version_schema()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_extension_oid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:157,1
    - Dst: postgis_get_extension_schema
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:160,1
    - Dst: postgis_get_full_version_schema
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:164,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:169,1
    - Dst: AllocSetContextCreate
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:172,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:178,1
    - Dst: get_namespace_name
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:181,1
    - Dst: MemoryContextStrdup
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:183,1
    - Dst: quote_qualified_identifier
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:185,1
    - Dst: MemoryContextStrdup
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:186,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:187,1
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:188,1
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:189,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:192,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:193,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:194,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:195,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:196,1
    - Dst: TypenameNspGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 201
    functionName: getPostgisConstants
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - quote_qualified_identifier
    - MemoryContextStrdup
    - TypenameNspGetTypid
    - elog
    - postgis_get_full_version_schema
    - MemoryContextAlloc
    - pfree
    - get_extension_oid
    - get_namespace_name
    - postgis_get_extension_schema
    - AllocSetContextCreate
    linkageType: ''
    returnType: postgisConstants
    signature: 'postgisConstants *

      getPostgisConstants()'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:237,1
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:239,1
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:241,1
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:243,1
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:245,1
    - Dst: TypenameGetTypid
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - typ
    argTypes:
    - postgisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 252
    functionName: postgis_oid
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - TypenameGetTypid
    linkageType: ''
    returnType: Oid
    signature: Oid postgis_oid(postgisType typ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPostgisConstants
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: postgis_initialize_cache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - getPostgisConstants
    linkageType: ''
    returnType: void
    signature: void postgis_initialize_cache()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: postgis_spatial_ref_sys
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      postgis_spatial_ref_sys()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwmessage_truncate
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:290,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:294,1
    - Dst: errmsg
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:295,1
    - Dst: errhint
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:296,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:301,1
    - Dst: errmsg
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:302,1
    - Dst: errhint
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lwg_parser_result
    argTypes:
    - LWGEOM_PARSER_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 306
    functionName: pg_parser_errhint
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - ereport
    - errhint
    - lwmessage_truncate
    - errmsg
    linkageType: ''
    returnType: void
    signature: void pg_parser_errhint(LWGEOM_PARSER_RESULT *lwg_parser_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lwg_unparser_result
    argTypes:
    - LWGEOM_UNPARSER_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: pg_unparser_errhint
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void pg_unparser_errhint(LWGEOM_UNPARSER_RESULT *lwg_unparser_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FOR_INTERRUPTS
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:320,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:322,1
    - Dst: palloc
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:324,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: pg_alloc
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - palloc
    - CHECK_FOR_INTERRUPTS
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: 'void *

      pg_alloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_FOR_INTERRUPTS
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:336,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:338,1
    - Dst: repalloc
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:340,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: pg_realloc
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - CHECK_FOR_INTERRUPTS
    - repalloc
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: 'void *

      pg_realloc(void *mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: pg_free
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: void
    signature: void pg_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:360,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:363,1
    - Dst: errmsg_internal
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: pg_error
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void pg_error(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:373,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:376,1
    - Dst: errmsg_internal
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: pg_warning
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void pg_warning(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:386,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:389,1
    - Dst: errmsg_internal
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 390
    functionName: pg_notice
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void pg_notice(const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:398,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:403,1
    - Dst: errmsg_internal
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:403,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:405,1
    - Dst: errmsg_internal
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 406
    functionName: pg_debug
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void pg_debug(int level, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:412,1
    - Dst: lwgeom_set_debuglogger
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: pg_install_lwgeom_handlers
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 2
    functionsReached:
    - lwgeom_set_debuglogger
    - lwgeom_set_handlers
    linkageType: ''
    returnType: void
    signature: void pg_install_lwgeom_handlers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:429,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:431,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 6
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: geography_serialize
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - lwgeom_set_geodetic
    - SET_VARSIZE
    - gserialized_from_lwgeom
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * geography_serialize(LWGEOM *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:446,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 6
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: geometry_serialize
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 6
    functionsReached:
    - SET_VARSIZE
    - gserialized_from_lwgeom
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:456,1
    - Dst: pg_notice
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:458,1
    - Dst: va_end
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 461
    functionName: lwpgnotice
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - pg_notice
    linkageType: ''
    returnType: void
    signature: void lwpgnotice(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:468,1
    - Dst: pg_warning
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:470,1
    - Dst: va_end
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: lwpgwarning
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 3
    functionsReached:
    - pg_warning
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void lwpgwarning(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:480,1
    - Dst: pg_error
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:482,1
    - Dst: va_end
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: lwpgerror
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 53
    functionsReached:
    - va_end
    - pg_error
    - va_start
    linkageType: ''
    returnType: void
    signature: void lwpgerror(const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - namea
    - nameb
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: postgis_guc_name_compare
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int postgis_guc_name_compare(const char *namea, const char *nameb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: postgis_guc_name_compare
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: postgis_guc_var_compare
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - postgis_guc_name_compare
    linkageType: ''
    returnType: int
    signature: int postgis_guc_var_compare(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_option
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:548,1
    - Dst: bsearch
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:550,1
    - Dst: get_guc_variables
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:551,1
    - Dst: GetNumConfigOptions
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 566
    functionName: postgis_guc_find_option
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - bsearch
    - find_option
    - GetNumConfigOptions
    - get_guc_variables
    linkageType: ''
    returnType: int
    signature: int postgis_guc_find_option(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:573,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:576,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_pg.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - func
    - flinfo
    - collation
    - arg1
    - arg2
    - arg3
    argTypes:
    - PGFunction
    - FmgrInfo*
    - Oid
    - Datum
    - Datum
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 592
    functionName: CallerFInfoFunctionCall3
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.c
    functionUses: 0
    functionsReached:
    - elog
    - InitFunctionCallInfoData
    - LOCAL_FCINFO
    linkageType: ''
    returnType: Datum
    signature: Datum CallerFInfoFunctionCall3(PGFunction func, FmgrInfo *flinfo, Oid
      collation, Datum arg1, Datum arg2, Datum arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: FLAGS_NDIMS_GIDX
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAGS_NDIMS_GIDX(f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pstrdup
      Src: /src/postgis/libpgcommon/gserialized_gist.c:40,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/libpgcommon/gserialized_gist.c:42,1
    - Dst: lwprint_double
      Src: /src/postgis/libpgcommon/gserialized_gist.c:47,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:47,1
    - Dst: lwprint_double
      Src: /src/postgis/libpgcommon/gserialized_gist.c:54,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:54,1
    - Dst: pstrdup
      Src: /src/postgis/libpgcommon/gserialized_gist.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: gidx_to_string
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - pstrdup
    - GIDX_NDIMS
    - lwprint_double
    - GIDX_GET_MIN
    linkageType: ''
    returnType: char
    signature: char * gidx_to_string(GIDX *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GIDX_SIZE
      Src: /src/postgis/libpgcommon/gserialized_gist.c:65,1
    - Dst: palloc
      Src: /src/postgis/libpgcommon/gserialized_gist.c:66,1
    - Dst: Assert
      Src: /src/postgis/libpgcommon/gserialized_gist.c:67,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/gserialized_gist.c:68,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/libpgcommon/gserialized_gist.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ndims
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: gidx_new
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached:
    - palloc
    - GIDX_SIZE
    - POSTGIS_DEBUGF
    - SET_VARSIZE
    - Assert
    linkageType: ''
    returnType: GIDX
    signature: GIDX * gidx_new(int ndims)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_NDIMS_GIDX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:80,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/libpgcommon/gserialized_gist.c:81,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:83,1
    - Dst: next_float_down
      Src: /src/postgis/libpgcommon/gserialized_gist.c:83,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:84,1
    - Dst: next_float_up
      Src: /src/postgis/libpgcommon/gserialized_gist.c:84,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:85,1
    - Dst: next_float_down
      Src: /src/postgis/libpgcommon/gserialized_gist.c:85,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:86,1
    - Dst: next_float_up
      Src: /src/postgis/libpgcommon/gserialized_gist.c:86,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/libpgcommon/gserialized_gist.c:89,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:91,1
    - Dst: next_float_down
      Src: /src/postgis/libpgcommon/gserialized_gist.c:91,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:92,1
    - Dst: next_float_up
      Src: /src/postgis/libpgcommon/gserialized_gist.c:92,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/libpgcommon/gserialized_gist.c:97,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:99,1
    - Dst: next_float_down
      Src: /src/postgis/libpgcommon/gserialized_gist.c:99,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:100,1
    - Dst: next_float_up
      Src: /src/postgis/libpgcommon/gserialized_gist.c:100,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/libpgcommon/gserialized_gist.c:103,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/libpgcommon/gserialized_gist.c:105,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:107,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:108,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:110,1
    - Dst: next_float_down
      Src: /src/postgis/libpgcommon/gserialized_gist.c:110,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:111,1
    - Dst: next_float_up
      Src: /src/postgis/libpgcommon/gserialized_gist.c:111,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/gserialized_gist.c:115,1
    - Dst: gbox_to_string
      Src: /src/postgis/libpgcommon/gserialized_gist.c:115,1
    - Dst: gidx_to_string
      Src: /src/postgis/libpgcommon/gserialized_gist.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - box
    - a
    argTypes:
    - GBOX
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 118
    functionName: gidx_from_gbox_p
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached:
    - FLAGS_NDIMS_GIDX
    - GIDX_SET_MAX
    - POSTGIS_DEBUGF
    - next_float_down
    - GIDX_SET_MIN
    - next_float_up
    - FLAGS_GET_M
    - gidx_to_string
    - gbox_to_string
    - SET_VARSIZE
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gidx_from_gbox_p(GBOX box, GIDX *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:123,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:124,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:126,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:127,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/libpgcommon/gserialized_gist.c:129,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:130,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:131,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/libpgcommon/gserialized_gist.c:134,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:135,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - a
    - gbox
    - flags
    argTypes:
    - GIDX*
    - GBOX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: gbox_from_gidx
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - GIDX_GET_MIN
    linkageType: ''
    returnType: void
    signature: void gbox_from_gidx(GIDX *a, GBOX *gbox, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GSERIALIZED_DATUM_NEEDS_DETOAST
      Src: /src/postgis/libpgcommon/gserialized_gist.c:151,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/libpgcommon/gserialized_gist.c:154,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/libpgcommon/gserialized_gist.c:154,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/libpgcommon/gserialized_gist.c:162,1
    - Dst: gserialized_get_lwflags
      Src: /src/postgis/libpgcommon/gserialized_gist.c:165,1
    - Dst: gbox_serialized_size
      Src: /src/postgis/libpgcommon/gserialized_gist.c:166,1
    - Dst: gserialized_get_float_box_p
      Src: /src/postgis/libpgcommon/gserialized_gist.c:168,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:172,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:173,1
    - Dst: gserialized_has_m
      Src: /src/postgis/libpgcommon/gserialized_gist.c:176,1
    - Dst: gserialized_has_z
      Src: /src/postgis/libpgcommon/gserialized_gist.c:176,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:179,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:179,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:180,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:180,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/libpgcommon/gserialized_gist.c:181,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/libpgcommon/gserialized_gist.c:182,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/libpgcommon/gserialized_gist.c:184,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/libpgcommon/gserialized_gist.c:191,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/libpgcommon/gserialized_gist.c:191,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/libpgcommon/gserialized_gist.c:194,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/libpgcommon/gserialized_gist.c:195,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/libpgcommon/gserialized_gist.c:198,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/libpgcommon/gserialized_gist.c:199,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/libpgcommon/gserialized_gist.c:201,1
    - Dst: lwgeom_free
      Src: /src/postgis/libpgcommon/gserialized_gist.c:202,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/libpgcommon/gserialized_gist.c:203,1
    - Dst: lwgeom_free
      Src: /src/postgis/libpgcommon/gserialized_gist.c:206,1
    - Dst: gidx_from_gbox_p
      Src: /src/postgis/libpgcommon/gserialized_gist.c:207,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/libpgcommon/gserialized_gist.c:209,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/gserialized_gist.c:210,1
    - Dst: gidx_to_string
      Src: /src/postgis/libpgcommon/gserialized_gist.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - gsdatum
    - gidx
    argTypes:
    - Datum
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 212
    functionName: gserialized_datum_get_gidx_p
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.c
    functionUses: 0
    functionsReached:
    - gserialized_get_lwflags
    - gserialized_max_header_size
    - lwgeom_free
    - gidx_from_gbox_p
    - GIDX_SET_MIN
    - gidx_to_string
    - LWSIZE_GET
    - gserialized_get_float_box_p
    - gbox_serialized_size
    - gserialized_has_bbox
    - PG_DETOAST_DATUM_SLICE
    - gserialized_has_z
    - GIDX_SET_MAX
    - POSTGIS_DEBUGF
    - gserialized_has_m
    - GIDX_GET_MIN
    - GIDX_GET_MAX
    - PG_DETOAST_DATUM
    - POSTGIS_FREE_IF_COPY_P
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - POSTGIS_DEBUG
    - PG_GSERIALIZED_DATUM_NEEDS_DETOAST
    - SET_VARSIZE
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_get_gidx_p(Datum gsdatum, GIDX *gidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proj_destroy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - projection
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: PROJSRSDestroyPJ
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - proj_destroy
    linkageType: ''
    returnType: void
    signature: void PROJSRSDestroyPJ(void *projection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROJSRSDestroyPJ
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - portalCache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: PROJSRSDestroyPortalCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - PROJSRSDestroyPJ
    linkageType: ''
    returnType: void
    signature: void PROJSRSDestroyPortalCache(void *portalCache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocSetContextCreate
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:105,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:111,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:114,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:120,1
    - Dst: MemoryContextRegisterResetCallback
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: GetPROJSRSCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - MemoryContextRegisterResetCallback
    - MemoryContextAllocZero
    - elog
    - MemoryContextAlloc
    - AllocSetContextCreate
    linkageType: ''
    returnType: PROJSRSCache
    signature: 'PROJSRSCache *

      GetPROJSRSCache()'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - cache
    - srid_from
    - srid_to
    argTypes:
    - PROJSRSCache*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: GetProjectionFromPROJCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LWPROJ
    signature: 'LWPROJ *

      GetProjectionFromPROJCache(PROJSRSCache *cache, int32_t srid_from, int32_t srid_to)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPI_palloc
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:158,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:158,1
    - Dst: strcpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: SPI_pstrdup
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - strcpy
    - SPI_palloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      SPI_pstrdup(const char* str)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:170,1
    - Dst: SPI_connect
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:173,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:176,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:184,1
    - Dst: postgis_spatial_ref_sys
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:184,1
    - Dst: SPI_execute
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:187,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:197,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:198,1
    - Dst: SPI_pstrdup
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:199,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:204,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:205,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:207,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:207,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:210,1
    - Dst: SPI_pstrdup
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:211,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:215,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:216,1
    - Dst: SPI_pstrdup
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:217,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:221,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:224,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:227,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 231
    functionName: GetProjStringsSPI
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - SPI_pstrdup
    - memset
    - SPI_finish
    - snprintf
    - SPI_execute
    - elog
    - postgis_spatial_ref_sys
    - SPI_getvalue
    - SPI_connect
    - strlen
    linkageType: ''
    returnType: PjStrs
    signature: PjStrs GetProjStringsSPI(int32_t srid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:246,1
    - Dst: GetProjStringsSPI
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:251,1
    - Dst: palloc
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:256,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:261,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:266,1
    - Dst: lwerror
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:289,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:291,1
    - Dst: strncpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:296,1
    - Dst: strncpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:301,1
    - Dst: strncpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:306,1
    - Dst: strncpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:311,1
    - Dst: strncpy
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:316,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:320,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:324,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 327
    functionName: GetProjStrings
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    - strncpy
    - snprintf
    - lwerror
    - POSTGIS_DEBUGF
    - elog
    - GetProjStringsSPI
    linkageType: ''
    returnType: PjStrs
    signature: PjStrs GetProjStrings(int32_t srid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:332,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:333,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - strs
    argTypes:
    - PjStrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: pjstrs_has_entry
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int pjstrs_has_entry(const PjStrs *strs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:344,1
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:346,1
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - strs
    argTypes:
    - PjStrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: pjstrs_pfree
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: void
    signature: void pjstrs_pfree(PjStrs *strs)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - strs
    - n
    argTypes:
    - PjStrs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: pgstrs_get_entry
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pgstrs_get_entry(const PjStrs *strs, int n)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetProjStrings
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:384,1
    - Dst: pjstrs_has_entry
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:385,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:386,1
    - Dst: GetProjStrings
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:387,1
    - Dst: pjstrs_has_entry
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:388,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:389,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:391,1
    - Dst: pgstrs_get_entry
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:402,1
    - Dst: pgstrs_get_entry
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:403,1
    - Dst: lwproj_from_str
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:407,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:413,1
    - Dst: DeleteFromPROJSRSCache
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:432,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:444,1
    - Dst: pjstrs_pfree
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:453,1
    - Dst: pjstrs_pfree
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:454,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - PROJCache
    - srid_from
    - srid_to
    argTypes:
    - PROJSRSCache*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 464
    functionName: AddToPROJSRSCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - GetProjStrings
    - pjstrs_has_entry
    - DeleteFromPROJSRSCache
    - POSTGIS_DEBUGF
    - pjstrs_pfree
    - elog
    - lwproj_from_str
    - pgstrs_get_entry
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: LWPROJ
    signature: 'LWPROJ *

      AddToPROJSRSCache(PROJSRSCache *PROJCache, int32_t srid_from, int32_t srid_to)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:469,1
    - Dst: PROJSRSDestroyPJ
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - PROJCache
    - position
    argTypes:
    - PROJSRSCache*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 482
    functionName: DeleteFromPROJSRSCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 1
    functionsReached:
    - PROJSRSDestroyPJ
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void DeleteFromPROJSRSCache(PROJSRSCache *PROJCache, uint32_t position)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPROJSRSCache
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:489,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:493,1
    - Dst: GetProjectionFromPROJCache
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:495,1
    - Dst: AddToPROJSRSCache
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - srid_from
    - srid_to
    - pj
    argTypes:
    - int32_t
    - int32_t
    - LWPROJ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: lwproj_lookup
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - GetPROJSRSCache
    - AddToPROJSRSCache
    - GetProjectionFromPROJCache
    - postgis_initialize_cache
    linkageType: ''
    returnType: int
    signature: int lwproj_lookup(int32_t srid_from, int32_t srid_to, LWPROJ **pj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pj
    argTypes:
    - LWPROJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: lwproj_is_latlong
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwproj_is_latlong(const LWPROJ *pj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwproj_lookup
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:514,1
    - Dst: lwproj_is_latlong
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 5
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: srid_is_latlong
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - lwproj_is_latlong
    - lwproj_lookup
    linkageType: ''
    returnType: int
    signature: int srid_is_latlong(int32_t srid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srid_is_latlong
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:525,1
    - Dst: ereport
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:528,1
    - Dst: errcode
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:529,1
    - Dst: errmsg
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 6
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: srid_check_latlong
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - errmsg
    - ereport
    - errcode
    - srid_is_latlong
    linkageType: ''
    returnType: void
    signature: void srid_check_latlong(int32_t srid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srid_is_latlong
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - srid
    - precision
    argTypes:
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: srid_axis_precision
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - srid_is_latlong
    linkageType: ''
    returnType: srs_precision
    signature: srs_precision srid_axis_precision(int32_t srid, int precision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwproj_lookup
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:558,1
    - Dst: spheroid_init
      Src: /src/postgis/libpgcommon/lwgeom_transform.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - srid
    - s
    argTypes:
    - int32_t
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: spheroid_init_from_srid
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - spheroid_init
    - lwproj_lookup
    linkageType: ''
    returnType: int
    signature: int spheroid_init_from_srid(int32_t srid, SPHEROID *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: PostgisCacheContext
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 1
    functionsReached:
    - elog
    linkageType: ''
    returnType: MemoryContext
    signature: MemoryContext PostgisCacheContext(FunctionCallInfo fcinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:77,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:83,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: GetGenericCacheCollection
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - MemoryContextAllocZero
    - PostgisCacheContext
    - elog
    linkageType: ''
    returnType: GenericCacheCollection
    signature: 'GenericCacheCollection *

      GetGenericCacheCollection(FunctionCallInfo fcinfo)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetGenericCacheCollection
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:106,1
    - Dst: Assert
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:109,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:114,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:114,1
    - Dst: GeomCacheMethods*::GeomCacheAllocator
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:116,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:117,1
    - Dst: shared_gserialized_equal
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:124,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:127,1
    - Dst: shared_gserialized_equal
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:130,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:133,1
    - Dst: GeomCacheMethods*::GeomIndexFreer
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:141,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:154,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:154,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:155,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:159,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:161,1
    - Dst: GeomCacheMethods*::GeomIndexBuilder
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:164,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:165,1
    - Dst: shared_gserialized_unref
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:183,1
    - Dst: shared_gserialized_ref
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:184,1
    - Dst: shared_gserialized_unref
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:191,1
    - Dst: shared_gserialized_ref
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:192,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 4
    argNames:
    - fcinfo
    - cache_methods
    - g1
    - g2
    argTypes:
    - FunctionCallInfo
    - GeomCacheMethods*
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 196
    functionName: GetGeomCache
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - GeomCacheMethods*::GeomIndexFreer
    - lwgeom_from_gserialized
    - PostgisCacheContext
    - shared_gserialized_equal
    - lwgeom_is_empty
    - shared_gserialized_unref
    - GeomCacheMethods*::GeomCacheAllocator
    - shared_gserialized_get
    - shared_gserialized_ref
    - GetGenericCacheCollection
    - MemoryContextSwitchTo
    - GeomCacheMethods*::GeomIndexBuilder
    - Assert
    linkageType: ''
    returnType: GeomCache
    signature: "GeomCache *\nGetGeomCache(FunctionCallInfo fcinfo,\n\t     const GeomCacheMethods
      *cache_methods,\n\t     SHARED_GSERIALIZED *g1,\n\t     SHARED_GSERIALIZED *g2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetGenericCacheCollection
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:204,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:208,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: ToastCacheGet
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - MemoryContextAllocZero
    - PostgisCacheContext
    - GetGenericCacheCollection
    linkageType: ''
    returnType: ToastCache
    signature: 'ToastCache *

      ToastCacheGet(FunctionCallInfo fcinfo)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:218,1
    - Dst: ToastCacheGet
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:219,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:222,1
    - Dst: DatumGetPointer
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:223,1
    - Dst: VARATT_IS_EXTERNAL_ONDISK
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:235,1
    - Dst: shared_gserialized_new_nocache
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:236,1
    - Dst: VARATT_EXTERNAL_GET_POINTER
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:240,1
    - Dst: shared_gserialized_unref
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:254,1
    - Dst: shared_gserialized_new_cached
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - fcinfo
    - argnum
    argTypes:
    - FunctionCallInfo
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 260
    functionName: ToastCacheGetGeometry
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - shared_gserialized_new_cached
    - DatumGetPointer
    - shared_gserialized_unref
    - ToastCacheGet
    - shared_gserialized_new_nocache
    - VARATT_EXTERNAL_GET_POINTER
    - VARATT_IS_EXTERNAL_ONDISK
    - PG_GETARG_DATUM
    - Assert
    linkageType: ''
    returnType: SHARED_GSERIALIZED
    signature: 'SHARED_GSERIALIZED *

      ToastCacheGetGeometry(FunctionCallInfo fcinfo, uint32_t argnum)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: postgis_initialize_cache
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:276,1
    - Dst: SPI_connect
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:278,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:280,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:281,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:286,1
    - Dst: postgis_spatial_ref_sys
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:290,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:293,1
    - Dst: postgis_spatial_ref_sys
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:297,1
    - Dst: SPI_execute
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:300,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:303,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:304,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:311,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:316,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:321,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:325,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:327,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:327,1
    - Dst: memcpy
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:328,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - fcinfo
    - srid
    - short_crs
    argTypes:
    - FunctionCallInfo
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 334
    functionName: getSRSbySRID
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - snprintf
    - MemoryContextAllocZero
    - SPI_execute
    - PostgisCacheContext
    - elog
    - postgis_initialize_cache
    - postgis_spatial_ref_sys
    - SPI_getvalue
    - SPI_connect
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      getSRSbySRID(FunctionCallInfo fcinfo, int32_t srid, bool short_crs)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetGenericCacheCollection
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:340,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:344,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 349
    functionName: SRSDescCacheGet
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - MemoryContextAllocZero
    - PostgisCacheContext
    - GetGenericCacheCollection
    linkageType: ''
    returnType: SRSDescCache
    signature: 'SRSDescCache *

      SRSDescCacheGet(FunctionCallInfo fcinfo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRSDescCacheGet
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:354,1
    - Dst: pfree
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:362,1
    - Dst: getSRSbySRID
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - fcinfo
    - srid
    - short_crs
    argTypes:
    - FunctionCallInfo
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: GetSRSCacheBySRID
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - getSRSbySRID
    - pfree
    - SRSDescCacheGet
    linkageType: ''
    returnType: char
    signature: 'char *

      GetSRSCacheBySRID(FunctionCallInfo fcinfo, int32_t srid, bool short_crs)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CStringGetDatum
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:379,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:382,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:383,1
    - Dst: postgis_spatial_ref_sys
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:389,1
    - Dst: SPI_connect
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:394,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:396,1
    - Dst: SPI_execute_with_args
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:400,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:403,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:404,1
    - Dst: snprintf
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:411,1
    - Dst: postgis_spatial_ref_sys
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:417,1
    - Dst: SPI_execute_with_args
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:419,1
    - Dst: elog
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:422,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:423,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:429,1
    - Dst: atoi
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:434,1
    - Dst: SPI_getvalue
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:434,1
    - Dst: SPI_finish
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - fcinfo
    - srs
    argTypes:
    - FunctionCallInfo
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 438
    functionName: getSRIDbySRS
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - snprintf
    - elog
    - postgis_spatial_ref_sys
    - postgis_initialize_cache
    - SPI_getvalue
    - SPI_connect
    - CStringGetDatum
    - atoi
    - SPI_execute_with_args
    linkageType: ''
    returnType: int32_t
    signature: int32_t getSRIDbySRS(FunctionCallInfo fcinfo, const char *srs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetGenericCacheCollection
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:444,1
    - Dst: MemoryContextAllocZero
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:448,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 453
    functionName: SRIDCacheGet
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - MemoryContextAllocZero
    - PostgisCacheContext
    - GetGenericCacheCollection
    linkageType: ''
    returnType: SRIDCache
    signature: 'SRIDCache *

      SRIDCacheGet(FunctionCallInfo fcinfo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SRIDCacheGet
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:458,1
    - Dst: strcmp
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:461,1
    - Dst: strlen
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:463,1
    - Dst: getSRIDbySRS
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:464,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:465,1
    - Dst: PostgisCacheContext
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:465,1
    - Dst: memcpy
      Src: /src/postgis/libpgcommon/lwgeom_cache.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fcinfo
    - srs
    argTypes:
    - FunctionCallInfo
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 470
    functionName: GetSRIDCacheBySRS
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SRIDCacheGet
    - getSRIDbySRS
    - PostgisCacheContext
    - MemoryContextAlloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t GetSRIDCacheBySRS(FunctionCallInfo fcinfo, const char *srs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: PG_GETARG_GSERIALIZED_P
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_GETARG_GSERIALIZED_P(varno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: PG_GETARG_GSERIALIZED_P_COPY
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_GETARG_GSERIALIZED_P_COPY(varno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - datum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: PG_GSERIALIZED_DATUM_NEEDS_DETOAST
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_GSERIALIZED_DATUM_NEEDS_DETOAST(datum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varno
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: PG_GETARG_GSERIALIZED_HEADER
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_GETARG_GSERIALIZED_HEADER(varno)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: POSTGIS_DEBUG
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: POSTGIS_DEBUGF
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: POSTGIS_DEBUG
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: POSTGIS_DEBUGF
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lwg_parser_result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: PG_PARSER_ERROR
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_PARSER_ERROR(lwg_parser_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lwg_unparser_result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: PG_UNPARSER_ERROR
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_UNPARSER_ERROR(lwg_unparser_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: LWGEOM_INIT
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWGEOM_INIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: DatumGetBox3DP
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DatumGetBox3DP(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: Box3DPGetDatum
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Box3DPGetDatum(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: PG_GETARG_BOX3D_P
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_GETARG_BOX3D_P(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: PG_RETURN_BOX3D_P
    functionSourceFile: /src/postgis/libpgcommon/lwgeom_pg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_RETURN_BOX3D_P(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: GIDX_NDIMS
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_NDIMS(gidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gidx
    - ','
    - dimension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: GIDX_GET_MIN
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_GET_MIN(gidx, dimension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gidx
    - ','
    - dimension
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: GIDX_GET_MAX
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_GET_MAX(gidx, dimension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gidx
    - ','
    - dimension
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: GIDX_SET_MIN
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_SET_MIN(gidx, dimension, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - gidx
    - ','
    - dimension
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: GIDX_SET_MAX
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_SET_MAX(gidx, dimension, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dimensions
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: GIDX_SIZE
    functionSourceFile: /src/postgis/libpgcommon/gserialized_gist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIDX_SIZE(dimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wagyu_linearring::reserve
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:47,1
    - Dst: ptarray_point_size
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:49,1
    - Dst: static_cast<wagyu_coord_type>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:54,1
    - Dst: static_cast<wagyu_coord_type>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:55,1
    - Dst: wagyu_linearring::emplace_back
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:58,1
    - Dst: static_cast<wagyu_coord_type>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:58,1
    - Dst: static_cast<wagyu_coord_type>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: ptarray_to_wglinearring
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - wagyu_linearring::reserve
    - wagyu_linearring::emplace_back
    - ptarray_point_size
    - static_cast<wagyu_coord_type>
    linkageType: ''
    returnType: wagyu_linearring
    signature: wagyu_linearring ptarray_to_wglinearring(const POINTARRAY *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:67,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:68,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:73,1
    - Dst: wagyu_polygon::push_back
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:78,1
    - Dst: ptarray_to_wglinearring
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:78,1
    - Dst: wagyu_polygon::push_back
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:84,1
    - Dst: ptarray_to_wglinearring
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:84,1
    - Dst: vwpolygon::push_back
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:87,1
    - Dst: lwgeom_free
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - geom
    - box
    argTypes:
    - LWPOLY*
    - GBOX*
    assertStmts:
    - condition: (geom_clipped->geoms[i]->type == POLYGONTYPE)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: lwpoly_to_vwgpoly
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - assert
    - wagyu_polygon::push_back
    - ptarray_to_wglinearring
    - lwgeom_free
    - vwpolygon::push_back
    - lwgeom_clip_to_ordinate_range
    linkageType: ''
    returnType: vwpolygon
    signature: vwpolygon lwpoly_to_vwgpoly(const LWPOLY *geom, const GBOX *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_to_vwgpoly
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:103,1
    - Dst: vwpolygon::insert
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:104,1
    - Dst: vwpolygon::end
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:104,1
    - Dst: std::make_move_iterator
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:105,1
    - Dst: vwpolygon::begin
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:105,1
    - Dst: std::make_move_iterator
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:106,1
    - Dst: vwpolygon::end
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - geom
    - box
    argTypes:
    - LWMPOLY*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 7
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: lwmpoly_to_vwgpoly
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - std::make_move_iterator
    - lwpoly_to_vwgpoly
    - vwpolygon::end
    - vwpolygon::insert
    - vwpolygon::begin
    linkageType: ''
    returnType: vwpolygon
    signature: vwpolygon lwmpoly_to_vwgpoly(const LWMPOLY *geom, const GBOX *box)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_to_vwgpoly
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:125,1
    - Dst: reinterpret_cast<const LWPOLY *>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:125,1
    - Dst: lwmpoly_to_vwgpoly
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:127,1
    - Dst: reinterpret_cast<const LWMPOLY *>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:127,1
    - Dst: vwpolygon
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - geom
    - box
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 8
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: lwgeom_to_vwgpoly
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - lwpoly_to_vwgpoly
    - reinterpret_cast<const LWPOLY *>
    - lwmpoly_to_vwgpoly
    - vwpolygon
    - reinterpret_cast<const LWMPOLY *>
    linkageType: ''
    returnType: vwpolygon
    signature: vwpolygon lwgeom_to_vwgpoly(const LWGEOM *geom, const GBOX *box)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wagyu_polygon::linear_ring_type::size
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:136,1
    - Dst: ptarray_construct
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:142,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:142,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lr
    argTypes:
    - wagyu_polygon::linear_ring_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: wglinearring_to_ptarray
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - ptarray_construct
    - wagyu_polygon::linear_ring_type::size
    - ptarray_set_point4d
    - static_cast<double>
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      wglinearring_to_ptarray(const wagyu_polygon::linear_ring_type &lr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wagyu_multipolygon::polygon_type::size
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:152,1
    - Dst: reinterpret_cast<POINTARRAY **>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:153,1
    - Dst: lwalloc
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:153,1
    - Dst: wglinearring_to_ptarray
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:157,1
    - Dst: reinterpret_cast<LWGEOM *>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:160,1
    - Dst: lwpoly_construct
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - wagyu_multipolygon::polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: wgpoly_to_lwgeom
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<POINTARRAY **>
    - lwpoly_construct
    - reinterpret_cast<LWGEOM *>
    - wagyu_multipolygon::polygon_type::size
    - lwalloc
    - wglinearring_to_ptarray
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      wgpoly_to_lwgeom(const wagyu_multipolygon::polygon_type &p)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wagyu_multipolygon::size
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:166,1
    - Dst: wgpoly_to_lwgeom
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:173,1
    - Dst: reinterpret_cast<LWGEOM **>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:177,1
    - Dst: lwalloc
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:177,1
    - Dst: wgpoly_to_lwgeom
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:181,1
    - Dst: reinterpret_cast<LWGEOM *>
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:184,1
    - Dst: lwcollection_construct
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - mp
    argTypes:
    - wagyu_multipolygon
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: wgmpoly_to_lwgeom
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - wgpoly_to_lwgeom
    - reinterpret_cast<LWGEOM **>
    - reinterpret_cast<LWGEOM *>
    - lwcollection_construct
    - lwalloc
    - wagyu_multipolygon::size
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      wgmpoly_to_lwgeom(const wagyu_multipolygon &mp)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_is_empty
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:201,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:203,1
    - Dst: lwgeom_to_vwgpoly
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:209,1
    - Dst: vwpolygon::size
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:210,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:222,1
    - Dst: wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:224,1
    - Dst: wagyu::wagyu::execute
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:229,1
    - Dst: wgmpoly_to_lwgeom
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - geom
    - bbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 188
    functionDepth: 9
    functionLinenumber: 188
    functionLinenumberEnd: 236
    functionName: __lwgeom_wagyu_clip_by_box
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - empty
    - lwgeom_to_vwgpoly
    - lwgeom_is_empty
    - lwgeom_construct_empty
    - wagyu::wagyu::execute
    - wgmpoly_to_lwgeom
    - wagyu::wagyu::add_ring
    - vwpolygon::size
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      __lwgeom_wagyu_clip_by_box(const LWGEOM *geom, const GBOX *bbox)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:241,1
    - Dst: __lwgeom_wagyu_clip_by_box
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - geom
    - bbox
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 10
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: lwgeom_wagyu_clip_by_box
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 1
    functionsReached:
    - __lwgeom_wagyu_clip_by_box
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_wagyu_clip_by_box(const LWGEOM *geom, const GBOX *bbox)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: libwagyu_version
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      libwagyu_version()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_request
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: lwgeom_wagyu_interruptRequest
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::interrupt_request
    linkageType: ''
    returnType: void
    signature: void lwgeom_wagyu_interruptRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: lwgeom_wagyu_interruptReset
    functionSourceFile: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void lwgeom_wagyu_interruptReset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '& operator<<(std::ostream& os, const empty&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const empty&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' point'
    argTypes:
    - std::ostream
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: '& operator<<(std::ostream& os, const point<T>& point)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const point<T>& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:27,1
    - Dst: cend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' cont'
    argTypes:
    - std::ostream
    - C<T, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const C<T, Args...>& cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '& operator<<(std::ostream& os, const line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const line_string<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename linear_ring<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename linear_ring<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const linear_ring<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const polygon<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_point<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const multi_point<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_point<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_point<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_line_string<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_polygon<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry<T>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator<<(std::ostream& os, const geometry<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - geometry<T>::visit
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename geometry_collection<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry_collection<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename geometry_collection<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry_collection<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '& operator<<(std::ostream& os, const empty&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const empty&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' point'
    argTypes:
    - std::ostream
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: '& operator<<(std::ostream& os, const point<T>& point)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const point<T>& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:27,1
    - Dst: cend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' cont'
    argTypes:
    - std::ostream
    - C<T, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const C<T, Args...>& cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '& operator<<(std::ostream& os, const line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const line_string<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename linear_ring<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename linear_ring<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const linear_ring<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const polygon<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_point<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const multi_point<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_point<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_point<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_line_string<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_polygon<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry<T>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator<<(std::ostream& os, const geometry<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - geometry<T>::visit
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename geometry_collection<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry_collection<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename geometry_collection<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry_collection<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '& operator<<(std::ostream& os, const null_value_t&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '& operator<<(std::ostream& os, const null_value_t&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '& operator<<(std::ostream& os, const empty&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const empty&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' point'
    argTypes:
    - std::ostream
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: '& operator<<(std::ostream& os, const point<T>& point)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const point<T>& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:27,1
    - Dst: cend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' cont'
    argTypes:
    - std::ostream
    - C<T, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const C<T, Args...>& cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '& operator<<(std::ostream& os, const line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const line_string<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename linear_ring<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename linear_ring<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const linear_ring<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const polygon<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_point<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const multi_point<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_point<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_point<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_line_string<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_polygon<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry<T>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator<<(std::ostream& os, const geometry<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - geometry<T>::visit
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename geometry_collection<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry_collection<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename geometry_collection<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry_collection<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: '& operator<<(std::ostream& os, const empty&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const empty&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' point'
    argTypes:
    - std::ostream
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: '& operator<<(std::ostream& os, const point<T>& point)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const point<T>& point)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:27,1
    - Dst: cend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' os'
    - ' cont'
    argTypes:
    - std::ostream
    - C<T, Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const C<T, Args...>& cont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: '& operator<<(std::ostream& os, const line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const line_string<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename linear_ring<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename linear_ring<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const linear_ring<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& operator<<(std::ostream& os, const polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const polygon<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_point<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const multi_point<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_point<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_point<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_line_string<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_line_string<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_line_string<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_line_string<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename multi_polygon<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - multi_polygon<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename multi_polygon<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const multi_polygon<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geometry<T>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator<<(std::ostream& os, const geometry<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - geometry<T>::visit
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry<T>& geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<typename geometry_collection<T>::container_type>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' geom'
    argTypes:
    - std::ostream
    - geometry_collection<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached:
    - static_cast<typename geometry_collection<T>::container_type>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const geometry_collection<T>&
      geom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '& operator<<(std::ostream& os, const null_value_t&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' os'
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: '& operator<<(std::ostream& os, const null_value_t&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator==(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator!=(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator<(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:71,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_,
      identifier const& id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:79,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:80,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_, identifier&&
      id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: operator==(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: operator!=(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void feature_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<feature_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature_collection(std::initializer_list<feature_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator==(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator!=(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator<(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:71,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_,
      identifier const& id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:79,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:80,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_, identifier&&
      id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: operator==(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: operator!=(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void feature_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<feature_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature_collection(std::initializer_list<feature_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator==(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator!=(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator<(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:71,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_,
      identifier const& id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:79,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:80,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_, identifier&&
      id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: operator==(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: operator!=(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void feature_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<feature_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature_collection(std::initializer_list<feature_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: operator==(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: operator!=(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: operator<(const null_value_t&, const null_value_t&)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const null_value_t&, const null_value_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' geom_'
    argTypes:
    - geometry_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:71,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ' geom_'
    - ' prop_'
    argTypes:
    - geometry_type
    - property_map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type const& geom_, property_map const& prop_,
      identifier const& id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:79,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:80,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' geom_'
    - ' prop_'
    - ' id_'
    argTypes:
    - geometry_type
    - property_map
    - identifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: mapbox::feature::feature
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature(geometry_type&& geom_, property_map&& prop_, identifier&&
      id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: operator==(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - feature<T>
    - feature<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: operator!=(feature<T> const& lhs, feature<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void feature_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/feature.hpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<feature_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: mapbox::feature::feature_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void feature_collection(std::initializer_list<feature_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: operator+(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator+(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: operator-(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: operator-(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator*(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator*(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator/(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator/(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '& operator+=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '& operator+=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '& operator-=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '& operator-=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '& operator*=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '& operator*=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '& operator/=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '& operator/=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: operator+(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator+(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: operator-(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: operator-(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator*(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator*(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator/(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator/(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '& operator+=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '& operator+=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '& operator-=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '& operator-=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '& operator*=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '& operator*=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '& operator/=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '& operator/=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: operator+(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator+(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: operator-(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: operator-(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator*(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator*(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator/(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator/(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '& operator+=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '& operator+=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '& operator-=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '& operator-=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '& operator*=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '& operator*=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '& operator/=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '& operator/=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: operator+(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator+(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator+(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: operator-(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: operator-(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator-(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator*(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator*(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator*(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator/(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator/(point<T> const& lhs, T const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached:
    - point<T>
    linkageType: ''
    returnType: point<T>
    signature: point<T> operator/(point<T> const& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: '& operator+=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '& operator+=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator+=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '& operator-=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '& operator-=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator-=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '& operator*=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: '& operator*=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator*=(point<T>& lhs, T const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: '& operator/=(point<T>& lhs, point<T> const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '& operator/=(point<T>& lhs, T const& rhs)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point<T>
    signature: point<T> & operator/=(point<T>& lhs, T const& rhs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:22,1
    - Dst: mapbox::geometry::box
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - G
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::envelope
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::box
    - limits::infinity
    - mapbox::geometry::wagyu::round_towards_min
    linkageType: ''
    returnType: box<T>
    signature: box<T> envelope(G const& geometry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:22,1
    - Dst: mapbox::geometry::box
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - G
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::envelope
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::box
    - limits::infinity
    - mapbox::geometry::wagyu::round_towards_min
    linkageType: ''
    returnType: box<T>
    signature: box<T> envelope(G const& geometry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:22,1
    - Dst: mapbox::geometry::box
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - G
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::envelope
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::box
    - limits::infinity
    - mapbox::geometry::wagyu::round_towards_min
    linkageType: ''
    returnType: box<T>
    signature: box<T> envelope(G const& geometry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:16,1
    - Dst: limits::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:17,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:22,1
    - Dst: mapbox::geometry::box
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' geometry'
    argTypes:
    - G
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::envelope
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::box
    - limits::infinity
    - mapbox::geometry::wagyu::round_towards_min
    linkageType: ''
    returnType: box<T>
    signature: box<T> envelope(G const& geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void line_string(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void line_string(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void line_string(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void line_string(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void linear_ring(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void linear_ring(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<linear_ring_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void polygon(std::initializer_list<linear_ring_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void linear_ring(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void linear_ring(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<linear_ring_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void polygon(std::initializer_list<linear_ring_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void linear_ring(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void linear_ring(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<linear_ring_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void polygon(std::initializer_list<linear_ring_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void linear_ring(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void linear_ring(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<linear_ring_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void polygon(std::initializer_list<linear_ring_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_point(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_point(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_point(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_point(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_point(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_point(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_point(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<point_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_point(std::initializer_list<point_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void geometry_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<geometry_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void geometry_collection(std::initializer_list<geometry_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void geometry_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<geometry_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void geometry_collection(std::initializer_list<geometry_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void geometry_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<geometry_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void geometry_collection(std::initializer_list<geometry_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void geometry_collection(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<geometry_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::geometry_collection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void geometry_collection(std::initializer_list<geometry_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::geometry::empty const&, F&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    - Dst: std::forward<Point>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' f'
    argTypes:
    - Point
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 4
    functionsReached:
    - std::forward<Point>
    - f
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Point&& point, F&& f)\n    -> decltype(point.x,
      point.y, void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:27,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...> const& geom, F&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:35,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...>& geom, F&& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' container'
    - ' f'
    argTypes:
    - Container
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::for_each_point
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Container&& container, F&& f)\n    -> decltype(container.begin(),
      container.end(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::geometry::empty const&, F&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    - Dst: std::forward<Point>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' f'
    argTypes:
    - Point
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 7
    functionsReached:
    - std::forward<Point>
    - f
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Point&& point, F&& f)\n    -> decltype(point.x,
      point.y, void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:27,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...> const& geom, F&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:35,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...>& geom, F&& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' container'
    - ' f'
    argTypes:
    - Container
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::for_each_point
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Container&& container, F&& f)\n    -> decltype(container.begin(),
      container.end(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::geometry::empty const&, F&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    - Dst: std::forward<Point>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' f'
    argTypes:
    - Point
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 10
    functionsReached:
    - std::forward<Point>
    - f
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Point&& point, F&& f)\n    -> decltype(point.x,
      point.y, void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:27,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 11
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...> const& geom, F&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:35,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...>& geom, F&& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' container'
    - ' f'
    argTypes:
    - Container
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::for_each_point
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Container&& container, F&& f)\n    -> decltype(container.begin(),
      container.end(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::geometry::empty const&, F&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    - Dst: std::forward<Point>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' point'
    - ' f'
    argTypes:
    - Point
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 13
    functionsReached:
    - std::forward<Point>
    - f
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Point&& point, F&& f)\n    -> decltype(point.x,
      point.y, void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:27,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...> const& geom, F&&
      f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::util::variant<Types...>::visit
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:35,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' geom'
    - ' f'
    argTypes:
    - mapbox::util::variant<Types...>
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::for_each_point
    - mapbox::util::variant<Types...>::visit
    linkageType: ''
    returnType: void
    signature: void for_each_point(mapbox::util::variant<Types...>& geom, F&& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:42,1
    - Dst: mapbox::geometry::for_each_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ' container'
    - ' f'
    argTypes:
    - Container
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::for_each_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::for_each_point
    - begin
    - end
    linkageType: ''
    returnType: auto
    signature: "auto for_each_point(Container&& container, F&& f)\n    -> decltype(container.begin(),
      container.end(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<polygon_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_polygon(std::initializer_list<polygon_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<polygon_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_polygon(std::initializer_list<polygon_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<polygon_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_polygon(std::initializer_list<polygon_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_polygon(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<polygon_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_polygon(std::initializer_list<polygon_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: operator==(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: operator!=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: operator<(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: operator>(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: operator<=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: operator>=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: operator==(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: operator!=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: operator<(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: operator>(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: operator<=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: operator>=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: operator==(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: operator!=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: operator<(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: operator>(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: operator<=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: operator>=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: operator==(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: operator!=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: operator<(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: operator>(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: operator<=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: operator>=(empty, empty)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(empty, empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' min_'
    - ' max_'
    argTypes:
    - point_type
    - point_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mapbox::geometry::box
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box(point_type const& min_, point_type const& max_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator==(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: operator!=(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' min_'
    - ' max_'
    argTypes:
    - point_type
    - point_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mapbox::geometry::box
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box(point_type const& min_, point_type const& max_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator==(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: operator!=(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' min_'
    - ' max_'
    argTypes:
    - point_type
    - point_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mapbox::geometry::box
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box(point_type const& min_, point_type const& max_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator==(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: operator!=(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' min_'
    - ' max_'
    argTypes:
    - point_type
    - point_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: mapbox::geometry::box
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box(point_type const& min_, point_type const& max_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator==(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - box<T>
    - box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: operator!=(box<T> const& lhs, box<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(box<T> const& lhs, box<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<line_string_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_line_string(std::initializer_list<line_string_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<line_string_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_line_string(std::initializer_list<line_string_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<line_string_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_line_string(std::initializer_list<line_string_type> args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void multi_line_string(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - args
    argTypes:
    - std::initializer_list<line_string_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::multi_line_string
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void multi_line_string(std::initializer_list<line_string_type> args)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool point_2_is_between_point_1_and_point_3(mapbox::geometry::point<T>
      const& pt1,\n                                            mapbox::geometry::point<T>
      const& pt2,\n                                            mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:31,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:38,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:39,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:47,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:54,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:66,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:78,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:83,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:84,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:86,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:87,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: static_cast<T1>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:88,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:89,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:90,1
    - Dst: mapbox::geometry::point<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:92,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:100,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:105,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:110,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:113,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:122,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:134,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:137,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:138,1
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:139,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:142,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:143,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:146,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:151,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:154,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:155,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:158,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:160,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:163,1
    - Dst: mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:167,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:169,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp:172,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 2
    argNames:
    - ' path_geometry'
    - ' edges'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - edge_list<T1>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::build_edge_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T1>
    - empty
    - pop_back
    - emplace_back
    - mapbox::geometry::point<T2>
    - static_cast<T2>
    - mapbox::geometry::wagyu::slopes_equal
    - erase
    - front
    - back
    - begin
    - rbegin
    - auto::base
    - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
    - mapbox::geometry::wagyu::size
    - rend
    linkageType: ''
    returnType: bool
    signature: bool build_edge_list(mapbox::geometry::linear_ring<T2> const& path_geometry,
      edge_list<T1>& edges)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 1
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 2
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 3
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 4
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 5
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 6
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(wagyu const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wagyu
    signature: wagyu & operator=(wagyu const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::wagyu::wagyu
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~wagyu()
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~wagyu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_linear_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pg'
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mapbox::geometry::wagyu::wagyu::add_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 7
    functionsReached:
    - add_linear_ring
    linkageType: ''
    returnType: bool
    signature: bool add_ring(mapbox::geometry::linear_ring<T2> const& pg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' ppg'
    argTypes:
    - mapbox::geometry::polygon<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::wagyu::add_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::add_ring
    linkageType: ''
    returnType: bool
    signature: bool add_polygon(mapbox::geometry::polygon<T2> const& ppg, polygon_type
      p_type = polygon_type_subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::wagyu::reverse_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_rings(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::wagyu::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::wagyu::clear
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::wagyu::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:73,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:74,1
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:78,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:80,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:81,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:84,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:85,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:86,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: left_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:87,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:90,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:91,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:94,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:96,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:97,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: right_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:100,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:101,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:102,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: right_bound::edges::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:103,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:106,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:107,1
    - Dst: mapbox::geometry::box<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::wagyu::get_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - right_bound::edges::empty
    - empty
    - std::max
    - mapbox::geometry::box<T>
    - right_bound::edges::back
    - left_bound::edges::back
    - std::min
    - left_bound::edges::empty
    - right_bound::edges::front
    - left_bound::edges::front
    linkageType: ''
    returnType: mapbox::geometry::box<T>
    signature: mapbox::geometry::box<T> get_bounds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:120,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:126,1
    - Dst: build_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:128,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:130,1
    - Dst: execute_vatti
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:132,1
    - Dst: interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:134,1
    - Dst: correct_topology
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:136,1
    - Dst: build_result
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - cliptype
    - ' solution'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - clip_type
    - mapbox::geometry::multi_polygon<T2>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: mapbox::geometry::wagyu::wagyu::execute
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
    functionUses: 0
    functionsReached:
    - empty
    - build_hot_pixels
    - build_result
    - execute_vatti
    - interrupt_check
    - correct_topology
    linkageType: ''
    returnType: bool
    signature: "bool execute(clip_type cliptype,\n                 mapbox::geometry::multi_polygon<T2>&
      solution,\n                 fill_type subject_fill_type,\n                 fill_type
      clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:29,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:32,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:34,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:36,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:37,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:40,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:41,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:43,1
    - Dst: mapbox::geometry::wagyu::process_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:45,1
    - Dst: mapbox::geometry::wagyu::update_current_hp_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:47,1
    - Dst: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:52,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' minima_list'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: mapbox::geometry::wagyu::execute_vatti
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL
    - local_minimum_ptr_list::begin
    - hot_pixels::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_intersections
    - mapbox::geometry::wagyu::update_current_hp_itr
    - local_minimum_ptr_list::push_back
    - local_minimum_ptr_list::reserve
    - local_minimum_sorter<T>
    - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void execute_vatti(local_minimum_list<T>& minima_list,\n                   ring_manager<T>&
      manager,\n                   clip_type cliptype,\n                   fill_type
      subject_fill_type,\n                   fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::less_than
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::greater_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' bnds'
    argTypes:
    - std::basic_ostream<charT, traits>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      active_bound_list<T>& bnds)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const active_bound_list<T>&
      bnds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' bnds'
    argTypes:
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mapbox::geometry::wagyu::output_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_edges(active_bound_list<T> const& bnds)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: mapbox::geometry::wagyu::is_even_odd_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' bound'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_even_odd_alt_fill_type(bound<T> const& bound, fill_type subject_fill_type,
      fill_type clip_fill_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::bound_insert_location
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound_insert_location(bound<T> const& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:91,1
    - Dst: less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:93,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:94,1
    - Dst: greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:96,1
    - Dst: get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - greater_than
    - get_current_x
    - values_are_equal
    - less_than
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: mapbox::geometry::wagyu::bound_insert_location
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:108,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:110,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:111,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mapbox::geometry::wagyu::insert_bound_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - std::find_if
    - end
    - begin
    - insert
    - mapbox::geometry::wagyu::bound_insert_location
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> insert_bound_into_ABL(bound<T>& left, bound<T>&
      right, active_bound_list<T>& active_bounds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mapbox::geometry::wagyu::is_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::is_maxima
    linkageType: ''
    returnType: bool
    signature: bool is_maxima(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - bound<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - edges::end
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(bound<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' bnd'
    - y
    argTypes:
    - active_bound_list_itr<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: mapbox::geometry::wagyu::is_intermediate
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::is_intermediate
    linkageType: ''
    returnType: bool
    signature: bool is_intermediate(active_bound_list_itr<T> const& bnd, T y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: mapbox::geometry::wagyu::current_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool current_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - active_bound_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::next_edge_is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: bool
    signature: bool next_edge_is_horizontal(active_bound_list_itr<T> const& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:151,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:153,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:154,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' bnd'
    - ' scanbeam'
    argTypes:
    - bound<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: mapbox::geometry::wagyu::next_edge_in_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::is_horizontal
    - edges::end
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void next_edge_in_bound(bound<T>& bnd, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bnd
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: mapbox::geometry::wagyu::get_maxima_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - begin
    - end
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: active_bound_list_itr<T> get_maxima_pair(active_bound_list_itr<T> bnd,
      active_bound_list<T>& active_bounds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:172,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:173,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:181,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:184,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:187,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:196,1
    - Dst: auto::base
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:224,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_alt_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - bnd_itr
    - ' active_bounds'
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 238
    functionName: mapbox::geometry::wagyu::set_winding_count
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - active_bound_list_rev_itr<T>
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - auto::base
    - static_cast<int>
    - rend
    linkageType: ''
    returnType: void
    signature: "void set_winding_count(active_bound_list_itr<T> bnd_itr,\n                       active_bound_list<T>&
      active_bounds,\n                       fill_type subject_fill_type,\n                       fill_type
      clip_fill_type)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 4
    argNames:
    - ' bnd'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::is_contributing
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - std::abs
    linkageType: ''
    returnType: bool
    signature: bool is_contributing(bound<T> const& bnd, clip_type cliptype, fill_type
      subject_fill_type, fill_type clip_fill_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:338,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:339,1
    - Dst: mapbox::geometry::wagyu::set_winding_count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:340,1
    - Dst: mapbox::geometry::wagyu::is_contributing
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:343,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:344,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:348,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:350,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - ' left_bound'
    - ' right_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 353
    functionName: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::is_contributing
    - std::next
    - mapbox::geometry::wagyu::set_winding_count
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - mapbox::geometry::wagyu::add_local_minimum_point
    linkageType: ''
    returnType: void
    signature: "void insert_lm_left_and_right_bound(bound<T>& left_bound,\n                                    bound<T>&
      right_bound,\n                                    active_bound_list<T>& active_bounds,\n
      \                                   ring_manager<T>& rings,\n                                    scanbeam_list<T>&
      scanbeam,\n                                    clip_type cliptype,\n                                    fill_type
      subject_fill_type,\n                                    fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:365,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:366,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - bot_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL(T const bot_y,\n                                  local_minimum_ptr_list<T>
      const& minima_sorted,\n                                  local_minimum_ptr_list_itr<T>&
      current_lm,\n                                  active_bound_list<T>& active_bounds,\n
      \                                 ring_manager<T>& rings,\n                                  scanbeam_list<T>&
      scanbeam,\n                                  clip_type cliptype,\n                                  fill_type
      subject_fill_type,\n                                  fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:385,1
    - Dst: mapbox::geometry::wagyu::initialize_lm
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:386,1
    - Dst: mapbox::geometry::wagyu::insert_lm_left_and_right_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 9
    argNames:
    - top_y
    - ' minima_sorted'
    - ' current_lm'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::initialize_lm
    - end
    - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
    linkageType: ''
    returnType: void
    signature: "void insert_horizontal_local_minima_into_ABL(T const top_y,\n                                             local_minimum_ptr_list<T>
      const& minima_sorted,\n                                             local_minimum_ptr_list_itr<T>&
      current_lm,\n                                             active_bound_list<T>&
      active_bounds,\n                                             ring_manager<T>&
      rings,\n                                             scanbeam_list<T>& scanbeam,\n
      \                                            clip_type cliptype,\n                                             fill_type
      subject_fill_type,\n                                             fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void intersect_node(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:29,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:30,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' n'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: '& operator=(intersect_node<T>&& n) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: intersect_node
    signature: intersect_node & operator=(intersect_node<T>&& n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' bound1_'
    - ' bound2_'
    - ' pt_'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::intersect_node
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void intersect_node(bound_ptr<T> const& bound1_, bound_ptr<T> const&
      bound2_, mapbox::geometry::point<double> const& pt_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_node<T>& e)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_node<T>&
      e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' ints'
    argTypes:
    - std::basic_ostream<charT, traits>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      intersect_list<T>& ints)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const intersect_list<T>&
      ints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void edge(edge<T>&& e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:35,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: '& operator=(edge<T>&& e) noexcept'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: edge
    signature: edge & operator=(edge<T>&& e) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:43,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:44,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:47,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:49,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:51,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:52,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:53,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' current'
    - ' next_pt'
    argTypes:
    - mapbox::geometry::point<T2>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<T>
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void edge(mapbox::geometry::point<T2> const& current, mapbox::geometry::point<T2>
      const& next_pt) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:71,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - edge<T>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 8
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: bool slopes_equal(edge<T> const& e1, edge<T> const& e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isinf
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: mapbox::geometry::wagyu::is_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 24
    functionsReached:
    - std::isinf
    linkageType: ''
    returnType: bool
    signature: bool is_horizontal(edge<T> const& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:83,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: mapbox::geometry::wagyu::get_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_current_x(edge<T> const& edge, const T current_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' e'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>&
      e)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const edge<T>& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' out'
    - ' edges'
    argTypes:
    - std::basic_ostream<charT, traits>
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
      const& edges)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     edge_list<T>
      const& edges)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 17
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 10
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 18
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rbegin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:32,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:36,1
    - Dst: children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:52,1
    - Dst: bound_ptr::ring::children::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: mapbox::geometry::wagyu::set_hole_state
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - std::find
    - bound_ptr::ring::children::push_back
    - rbegin
    - children::push_back
    - rend
    linkageType: ''
    returnType: void
    signature: void set_hole_state(bound<T>& bnd, active_bound_list<T> const& active_bounds,
      ring_manager<T>& rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - scanline_y
    - ' rings'
    argTypes:
    - T
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::update_current_hp_itr
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_current_hp_itr(T scanline_y, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T>
      const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:82,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:83,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:84,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: mapbox::geometry::wagyu::round_towards_min
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 11
    functionsReached:
    - static_cast<T>
    - mapbox::geometry::wagyu::values_are_equal
    - std::llround
    - std::floor
    linkageType: ''
    returnType: T
    signature: T round_towards_min(double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::floor
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:95,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:96,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: std::ceil
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:97,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    - Dst: std::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: mapbox::geometry::wagyu::round_towards_max
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 19
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - std::ceil
    - std::floor
    - std::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T round_towards_max(double val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:105,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:115,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:116,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:117,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::round_towards_min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::get_edge_min_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_min
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_min_x(edge<T> const& edge, const T current_y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:134,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:144,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:145,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:146,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:154,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' edge'
    - current_y
    argTypes:
    - edge<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 159
    functionName: mapbox::geometry::wagyu::get_edge_max_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::is_horizontal
    - static_cast<double>
    linkageType: ''
    returnType: T
    signature: T get_edge_max_x(edge<T> const& edge, const T current_y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:170,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:171,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:172,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:173,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_itr<T>
    - hot_pixel_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_left_to_right(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_itr<T>&
      itr,\n                                 hot_pixel_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_min_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:207,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:208,1
    - Dst: mapbox::geometry::wagyu::get_edge_max_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:209,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 8
    argNames:
    - y
    - start_x
    - end_x
    - ' bnd'
    - ' rings'
    - ' itr'
    - ' end'
    - add_end_point
    argTypes:
    - T
    - T
    - T
    - bound<T>
    - ring_manager<T>
    - hot_pixel_rev_itr<T>
    - hot_pixel_rev_itr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - std::max
    - mapbox::geometry::wagyu::get_edge_max_x
    - std::min
    - mapbox::geometry::wagyu::get_edge_min_x
    linkageType: ''
    returnType: void
    signature: "void hot_pixel_set_right_to_left(T y,\n                                 T
      start_x,\n                                 T end_x,\n                                 bound<T>&
      bnd,\n                                 ring_manager<T>& rings,\n                                 hot_pixel_rev_itr<T>&
      itr,\n                                 hot_pixel_rev_itr<T>& end,\n                                 bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: hot_pixel_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:237,1
    - Dst: std::unique
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:238,1
    - Dst: hot_pixels::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rings'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: mapbox::geometry::wagyu::sort_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - std::unique
    - hot_pixels::erase
    - std::sort
    - hot_pixels::begin
    - hot_pixel_sorter<T>
    linkageType: ''
    returnType: void
    signature: void sort_hot_pixels(ring_manager<T>& rings)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:257,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:261,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:270,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:271,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:274,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:276,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:279,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:289,1
    - Dst: mapbox::geometry::wagyu::hot_pixel_set_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 4
    argNames:
    - ' bnd'
    - ' end_pt'
    - ' rings'
    - add_end_point
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: mapbox::geometry::wagyu::insert_hot_pixels_in_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
    - hot_pixels::end
    - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
    - hot_pixels::begin
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: void
    signature: "void insert_hot_pixels_in_path(bound<T>& bnd,\n                               mapbox::geometry::point<T>
      const& end_pt,\n                               ring_manager<T>& rings,\n                               bool
      add_end_point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hot_pixels::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' pt'
    - ' rings'
    argTypes:
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: mapbox::geometry::wagyu::add_to_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::push_back
    linkageType: ''
    returnType: void
    signature: void add_to_hot_pixels(mapbox::geometry::point<T> const& pt, ring_manager<T>&
      rings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:311,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:313,1
    - Dst: mapbox::geometry::wagyu::set_hole_state
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: mapbox::geometry::wagyu::add_first_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - mapbox::geometry::wagyu::set_hole_state
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void add_first_point(bound<T>& bnd,\n                     active_bound_list<T>&
      active_bounds,\n                     mapbox::geometry::point<T> const& pt,\n
      \                    ring_manager<T>& rings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:322,1
    - Dst: mapbox::geometry::wagyu::create_new_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' bnd'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts:
    - condition: (bnd.ring)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: mapbox::geometry::wagyu::add_point_to_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::create_new_point
    - assert
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: void add_point_to_ring(bound<T>& bnd, mapbox::geometry::point<T> const&
      pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::add_first_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:345,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' bnd'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mapbox::geometry::wagyu::add_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::add_first_point
    linkageType: ''
    returnType: void
    signature: "void add_point(bound<T>& bnd,\n               active_bound_list<T>&
      active_bounds,\n               mapbox::geometry::point<T> const& pt,\n               ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:357,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:358,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' pt'
    - ' rings'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 7
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: mapbox::geometry::wagyu::add_local_minimum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::is_horizontal
    linkageType: ''
    returnType: void
    signature: "void add_local_minimum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             active_bound_list<T>& active_bounds,\n                             mapbox::geometry::point<T>
      const& pt,\n                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:375,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' pt1'
    - ' pt2'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: mapbox::geometry::wagyu::get_dx
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - std::numeric_limits<double>::infinity
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double get_dx(point<T> const& pt1, point<T> const& pt2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:387,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:393,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:399,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::get_dx
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:405,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: std::max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:407,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: std::min
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:408,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:411,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:413,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - btmPt1
    - btmPt2
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: mapbox::geometry::wagyu::first_is_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - std::max
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::get_dx
    - std::min
    - mapbox::geometry::wagyu::area_from_point
    - std::fabs
    - mapbox::geometry::wagyu::greater_than_or_equal
    linkageType: ''
    returnType: bool
    signature: bool first_is_bottom_point(const_point_ptr<T> btmPt1, const_point_ptr<T>
      btmPt2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 451
    functionName: mapbox::geometry::wagyu::get_bottom_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_bottom_point(point_ptr<T> pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:457,1
    - Dst: mapbox::geometry::wagyu::get_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:460,1
    - Dst: mapbox::geometry::wagyu::first_is_bottom_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: mapbox::geometry::wagyu::get_lower_most_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::first_is_bottom_point
    - mapbox::geometry::wagyu::get_bottom_point
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> get_lower_most_ring(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: mapbox::geometry::wagyu::ring1_child_below_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ring1_child_below_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::update_points_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_points_ring(ring_ptr<T> ring)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:513,1
    - Dst: mapbox::geometry::wagyu::ring1_child_below_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:518,1
    - Dst: mapbox::geometry::wagyu::get_lower_most_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:523,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:547,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:564,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:579,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:580,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:585,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:587,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:590,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 4
    argNames:
    - ' b1'
    - ' b2'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - bound<T>
    - bound<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 504
    functionDepth: 4
    functionLinenumber: 504
    functionLinenumberEnd: 606
    functionName: mapbox::geometry::wagyu::append_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::get_lower_most_ring
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::ring1_child_below_ring2
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::update_points_ring
    linkageType: ''
    returnType: void
    signature: void append_ring(bound<T>& b1, bound<T>& b2, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:614,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:615,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:621,1
    - Dst: mapbox::geometry::wagyu::append_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: mapbox::geometry::wagyu::add_local_maximum_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::append_ring
    - mapbox::geometry::wagyu::add_point
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    linkageType: ''
    returnType: void
    signature: "void add_local_maximum_point(bound<T>& b1,\n                             bound<T>&
      b2,\n                             mapbox::geometry::point<T> const& pt,\n                             ring_manager<T>&
      rings,\n                             active_bound_list<T>& active_bounds)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:655,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:656,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:657,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:672,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:673,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 692
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::value_is_zero
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(point<T> const& pt, point_ptr<T>
      op)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:700,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:701,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:702,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:703,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:704,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:705,1
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:706,1
    - Dst: mapbox::geometry::wagyu::greater_than_or_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:711,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:722,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:738,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ' pt'
    - op
    argTypes:
    - mapbox::geometry::point<double>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 756
    functionName: mapbox::geometry::wagyu::point_in_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::greater_than_or_equal
    - static_cast<double>
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result point_in_polygon(mapbox::geometry::point<double>
      const& pt, point_ptr<T> op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:767,1
    - Dst: point_ptr<T>::ring::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: mapbox::geometry::wagyu::is_convex
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - point_ptr<T>::ring::area
    linkageType: ''
    returnType: bool
    signature: bool is_convex(point_ptr<T> edge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:780,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - edge
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: mapbox::geometry::wagyu::centroid_of_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<double>
    signature: mapbox::geometry::point<double> centroid_of_points(point_ptr<T> edge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_convex
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:794,1
    - Dst: mapbox::geometry::wagyu::centroid_of_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:795,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:796,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:797,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - first_pt
    - other_poly
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 804
    functionName: mapbox::geometry::wagyu::inside_or_outside_special
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::centroid_of_points
    - mapbox::geometry::wagyu::is_convex
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: point_in_polygon_result
    signature: point_in_polygon_result inside_or_outside_special(point_ptr<T> first_pt,
      point_ptr<T> other_poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' box1'
    - ' box2'
    argTypes:
    - mapbox::geometry::box<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: mapbox::geometry::wagyu::box2_contains_box1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool box2_contains_box1(mapbox::geometry::box<T> const& box1, mapbox::geometry::box<T>
      const& box2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::box2_contains_box1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:814,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:817,1
    - Dst: mapbox::geometry::wagyu::point_in_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:825,1
    - Dst: mapbox::geometry::wagyu::inside_or_outside_special
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ring1
    - ring2
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 833
    functionName: mapbox::geometry::wagyu::poly2_contains_poly1
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::box2_contains_box1
    - std::fabs
    - ring_ptr<T>::area
    - mapbox::geometry::wagyu::inside_or_outside_special
    - mapbox::geometry::wagyu::point_in_polygon
    linkageType: ''
    returnType: bool
    signature: bool poly2_contains_poly1(ring_ptr<T> ring1, ring_ptr<T> ring2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - x_
    - y_
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(T x_, T y_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ring_
    - ' pt'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring_
    - ' pt'
    - before_this_point
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mapbox::geometry::wagyu::point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point(ring_ptr<T> ring_, mapbox::geometry::point<T> const& pt,
      point_ptr<T> before_this_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator!=(point<T> const& lhs, point<T> const& rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, point<T> const& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - mapbox::geometry::point<T>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(mapbox::geometry::point<T> const& lhs, point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(point<T> const& lhs, mapbox::geometry::point<T> const&
      rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>&
      p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const point<T>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' p'
    argTypes:
    - std::basic_ostream<charT, traits>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      mapbox::geometry::point<T>& p)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const mapbox::geometry::point<T>&
      p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 1
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 3
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 2
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 5
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 3
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 7
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 4
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 9
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 5
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 11
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 6
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 13
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T2>::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: ring_ptr<T1>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:15,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:20,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:25,1
    - Dst: mapbox::geometry::linear_ring<T2>::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:29,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ' poly'
    - r
    - reverse_output
    argTypes:
    - mapbox::geometry::polygon<T2>
    - ring_ptr<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: mapbox::geometry::wagyu::push_ring_to_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 7
    functionsReached:
    - static_cast<T2>
    - mapbox::geometry::linear_ring<T2>::emplace_back
    - push_back
    - mapbox::geometry::linear_ring<T2>::reserve
    - ring_ptr<T1>::size
    linkageType: ''
    returnType: void
    signature: void push_ring_to_polygon(mapbox::geometry::polygon<T2>& poly, ring_ptr<T1>
      r, bool reverse_output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:41,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:42,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:43,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:48,1
    - Dst: mapbox::geometry::wagyu::push_ring_to_polygon
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:49,1
    - Dst: children::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:55,1
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_vector<T1>
    - bool
    assertStmts:
    - condition: (r->points)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    - condition: (c->points)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::build_result_polygons
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 15
    functionsReached:
    - emplace_back
    - assert
    - mapbox::geometry::wagyu::build_result_polygons
    - back
    - children::empty
    - mapbox::geometry::wagyu::push_ring_to_polygon
    linkageType: ''
    returnType: void
    signature: "void build_result_polygons(mapbox::geometry::multi_polygon<T2>& solution,\n
      \                          ring_vector<T1> const& rings,\n                           bool
      reverse_output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::build_result_polygons
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' solution'
    - ' rings'
    - reverse_output
    argTypes:
    - mapbox::geometry::multi_polygon<T2>
    - ring_manager<T1>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: mapbox::geometry::wagyu::build_result
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::build_result_polygons
    linkageType: ''
    returnType: void
    signature: void build_result(mapbox::geometry::multi_polygon<T2>& solution, ring_manager<T1>
      const& rings, bool reverse_output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::interrupt_reset
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::interrupt_request
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::interrupt_reset
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:29,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::interrupt_reset
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::interrupt_check
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPoint(const RawType& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bits
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: RawType
    signature: RawType ReinterpretBits(const Bits bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::Infinity
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
    linkageType: ''
    returnType: RawType
    signature: RawType Infinity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: '& bits() const'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits & bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits exponent_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits fraction_bits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits sign_bit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
    - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
    linkageType: ''
    returnType: bool
    signature: bool is_nan() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::is_nan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:223,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - FloatingPoint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
    - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    linkageType: ''
    returnType: bool
    signature: bool AlmostEquals(const FloatingPoint& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - RawType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloatingPointUnion(RawType val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' sam'
    argTypes:
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: Bits
    signature: Bits SignAndMagnitudeToBiased(const Bits& sam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:266,1
    - Dst: mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' sam1'
    - ' sam2'
    argTypes:
    - Bits
    - Bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
    linkageType: ''
    returnType: Bits
    signature: Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits& sam1, const
      Bits& sam2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 1
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 1
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 2
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 2
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 9
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 12
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 4
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 4
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 15
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 5
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 5
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 18
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' e'
    argTypes:
    - edge<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::reverse_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 21
    functionsReached:
    - std::swap
    linkageType: ''
    returnType: void
    signature: void reverse_horizontal(edge<T>& e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:29,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:33,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:35,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:36,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:40,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:41,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:57,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: mapbox::geometry::wagyu::start_list_on_local_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - begin
    - end
    - std::rotate
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void start_list_on_local_maximum(edge_list<T>& edges)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:62,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:63,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:64,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:67,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:70,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:73,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:75,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:80,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:81,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:96,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:101,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:102,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:104,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:105,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:106,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    - Dst: bound::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: mapbox::geometry::wagyu::create_bound_towards_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 7
    functionsReached:
    - bound::edges::reserve
    - bound::edges::begin
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - front
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::reverse_horizontal
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - std::reverse
    - bound::edges::end
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_minimum(edge_list<T>& edges)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:114,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:116,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:119,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:126,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:127,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:144,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:145,1
    - Dst: bound::edges::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: static_cast<std::size_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:147,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:148,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - ' edges'
    argTypes:
    - edge_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::create_bound_towards_maximum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 7
    functionsReached:
    - bound::edges::reserve
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - erase
    - end
    - begin
    - static_cast<std::size_t>
    - std::move
    - distance
    - std::swap
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> create_bound_towards_maximum(edge_list<T>& edges)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:157,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:158,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:159,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:162,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:163,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:166,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:167,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' bnd'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mapbox::geometry::wagyu::fix_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::next
    - mapbox::geometry::wagyu::reverse_horizontal
    - edges::end
    - edges::begin
    linkageType: ''
    returnType: void
    signature: void fix_horizontals(bound<T>& bnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:179,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:180,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:181,1
    - Dst: mapbox::geometry::wagyu::reverse_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:184,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:187,1
    - Dst: std::reverse
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:190,1
    - Dst: distance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:191,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: std::back_inserter
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:192,1
    - Dst: edges::erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:193,1
    - Dst: std::rotate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' left_bound'
    - ' right_bound'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - std::back_inserter
    - std::prev
    - std::rotate
    - mapbox::geometry::wagyu::reverse_horizontal
    - std::move
    - std::reverse
    - edges::end
    - distance
    - edges::begin
    - edges::erase
    linkageType: ''
    returnType: void
    signature: void move_horizontals_on_left_to_right(bound<T>& left_bound, bound<T>&
      right_bound)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::start_list_on_local_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:205,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:209,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:210,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_minimum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:212,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:213,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:214,1
    - Dst: mapbox::geometry::wagyu::create_bound_towards_maximum
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:216,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:217,1
    - Dst: mapbox::geometry::wagyu::fix_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:218,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:219,1
    - Dst: auto::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:220,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:222,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:226,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:231,1
    - Dst: auto::edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:232,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:233,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:239,1
    - Dst: mapbox::geometry::wagyu::move_horizontals_on_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:242,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:251,1
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:252,1
    - Dst: auto::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:253,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:264,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:267,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:269,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:271,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:277,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:280,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:282,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:284,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - ' edges'
    - ' minima_list'
    - poly_type
    argTypes:
    - edge_list<T>
    - local_minimum_list<T>
    - polygon_type
    assertStmts:
    - condition: (!to_minimum.edges.empty())
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    - condition: (!to_maximum.edges.empty())
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    constantsTouched: []
    func_position:
      end: 289
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 289
    functionName: mapbox::geometry::wagyu::add_ring_to_local_minima_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 0
    functionsReached:
    - auto::edges::front
    - empty
    - assert
    - emplace_back
    - mapbox::geometry::wagyu::is_horizontal
    - auto::edges::empty
    - back
    - auto::edges::begin
    - mapbox::geometry::wagyu::create_bound_towards_maximum
    - mapbox::geometry::wagyu::create_bound_towards_minimum
    - mapbox::geometry::wagyu::start_list_on_local_maximum
    - std::move
    - mapbox::geometry::wagyu::fix_horizontals
    - std::runtime_error
    - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
    - auto::edges::end
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: void add_ring_to_local_minima_list(edge_list<T>& edges, local_minimum_list<T>&
      minima_list, polygon_type poly_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: left_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:293,1
    - Dst: left_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:294,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:295,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:296,1
    - Dst: right_bound::edges::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:302,1
    - Dst: right_bound::edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:304,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' lm'
    argTypes:
    - local_minimum_ptr_list_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::initialize_lm
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
    functionUses: 16
    functionsReached:
    - right_bound::edges::empty
    - left_bound::edges::begin
    - std::next
    - right_bound::edges::begin
    - left_bound::edges::empty
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void initialize_lm(local_minimum_ptr_list_itr<T>& lm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 11
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 10
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:20,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:21,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:22,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:23,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:27,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:30,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:31,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:34,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:35,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:36,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:37,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:41,1
    - Dst: mapbox::geometry::wagyu::wround<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:43,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:44,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - a
    - b
    - edge
    - ' box'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: mapbox::geometry::wagyu::quick_clip::intersect
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround<T>
    - static_cast<double>
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: "mapbox::geometry::point<T> intersect(mapbox::geometry::point<T> a,\n
      \                                    mapbox::geometry::point<T> b,\n                                     size_t
      edge,\n                                     mapbox::geometry::box<T> const&
      box)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - p
    - edge
    - ' b'
    argTypes:
    - mapbox::geometry::point<T>
    - size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: mapbox::geometry::wagyu::quick_clip::inside
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(mapbox::geometry::point<T> p, size_t edge, mapbox::geometry::box<T>
      const& b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:72,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:74,1
    - Dst: mapbox::geometry::linear_ring<T>::resize
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:75,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:77,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:80,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:81,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:82,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:84,1
    - Dst: mapbox::geometry::wagyu::quick_clip::inside
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:85,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::wagyu::quick_clip::intersect
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:86,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:94,1
    - Dst: mapbox::geometry::linear_ring<T>::clear
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:95,1
    - Dst: mapbox::geometry::linear_ring<T>::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:99,1
    - Dst: mapbox::geometry::linear_ring<T>::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' ring'
    - ' b'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 14
    functionsReached:
    - mapbox::geometry::linear_ring<T>::resize
    - mapbox::geometry::linear_ring<T>::push_back
    - mapbox::geometry::linear_ring<T>::clear
    - mapbox::geometry::wagyu::quick_clip::intersect
    - mapbox::geometry::linear_ring<T>::size
    - mapbox::geometry::wagyu::quick_clip::inside
    linkageType: ''
    returnType: mapbox::geometry::linear_ring<T>
    signature: "mapbox::geometry::linear_ring<T> quick_lr_clip(mapbox::geometry::linear_ring<T>
      const& ring,\n                                               mapbox::geometry::box<T>
      const& b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:112,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:113,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:114,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' poly'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::polygon<T>
      const& poly, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::quick_clip::quick_lr_clip
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:128,1
    - Dst: auto::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:129,1
    - Dst: wagyu::add_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:130,1
    - Dst: wagyu::execute
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' mp'
    - ' b'
    - subject_fill_type
    argTypes:
    - mapbox::geometry::multi_polygon<T>
    - mapbox::geometry::box<T>
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: mapbox::geometry::wagyu::clip
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
    functionUses: 0
    functionsReached:
    - auto::empty
    - wagyu::add_ring
    - wagyu::execute
    - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
    linkageType: ''
    returnType: mapbox::geometry::multi_polygon<T>
    signature: mapbox::geometry::multi_polygon<T> clip(mapbox::geometry::multi_polygon<T>
      const& mp, mapbox::geometry::box<T> const& b, fill_type subject_fill_type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 1
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 2
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 3
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 4
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 5
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 6
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:28,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:30,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:34,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:39,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:41,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:49,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:50,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:52,1
    - Dst: mapbox::geometry::wagyu::greater_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:57,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:63,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:64,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:71,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:79,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:90,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:92,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:99,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:101,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:107,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:110,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:111,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 17
    functionDepth: 8
    functionLinenumber: 17
    functionLinenumberEnd: 119
    functionName: mapbox::geometry::wagyu::process_horizontal_left_to_right
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::wround
    - std::next
    - hot_pixels::end
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::greater_than
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - mapbox::geometry::wagyu::intersect_bounds
    - static_cast<double>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_left_to_right(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:130,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:131,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:132,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:134,1
    - Dst: hot_pixels::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:138,1
    - Dst: hot_pixel_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:143,1
    - Dst: active_bound_list_rev_itr<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:145,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:146,1
    - Dst: rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:147,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:154,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:155,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:157,1
    - Dst: mapbox::geometry::wagyu::less_than
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:162,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:168,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:169,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:176,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:184,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:192,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:194,1
    - Dst: hot_pixels::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:202,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:207,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:210,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound_fwd'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 216
    functionName: mapbox::geometry::wagyu::process_horizontal_right_to_left
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 7
    functionsReached:
    - hot_pixels::end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::add_point_to_ring
    - edges::end
    - active_bound_list_rev_itr<T>
    - mapbox::geometry::point<T>
    - std::prev
    - mapbox::geometry::wagyu::get_maxima_pair
    - static_cast<double>
    - mapbox::geometry::wagyu::less_than
    - std::iter_swap
    - mapbox::geometry::wagyu::intersect_bounds
    - rend
    - mapbox::geometry::wagyu::wround
    - std::next
    - mapbox::geometry::wagyu::add_local_maximum_point
    - hot_pixels::rend
    - hot_pixel_rev_itr<T>
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal_right_to_left(T scanline_y,\n
      \                                                         active_bound_list_itr<T>&
      horz_bound_fwd,\n                                                          active_bound_list<T>&
      active_bounds,\n                                                          ring_manager<T>&
      rings,\n                                                          scanbeam_list<T>&
      scanbeam,\n                                                          clip_type
      cliptype,\n                                                          fill_type
      subject_fill_type,\n                                                          fill_type
      clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_horizontal_left_to_right
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:228,1
    - Dst: mapbox::geometry::wagyu::process_horizontal_right_to_left
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - scanline_y
    - ' horz_bound'
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: mapbox::geometry::wagyu::process_horizontal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::process_horizontal_left_to_right
    - mapbox::geometry::wagyu::process_horizontal_right_to_left
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> process_horizontal(T scanline_y,\n                                            active_bound_list_itr<T>&
      horz_bound,\n                                            active_bound_list<T>&
      active_bounds,\n                                            ring_manager<T>&
      rings,\n                                            scanbeam_list<T>& scanbeam,\n
      \                                           clip_type cliptype,\n                                            fill_type
      subject_fill_type,\n                                            fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:244,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:245,1
    - Dst: mapbox::geometry::wagyu::process_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:246,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scanline_y
    - ' active_bounds'
    - ' rings'
    - ' scanbeam'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 10
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: mapbox::geometry::wagyu::process_horizontals
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
    functionUses: 0
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - std::remove
    - mapbox::geometry::wagyu::process_horizontal
    linkageType: ''
    returnType: void
    signature: "void process_horizontals(T scanline_y,\n                         active_bound_list<T>&
      active_bounds,\n                         ring_manager<T>& rings,\n                         scanbeam_list<T>&
      scanbeam,\n                         clip_type cliptype,\n                         fill_type
      subject_fill_type,\n                         fill_type clip_fill_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - mapbox::geometry::wagyu::get_edge_intersection
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 17
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 18
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 19
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 20
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 21
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 22
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' node1'
    - ' node2'
    argTypes:
    - intersect_node<T>
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(intersect_node<T> const& node1, intersect_node<T> const&
      node2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pt'
    argTypes:
    - mapbox::geometry::point<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::round_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::point<T>
    - mapbox::geometry::wagyu::round_towards_max
    linkageType: ''
    returnType: mapbox::geometry::point<T>
    signature: mapbox::geometry::point<T> round_point(mapbox::geometry::point<double>
      const& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mapbox::geometry::wagyu::swap_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rings(bound<T>& b1, bound<T>& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound<T>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: mapbox::geometry::wagyu::swap_sides
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_sides(bound<T>& b1, bound<T>& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:50,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:51,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:52,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:53,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:54,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:55,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:56,1
    - Dst: static_cast<T2>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' e1'
    - ' e2'
    - ' pt'
    argTypes:
    - edge<T1>
    - edge<T1>
    - mapbox::geometry::point<T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: mapbox::geometry::wagyu::get_edge_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T2>
    linkageType: ''
    returnType: bool
    signature: bool get_edge_intersection(edge<T1> const& e1, edge<T1> const& e2,
      mapbox::geometry::point<T2>& pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: slopes_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - slopes_equal
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::on_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_intersection_swap(intersect_list<T>& i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:94,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:96,1
    - Dst: emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - emplace_back
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:105,1
    - Dst: mapbox::geometry::wagyu::on_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' active_bounds'
    - ' intersects'
    argTypes:
    - active_bound_list<T>
    - intersect_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: mapbox::geometry::wagyu::build_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::bubble_sort
    - begin
    - end
    - intersection_compare<T>
    - mapbox::geometry::wagyu::on_intersection_swap
    linkageType: ''
    returnType: void
    signature: void build_intersect_list(active_bound_list<T>& active_bounds, intersect_list<T>&
      intersects)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:124,1
    - Dst: std::swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:125,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:139,1
    - Dst: mapbox::geometry::wagyu::is_even_odd_fill_type
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:144,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:178,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:190,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:195,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:197,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:198,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:199,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:200,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:204,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:206,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:207,1
    - Dst: mapbox::geometry::wagyu::add_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:212,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:213,1
    - Dst: mapbox::geometry::wagyu::swap_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:214,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:230,1
    - Dst: std::abs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:242,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:246,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:251,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:257,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:263,1
    - Dst: mapbox::geometry::wagyu::add_local_minimum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:267,1
    - Dst: mapbox::geometry::wagyu::swap_sides
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:270,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 145
    argCount: 8
    argNames:
    - ' b1'
    - ' b2'
    - ' pt'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - bound<T>
    - bound<T>
    - mapbox::geometry::point<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 273
    functionName: mapbox::geometry::wagyu::intersect_bounds
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 23
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::abs
    - mapbox::geometry::wagyu::is_even_odd_fill_type
    - mapbox::geometry::wagyu::add_point
    - std::swap
    - mapbox::geometry::wagyu::swap_sides
    - mapbox::geometry::wagyu::add_local_minimum_point
    - mapbox::geometry::wagyu::swap_rings
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void intersect_bounds(bound<T>& b1,\n                      bound<T>&
      b2,\n                      mapbox::geometry::point<T> const& pt,\n                      clip_type
      cliptype,\n                      fill_type subject_fill_type,\n                      fill_type
      clip_fill_type,\n                      ring_manager<T>& rings,\n                      active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' inode'
    - next
    argTypes:
    - intersect_node<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::bounds_adjacent
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bounds_adjacent(intersect_node<T> const& inode, bound_ptr<T> next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' inode'
    argTypes:
    - intersect_node<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: mapbox::geometry::wagyu::find_first_bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_first_bound(intersect_node<T> const& inode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: operator()(bound_ptr<T> const& b)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(bound_ptr<T> const& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:300,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:301,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:302,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:303,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:304,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:305,1
    - Dst: std::find_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: mapbox::geometry::wagyu::find_first_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:306,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:307,1
    - Dst: mapbox::geometry::wagyu::bounds_adjacent
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:308,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:315,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:316,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:318,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:320,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:321,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - ' intersects'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    - ' active_bounds'
    argTypes:
    - intersect_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 325
    functionName: mapbox::geometry::wagyu::process_intersect_list
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached:
    - std::find_if
    - std::next
    - std::iter_swap
    - begin
    - end
    - mapbox::geometry::wagyu::bounds_adjacent
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::find_first_bound
    linkageType: ''
    returnType: void
    signature: "void process_intersect_list(intersect_list<T>& intersects,\n                            clip_type
      cliptype,\n                            fill_type subject_fill_type,\n                            fill_type
      clip_fill_type,\n                            ring_manager<T>& rings,\n                            active_bound_list<T>&
      active_bounds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' active_bounds'
    - top_y
    argTypes:
    - active_bound_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::update_current_x
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::get_current_x
    linkageType: ''
    returnType: void
    signature: void update_current_x(active_bound_list<T>& active_bounds, T top_y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:343,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:346,1
    - Dst: mapbox::geometry::wagyu::build_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:348,1
    - Dst: intersect_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:350,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:355,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: intersect_list_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:359,1
    - Dst: mapbox::geometry::wagyu::process_intersect_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - top_y
    - ' active_bounds'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' rings'
    argTypes:
    - T
    - active_bound_list<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 10
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: mapbox::geometry::wagyu::process_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    functionUses: 8
    functionsReached:
    - empty
    - intersect_list::end
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::build_intersect_list
    - intersect_list::begin
    - begin
    - end
    - intersect_list::empty
    - mapbox::geometry::wagyu::process_intersect_list
    - intersect_list_sorter<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: "void process_intersections(T top_y,\n                           active_bound_list<T>&
      active_bounds,\n                           clip_type cliptype,\n                           fill_type
      subject_fill_type,\n                           fill_type clip_fill_type,\n                           ring_manager<T>&
      rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:17,1
    - Dst: c
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:18,1
    - Dst: m
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:19,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - begin
    - end
    - c
    - m
    argTypes:
    - It
    - It
    - Compare
    - MethodOnSwap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: mapbox::geometry::wagyu::bubble_sort
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
    functionUses: 8
    functionsReached:
    - std::iter_swap
    - m
    - c
    - std::next
    linkageType: ''
    returnType: void
    signature: void bubble_sort(It begin, It end, Compare c, MethodOnSwap m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 34
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 38
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 42
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 46
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 50
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 54
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 58
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:16,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:22,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:23,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:25,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:27,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:28,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' poly'
    argTypes:
    - mapbox::geometry::linear_ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - mapbox::geometry::wagyu::size
    - end
    - begin
    linkageType: ''
    returnType: double
    signature: double area(mapbox::geometry::linear_ring<T> const& poly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    - Dst: util::FloatingPoint<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: mapbox::geometry::wagyu::values_are_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 62
    functionsReached:
    - util::FloatingPoint<double>
    linkageType: ''
    returnType: bool
    signature: bool values_are_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mapbox::geometry::wagyu::value_is_zero
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 24
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: bool value_is_zero(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: mapbox::geometry::wagyu::greater_than_or_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than_or_equal(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: mapbox::geometry::wagyu::greater_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool greater_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::values_are_equal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: mapbox::geometry::wagyu::less_than
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::values_are_equal
    linkageType: ''
    returnType: bool
    signature: bool less_than(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:58,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:66,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:74,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    argTypes:
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    - mapbox::geometry::wagyu::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::wagyu::point<T> const& pt1,\n
      \                 mapbox::geometry::wagyu::point<T> const& pt2,\n                  mapbox::geometry::wagyu::point<T>
      const& pt3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:83,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    - Dst: static_cast<std::int64_t>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' pt1'
    - ' pt2'
    - ' pt3'
    - ' pt4'
    argTypes:
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    - mapbox::geometry::point<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::slopes_equal
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 9
    functionsReached:
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: bool
    signature: "bool slopes_equal(mapbox::geometry::point<T> const& pt1,\n                  mapbox::geometry::point<T>
      const& pt2,\n                  mapbox::geometry::point<T> const& pt3,\n                  mapbox::geometry::point<T>
      const& pt4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T wround(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::llround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mapbox::geometry::wagyu::wround
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
    functionUses: 16
    functionsReached:
    - ::llround
    linkageType: ''
    returnType: std::int64_t
    signature: std::int64_t wround<std::int64_t>(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:17,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:18,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' scanbeam'
    - ' t'
    argTypes:
    - scanbeam_list<T>
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: mapbox::geometry::wagyu::insert_sorted_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 16
    functionsReached:
    - std::lower_bound
    - insert
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void insert_sorted_scanbeam(scanbeam_list<T>& scanbeam, T& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:25,1
    - Dst: back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:29,1
    - Dst: pop_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' Y'
    - ' scanbeam'
    argTypes:
    - T
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::pop_from_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - empty
    - pop_back
    - back
    linkageType: ''
    returnType: bool
    signature: bool pop_from_scanbeam(T& Y, scanbeam_list<T>& scanbeam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:37,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:38,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:39,1
    - Dst: std::sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' minima_list'
    - ' scanbeam'
    argTypes:
    - local_minimum_list<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: mapbox::geometry::wagyu::setup_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
    functionUses: 8
    functionsReached:
    - end
    - begin
    - reserve
    - push_back
    - std::sort
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: void
    signature: void setup_scanbeam(local_minimum_list<T>& minima_list, scanbeam_list<T>&
      scanbeam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:17,1
    - Dst: mapbox::geometry::wagyu::build_edge_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: edge_list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:18,1
    - Dst: mapbox::geometry::wagyu::add_ring_to_local_minima_list
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' path_geometry'
    - ' minima_list'
    - p_type
    argTypes:
    - mapbox::geometry::linear_ring<T2>
    - local_minimum_list<T1>
    - polygon_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: mapbox::geometry::wagyu::add_linear_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_ring_to_local_minima_list
    - edge_list::empty
    - mapbox::geometry::wagyu::build_edge_list
    - edge_list::reserve
    - mapbox::geometry::wagyu::size
    linkageType: ''
    returnType: bool
    signature: "bool add_linear_ring(mapbox::geometry::linear_ring<T2> const& path_geometry,\n
      \                    local_minimum_list<T1>& minima_list,\n                     polygon_type
      p_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_edge_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: mapbox::geometry::wagyu::round_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - mapbox::geometry::wagyu::round_point
    - mapbox::geometry::wagyu::get_edge_intersection
    - mapbox::geometry::wagyu::add_to_hot_pixels
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 1
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 1
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 2
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 2
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 3
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 3
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 4
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 4
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 5
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 5
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 6
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 6
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: mapbox::geometry::wagyu::hp_intersection_swap
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hp_intersection_swap(ring_manager<T>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_edge_intersection<T, double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:28,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:30,1
    - Dst: add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    - Dst: round_point<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - bound_ptr<T>
    - bound_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - add_to_hot_pixels
    - round_point<T>
    - get_edge_intersection<T, double>
    linkageType: ''
    returnType: void
    signature: void operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:39,1
    - Dst: mapbox::geometry::wagyu::update_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:42,1
    - Dst: mapbox::geometry::wagyu::bubble_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: intersection_compare<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:43,1
    - Dst: mapbox::geometry::wagyu::hp_intersection_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - top_y
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mapbox::geometry::wagyu::process_hot_pixel_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 7
    functionsReached:
    - empty
    - mapbox::geometry::wagyu::bubble_sort
    - mapbox::geometry::wagyu::update_current_x
    - mapbox::geometry::wagyu::hp_intersection_swap
    - begin
    - end
    - intersection_compare<T>
    linkageType: ''
    returnType: void
    signature: void process_hot_pixel_intersections(T top_y, active_bound_list<T>&
      active_bounds, ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:54,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:57,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:58,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:62,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:63,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:65,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:72,1
    - Dst: std::prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:73,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:74,1
    - Dst: mapbox::geometry::wagyu::wround
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:78,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:79,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:81,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:83,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - top_y
    - ' bnd_curr'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - active_bound_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::wround
    - std::next
    - std::prev
    - std::iter_swap
    - end
    - begin
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool horizontals_at_top_scanbeam(T top_y,\n                                 active_bound_list_itr<T>&
      bnd_curr,\n                                 active_bound_list<T>& active_bounds,\n
      \                                ring_manager<T>& manager)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:97,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:106,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:107,1
    - Dst: mapbox::geometry::wagyu::is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:108,1
    - Dst: mapbox::geometry::wagyu::horizontals_at_top_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:109,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:113,1
    - Dst: edges::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:115,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - top_y
    - ' scanbeam'
    - ' active_bounds'
    - ' manager'
    argTypes:
    - T
    - scanbeam_list<T>
    - active_bound_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::is_horizontal
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::next_edge_in_bound
    - edges::end
    - std::remove
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
    linkageType: ''
    returnType: void
    signature: "void process_hot_pixel_edges_at_top_of_scanbeam(T top_y,\n                                                scanbeam_list<T>&
      scanbeam,\n                                                active_bound_list<T>&
      active_bounds,\n                                                ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:132,1
    - Dst: mapbox::geometry::wagyu::add_to_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: left_bound::edges::front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:133,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:136,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:137,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:138,1
    - Dst: edges::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:139,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:140,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:141,1
    - Dst: mapbox::geometry::wagyu::insert_bound_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:142,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:143,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:144,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:146,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:147,1
    - Dst: mapbox::geometry::wagyu::insert_sorted_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - top_y
    - ' minima_sorted'
    - ' lm'
    - ' active_bounds'
    - ' manager'
    - ' scanbeam'
    argTypes:
    - T
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - active_bound_list<T>
    - ring_manager<T>
    - scanbeam_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 7
    functionsReached:
    - std::next
    - end
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::insert_bound_into_ABL
    - mapbox::geometry::wagyu::insert_sorted_scanbeam
    - edges::begin
    - left_bound::edges::front
    - mapbox::geometry::wagyu::add_to_hot_pixels
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void insert_local_minima_into_ABL_hot_pixel(T top_y,\n                                            local_minimum_ptr_list<T>&
      minima_sorted,\n                                            local_minimum_ptr_list_itr<T>&
      lm,\n                                            active_bound_list<T>& active_bounds,\n
      \                                           ring_manager<T>& manager,\n                                            scanbeam_list<T>&
      scanbeam)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:158,1
    - Dst: local_minimum_ptr_list::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:161,1
    - Dst: local_minimum_ptr_list::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:163,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_sorter<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:165,1
    - Dst: local_minimum_ptr_list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:166,1
    - Dst: mapbox::geometry::wagyu::setup_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:168,1
    - Dst: left_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:173,1
    - Dst: right_bound::edges::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:174,1
    - Dst: hot_pixels::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:176,1
    - Dst: mapbox::geometry::wagyu::pop_from_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: local_minimum_ptr_list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:178,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:180,1
    - Dst: mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:182,1
    - Dst: mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:184,1
    - Dst: mapbox::geometry::wagyu::preallocate_point_memory
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: hot_pixels::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:186,1
    - Dst: mapbox::geometry::wagyu::sort_hot_pixels
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ' minima_list'
    - ' manager'
    argTypes:
    - local_minimum_list<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 188
    functionName: mapbox::geometry::wagyu::build_hot_pixels
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::setup_scanbeam
    - mapbox::geometry::wagyu::preallocate_point_memory
    - std::stable_sort
    - local_minimum_ptr_list::begin
    - mapbox::geometry::wagyu::round_towards_max
    - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
    - right_bound::edges::size
    - local_minimum_ptr_list::push_back
    - left_bound::edges::size
    - mapbox::geometry::wagyu::pop_from_scanbeam
    - hot_pixels::reserve
    - mapbox::geometry::wagyu::process_hot_pixel_intersections
    - local_minimum_sorter<T>
    - hot_pixels::size
    - local_minimum_ptr_list::reserve
    - local_minimum_ptr_list::end
    - mapbox::geometry::wagyu::sort_hot_pixels
    linkageType: ''
    returnType: void
    signature: void build_hot_pixels(local_minimum_list<T>& minima_list, ring_manager<T>&
      manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:28,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:31,1
    - Dst: mapbox::geometry::wagyu::intersect_bounds
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:37,1
    - Dst: std::iter_swap
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:39,1
    - Dst: mapbox::geometry::wagyu::add_local_maximum_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:45,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:47,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - ' bnd'
    - ' bndMaxPair'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    - ' manager'
    - ' active_bounds'
    argTypes:
    - active_bound_list_itr<T>
    - active_bound_list_itr<T>
    - clip_type
    - fill_type
    - fill_type
    - ring_manager<T>
    - active_bound_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: mapbox::geometry::wagyu::do_maxima
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::add_local_maximum_point
    - std::next
    - std::iter_swap
    - end
    - mapbox::geometry::wagyu::intersect_bounds
    - std::runtime_error
    linkageType: ''
    returnType: active_bound_list_itr<T>
    signature: "active_bound_list_itr<T> do_maxima(active_bound_list_itr<T>& bnd,\n
      \                                  active_bound_list_itr<T>& bndMaxPair,\n                                   clip_type
      cliptype,\n                                   fill_type subject_fill_type,\n
      \                                  fill_type clip_fill_type,\n                                   ring_manager<T>&
      manager,\n                                   active_bound_list<T>& active_bounds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:68,1
    - Dst: mapbox::geometry::wagyu::interrupt_check
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:69,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:77,1
    - Dst: mapbox::geometry::wagyu::get_maxima_pair
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:80,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::current_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:81,1
    - Dst: mapbox::geometry::wagyu::is_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:82,1
    - Dst: mapbox::geometry::wagyu::do_maxima
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:84,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::next_edge_is_horizontal
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:90,1
    - Dst: mapbox::geometry::wagyu::insert_hot_pixels_in_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:92,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:94,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:96,1
    - Dst: mapbox::geometry::wagyu::get_current_x
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:99,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: std::remove
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:103,1
    - Dst: mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:105,1
    - Dst: mapbox::geometry::wagyu::process_horizontals
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:108,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:112,1
    - Dst: mapbox::geometry::wagyu::is_intermediate
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:113,1
    - Dst: mapbox::geometry::wagyu::add_point_to_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:115,1
    - Dst: mapbox::geometry::wagyu::next_edge_in_bound
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 9
    argNames:
    - top_y
    - ' active_bounds'
    - ' scanbeam'
    - ' minima_sorted'
    - ' current_lm'
    - ' manager'
    - cliptype
    - subject_fill_type
    - clip_fill_type
    argTypes:
    - T
    - active_bound_list<T>
    - scanbeam_list<T>
    - local_minimum_ptr_list<T>
    - local_minimum_ptr_list_itr<T>
    - ring_manager<T>
    - clip_type
    - fill_type
    - fill_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 120
    functionName: mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
    functionUses: 8
    functionsReached:
    - erase
    - begin
    - end
    - mapbox::geometry::wagyu::is_intermediate
    - mapbox::geometry::wagyu::current_edge_is_horizontal
    - mapbox::geometry::wagyu::do_maxima
    - mapbox::geometry::wagyu::get_maxima_pair
    - mapbox::geometry::wagyu::next_edge_is_horizontal
    - mapbox::geometry::wagyu::is_maxima
    - mapbox::geometry::wagyu::next_edge_in_bound
    - mapbox::geometry::wagyu::get_current_x
    - mapbox::geometry::wagyu::add_point_to_ring
    - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
    - mapbox::geometry::wagyu::insert_hot_pixels_in_path
    - std::remove
    - mapbox::geometry::wagyu::process_horizontals
    - mapbox::geometry::wagyu::interrupt_check
    linkageType: ''
    returnType: void
    signature: "void process_edges_at_top_of_scanbeam(T top_y,\n                                      active_bound_list<T>&
      active_bounds,\n                                      scanbeam_list<T>& scanbeam,\n
      \                                     local_minimum_ptr_list<T> const& minima_sorted,\n
      \                                     local_minimum_ptr_list_itr<T>& current_lm,\n
      \                                     ring_manager<T>& manager,\n                                      clip_type
      cliptype,\n                                      fill_type subject_fill_type,\n
      \                                     fill_type clip_fill_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:24,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 4
    argNames:
    - ' left_bound_'
    - ' right_bound_'
    - y_
    - has_horz_
    argTypes:
    - bound<T>
    - bound<T>
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mapbox::geometry::wagyu::local_minimum
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void local_minimum(bound<T>&& left_bound_, bound<T>&& right_bound_,
      T y_, bool has_horz_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' locMin1'
    - ' locMin2'
    argTypes:
    - local_minimum_ptr<T>
    - local_minimum_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T>
      const& locMin2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' out'
    - ' lm'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum<T>& lm)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum<T>&
      lm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' out'
    - ' lms'
    argTypes:
    - std::basic_ostream<charT, traits>
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
      local_minimum_ptr_list<T>& lms)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     const local_minimum_ptr_list<T>&
      lms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' lms'
    argTypes:
    - local_minimum_ptr_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: mapbox::geometry::wagyu::output_all_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_all_edges(local_minimum_ptr_list<T> const& lms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:38,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void bound() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:53,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:54,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:55,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:56,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:57,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:58,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:59,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:60,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:61,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:62,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:63,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:64,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void bound(bound<T>&& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mapbox::geometry::wagyu::bound
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bound(bound<T> const& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: '& operator=(bound<T> const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bound<T>
    signature: bound<T> & operator=(bound<T> const&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ' out'
    - ' bnd'
    argTypes:
    - std::basic_ostream<charT, traits>
    - bound<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>&
      bnd)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, const bound<T>& bnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 1
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 1
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 9
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 10
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 10
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 11
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 15
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 12
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 12
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 20
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 13
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 25
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 14
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 18
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 30
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 7
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 7
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - op
    - ' size'
    - ' bbox'
    argTypes:
    - point_ptr<T>
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: mapbox::geometry::wagyu::area_from_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 15
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double area_from_point(point_ptr<T> op, std::size_t& size, mapbox::geometry::box<T>&
      bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(ring const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring
    signature: ring & operator=(ring const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: mapbox::geometry::wagyu::ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void ring()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: mapbox::geometry::wagyu::reset_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::numeric_limits<double>::quiet_NaN
    linkageType: ''
    returnType: void
    signature: void reset_stats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: mapbox::geometry::wagyu::recalculate_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 21
    functionsReached:
    - mapbox::geometry::wagyu::area_from_point
    linkageType: ''
    returnType: void
    signature: void recalculate_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - s
    - ' b'
    argTypes:
    - double
    - std::size_t
    - mapbox::geometry::box<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mapbox::geometry::wagyu::set_stats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_stats(double a, std::size_t s, mapbox::geometry::box<T> const&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:126,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: mapbox::geometry::wagyu::area
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: double
    signature: double area()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:133,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: mapbox::geometry::wagyu::is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: bool
    signature: bool is_hole()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isnan
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:140,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: mapbox::geometry::wagyu::size
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 72
    functionsReached:
    - std::isnan
    - mapbox::geometry::wagyu::recalculate_stats
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_manager(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: '& operator=(ring_manager const&)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ring_manager
    signature: ring_manager & operator=(ring_manager const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mapbox::geometry::wagyu::ring_manager
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: void
    signature: void ring_manager()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: storage::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:185,1
    - Dst: all_points::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' rings'
    - size
    argTypes:
    - ring_manager<T>
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: mapbox::geometry::wagyu::preallocate_point_memory
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - storage::reserve
    - all_points::reserve
    linkageType: ''
    returnType: void
    signature: void preallocate_point_memory(ring_manager<T>& rings, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rings::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:191,1
    - Dst: rings::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: mapbox::geometry::wagyu::create_new_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - rings::emplace_back
    - rings::back
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> create_new_ring(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:200,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:201,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:202,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:204,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:205,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - r
    - ' pt'
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> create_new_point(ring_ptr<T> r, mapbox::geometry::point<T>
      const& pt, ring_manager<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: storage::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::capacity
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:217,1
    - Dst: storage::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:218,1
    - Dst: storage::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:219,1
    - Dst: points::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:221,1
    - Dst: points::back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:222,1
    - Dst: all_points::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - r
    - ' pt'
    - before_this_point
    - ' rings'
    argTypes:
    - ring_ptr<T>
    - mapbox::geometry::point<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: mapbox::geometry::wagyu::create_new_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 32
    functionsReached:
    - storage::size
    - storage::back
    - storage::capacity
    - storage::emplace_back
    - points::emplace_back
    - points::back
    - all_points::push_back
    linkageType: ''
    returnType: point_ptr<T>
    signature: "point_ptr<T> create_new_point(ring_ptr<T> r,\n                              mapbox::geometry::point<T>
      const& pt,\n                              point_ptr<T> before_this_point,\n
      \                             ring_manager<T>& rings)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: mapbox::geometry::wagyu::set_to_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 35
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void set_to_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - r
    - ' children'
    argTypes:
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: mapbox::geometry::wagyu::remove_from_children
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_from_children(ring_ptr<T> r, ring_vector<T>& children)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:254,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:255,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: mapbox::geometry::wagyu::assign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_child(ring_ptr<T> new_ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:266,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:267,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:272,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mapbox::geometry::wagyu::reassign_as_child
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_child(ring_ptr<T> ring, ring_ptr<T> parent, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:285,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:286,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - new_ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: mapbox::geometry::wagyu::assign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void assign_as_sibling(ring_ptr<T> new_ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: ring_ptr<T>::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:301,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:302,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:306,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ring
    - sibling
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: mapbox::geometry::wagyu::reassign_as_sibling
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr<T>::is_hole
    - std::runtime_error
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::set_to_children
    linkageType: ''
    returnType: void
    signature: void reassign_as_sibling(ring_ptr<T> ring, ring_ptr<T> sibling, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:315,1
    - Dst: mapbox::geometry::wagyu::set_to_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:322,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:327,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring1
    - ring2
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts:
    - condition: (ring1 != ring2)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: mapbox::geometry::wagyu::ring1_replaces_ring2
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - assert
    - mapbox::geometry::wagyu::set_to_children
    - mapbox::geometry::wagyu::remove_from_children
    linkageType: ''
    returnType: void
    signature: void ring1_replaces_ring2(ring_ptr<T> ring1, ring_ptr<T> ring2, ring_manager<T>&
      manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pt
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: mapbox::geometry::wagyu::remove_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_points(point_ptr<T> pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:358,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:365,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: mapbox::geometry::wagyu::remove_ring_and_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: void
    signature: "void remove_ring_and_points(ring_ptr<T> r,\n                            ring_manager<T>&
      manager,\n                            bool remove_children = true,\n                            bool
      remove_from_parent = true)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:391,1
    - Dst: mapbox::geometry::wagyu::remove_from_children
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:398,1
    - Dst: ring_ptr<T>::reset_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - r
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 402
    functionName: mapbox::geometry::wagyu::remove_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - ring_ptr<T>::reset_stats
    - mapbox::geometry::wagyu::remove_from_children
    - mapbox::geometry::wagyu::remove_ring
    linkageType: ''
    returnType: void
    signature: void remove_ring(ring_ptr<T> r, ring_manager<T>& manager, bool remove_children
      = true, bool remove_from_parent = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: mapbox::geometry::wagyu::ring_depth
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t ring_depth(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: mapbox::geometry::wagyu::ring_is_hole
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool ring_is_hole(ring_ptr<T> r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' next_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: mapbox::geometry::wagyu::set_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(const_point_ptr<T>& node, const const_point_ptr<T>& next_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: mapbox::geometry::wagyu::get_next
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_next(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: mapbox::geometry::wagyu::get_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: point_ptr<T>
    signature: point_ptr<T> get_prev(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' node'
    - ' prev_node'
    argTypes:
    - const_point_ptr<T>
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: mapbox::geometry::wagyu::set_prev
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(const_point_ptr<T>& node, const const_point_ptr<T>& prev_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:448,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' node'
    argTypes:
    - const_point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::init
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void init(const_point_ptr<T>& node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:454,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:455,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:456,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:457,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: mapbox::geometry::wagyu::link_before
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    linkageType: ''
    returnType: void
    signature: void link_before(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:463,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:464,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:465,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:466,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' node'
    - ' new_node'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: mapbox::geometry::wagyu::link_after
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::get_next
    linkageType: ''
    returnType: void
    signature: void link_after(point_ptr<T>& node, point_ptr<T>& new_node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:473,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:474,1
    - Dst: mapbox::geometry::wagyu::get_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:475,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:476,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:477,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:478,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:479,1
    - Dst: mapbox::geometry::wagyu::set_next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:480,1
    - Dst: mapbox::geometry::wagyu::set_prev
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:481,1
    - Dst: mapbox::geometry::wagyu::link_before
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' p'
    - ' b'
    - ' e'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 485
    functionName: mapbox::geometry::wagyu::transfer_point
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::set_prev
    - mapbox::geometry::wagyu::get_prev
    - mapbox::geometry::wagyu::set_next
    - mapbox::geometry::wagyu::link_before
    linkageType: ''
    returnType: void
    signature: void transfer_point(point_ptr<T>& p, point_ptr<T>& b, point_ptr<T>&
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pp
    argTypes:
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 501
    functionName: mapbox::geometry::wagyu::reverse_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reverse_ring(point_ptr<T> pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:515,1
    - Dst: ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:516,1
    - Dst: area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - ' out'
    - ' r'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 537
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - area
    - ring_is_hole
    - const_cast<ring_ptr<T>>
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring<T>& r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:545,1
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: mapbox::geometry::wagyu::debug_ring_addresses
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string debug_ring_addresses(ring_ptr<T> r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp:589,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: mapbox::geometry::wagyu::output_as_polygon
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string output_as_polygon(ring_ptr<T> r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>&
      rings)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out, ring_vector<T>& rings)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' out'
    - ' rings'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::deque<ring<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 619
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     std::deque<ring<T>>&
      rings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' out'
    - ' hp_vec'
    argTypes:
    - std::basic_ostream<charT, traits>
    - hot_pixel_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> & operator<<(std::basic_ostream<charT,
      traits>& out,\n                                                     hot_pixel_vector<T>&
      hp_vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: mapbox::geometry::wagyu::ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 1
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 2
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 3
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 9
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 8
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 9
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 4
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 11
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 10
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 11
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 5
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 13
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 12
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 13
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 6
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr<T> o1, point_ptr<T> o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T> const& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mapbox::geometry::wagyu::point_ptr_pair
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void point_ptr_pair(point_ptr_pair<T>&& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:40,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - point_ptr_pair<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: '& operator=(point_ptr_pair<T>&& p)'
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: point_ptr_pair
    signature: point_ptr_pair & operator=(point_ptr_pair<T>&& p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 2
    argNames:
    - ' out'
    - ' dupe_ring'
    argTypes:
    - std::basic_ostream<charT, traits>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const
      std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>& dupe_ring)"
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::basic_ostream<charT, traits>
    signature: "std::basic_ostream<charT, traits> &\noperator<<(std::basic_ostream<charT,
      traits>& out,\n           const std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:111,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:116,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:117,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:122,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:128,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:129,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:131,1
    - Dst: count
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:133,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:134,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:138,1
    - Dst: emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 9
    argNames:
    - ' dupe_ring'
    - ' iList'
    - ring_parent
    - ring_origin
    - ring_search
    - ' visited'
    - orig_pt
    - prev_pt
    - ' rings'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_ptr<T>
    - std::set<ring_ptr<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: mapbox::geometry::wagyu::find_intersect_loop
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 15
    functionsReached:
    - emplace_front
    - mapbox::geometry::wagyu::find_intersect_loop
    - erase
    - ring_ptr::is_hole
    - ring_ptr::area
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - insert
    - count
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool find_intersect_loop(std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>&
      dupe_ring,\n                         std::list<std::pair<ring_ptr<T>, point_ptr_pair<T>>>&
      iList,\n                         ring_ptr<T> ring_parent,\n                         ring_ptr<T>
      ring_origin,\n                         ring_ptr<T> ring_search,\n                         std::set<ring_ptr<T>>&
      visited,\n                         point_ptr<T> orig_pt,\n                         point_ptr<T>
      prev_pt,\n                         ring_manager<T>& rings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:155,1
    - Dst: ring_depth
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - op1
    - op2
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: operator()(point_ptr<T> op1, point_ptr<T> op2)
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - ring_depth
    linkageType: ''
    returnType: bool
    signature: bool operator()(point_ptr<T> op1, point_ptr<T> op2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:168,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:169,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:170,1
    - Dst: mapbox::geometry::wagyu::ring_is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:173,1
    - Dst: mapbox::geometry::wagyu::reverse_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:174,1
    - Dst: mapbox::geometry::wagyu::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: mapbox::geometry::wagyu::correct_orientations
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::ring_is_hole
    - mapbox::geometry::wagyu::reverse_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::recalculate_stats
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_orientations(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:186,1
    - Dst: point_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:189,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    - Dst: point_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - ring_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: mapbox::geometry::wagyu::sort_ring_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - point_vector::end
    - std::stable_sort
    - point_vector::begin
    - point_vector::push_back
    linkageType: ''
    returnType: point_vector<T>
    signature: point_vector<T> sort_ring_points(ring_ptr<T> r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:202,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:215,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:220,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:221,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:223,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:225,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:227,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:230,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:232,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - pt1
    - pt2
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: mapbox::geometry::wagyu::correct_self_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 14
    functionsReached:
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::update_points_ring
    - std::fabs
    - ring_ptr::set_stats
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: ring_ptr<T>
    signature: ring_ptr<T> correct_self_intersection(point_ptr<T> pt1, point_ptr<T>
      pt2, ring_manager<T>& manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:247,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:251,1
    - Dst: push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - ' manager'
    - ' new_rings'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - ring_vector<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: mapbox::geometry::wagyu::correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::correct_self_intersection
    - push_back
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_repeated_points(ring_manager<T>& manager,\n                             ring_vector<T>&
      new_rings,\n                             point_vector_itr<T> const& begin,\n
      \                            point_vector_itr<T> const& end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_ring_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:261,1
    - Dst: auto::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:264,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:265,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:266,1
    - Dst: auto::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:271,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:284,1
    - Dst: mapbox::geometry::wagyu::correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - r
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: mapbox::geometry::wagyu::find_and_correct_repeated_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - std::advance
    - mapbox::geometry::wagyu::sort_ring_points
    - std::next
    - mapbox::geometry::wagyu::correct_repeated_points
    - auto::end
    - auto::begin
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void find_and_correct_repeated_points(ring_ptr<T> r, ring_manager<T>&
      manager, ring_vector<T>& new_rings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::find
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:300,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:303,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - new_ring
    - sibling_ring
    - ' manager'
    - ' new_rings'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 307
    functionName: mapbox::geometry::wagyu::reassign_children_if_necessary
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - std::find
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: "void reassign_children_if_necessary(ring_ptr<T> new_ring,\n                                    ring_ptr<T>
      sibling_ring,\n                                    ring_manager<T>& manager,\n
      \                                   ring_vector<T>& new_rings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:323,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:329,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - r
    - possible_parent
    - ' manager'
    argTypes:
    - ring_ptr<T>
    - ring_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: mapbox::geometry::wagyu::find_parent_in_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 15
    functionsReached:
    - mapbox::geometry::wagyu::find_parent_in_tree
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - mapbox::geometry::wagyu::reassign_as_child
    linkageType: ''
    returnType: bool
    signature: bool find_parent_in_tree(ring_ptr<T> r, ring_ptr<T> possible_parent,
      ring_manager<T>& manager)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: std::remove_if
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:341,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:346,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:348,1
    - Dst: empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:350,1
    - Dst: ring_ptr<T>::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:359,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:365,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:366,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:370,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:371,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:375,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:376,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:383,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:384,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:387,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:388,1
    - Dst: begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:394,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:403,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:404,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:410,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:411,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:430,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:431,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:439,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:440,1
    - Dst: mapbox::geometry::wagyu::find_parent_in_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:443,1
    - Dst: mapbox::geometry::wagyu::reassign_children_if_necessary
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:444,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - ' manager'
    - original_ring
    - ' new_rings'
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - ring_vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 450
    functionName: mapbox::geometry::wagyu::assign_new_ring_parents
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - empty
    - erase
    - front
    - mapbox::geometry::wagyu::reassign_children_if_necessary
    - end
    - mapbox::geometry::wagyu::value_is_zero
    - begin
    - mapbox::geometry::wagyu::area
    - mapbox::geometry::wagyu::assign_as_child
    - std::fabs
    - mapbox::geometry::wagyu::find_parent_in_tree
    - ring_ptr<T>::area
    - std::runtime_error
    - std::remove_if
    - mapbox::geometry::wagyu::size
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void assign_new_ring_parents(ring_manager<T>& manager, ring_ptr<T>
      original_ring, ring_vector<T>& new_rings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_and_correct_repeated_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:461,1
    - Dst: mapbox::geometry::wagyu::assign_new_ring_parents
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' manager'
    - r
    - correct_tree
    argTypes:
    - ring_manager<T>
    - ring_ptr<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 469
    functionName: mapbox::geometry::wagyu::correct_ring_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::find_and_correct_repeated_points
    - mapbox::geometry::wagyu::assign_new_ring_parents
    linkageType: ''
    returnType: bool
    signature: bool correct_ring_self_intersections(ring_manager<T>& manager, ring_ptr<T>
      r, bool correct_tree)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:482,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:492,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:498,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:522,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:526,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:530,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:537,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:544,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:545,1
    - Dst: std::set::insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:547,1
    - Dst: end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:549,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:553,1
    - Dst: mapbox::geometry::wagyu::find_intersect_loop
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:554,1
    - Dst: std::list::emplace_front
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:557,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:565,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:566,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:570,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:574,1
    - Dst: emplace
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: std::move
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:584,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:588,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:591,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:606,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:627,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:633,1
    - Dst: mapbox::geometry::wagyu::area_from_point
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:634,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:637,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:639,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:642,1
    - Dst: ring_ptr::set_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:644,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:647,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:648,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:656,1
    - Dst: mapbox::geometry::wagyu::ring1_replaces_ring2
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:658,1
    - Dst: mapbox::geometry::wagyu::assign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:662,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:669,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:670,1
    - Dst: mapbox::geometry::wagyu::assign_as_sibling
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:677,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:682,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:683,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:691,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:699,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:700,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:703,1
    - Dst: equal_range
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:707,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:712,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:716,1
    - Dst: std::list::emplace_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:717,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:719,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: ring_ptr::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:721,1
    - Dst: erase
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:724,1
    - Dst: std::list::empty
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:729,1
    - Dst: insert
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    - Dst: std::list::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:730,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 172
    argCount: 4
    argNames:
    - ' connection_map'
    - op_j
    - op_k
    - ' manager'
    argTypes:
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 734
    functionName: mapbox::geometry::wagyu::process_single_intersection
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - std::list::empty
    - insert
    - mapbox::geometry::wagyu::area_from_point
    - mapbox::geometry::wagyu::assign_as_sibling
    - mapbox::geometry::wagyu::reassign_as_child
    - erase
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - equal_range
    - mapbox::geometry::wagyu::assign_as_child
    - end
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::set_stats
    - std::list::end
    - mapbox::geometry::wagyu::find_intersect_loop
    - ring_ptr::is_hole
    - ring_ptr::area
    - mapbox::geometry::wagyu::value_is_zero
    - std::list::emplace_back
    - std::list::emplace_front
    - std::set::insert
    - mapbox::geometry::wagyu::ring1_replaces_ring2
    - std::move
    - emplace
    - std::list::begin
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: "void process_single_intersection(std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                                 point_ptr<T>
      op_j,\n                                 point_ptr<T> op_k,\n                                 ring_manager<T>&
      manager)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:745,1
    - Dst: mapbox::geometry::wagyu::process_single_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - ' manager'
    - ' connection_map'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - std::unordered_multimap<ring_ptr<T>, point_ptr_pair<T>>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 752
    functionName: mapbox::geometry::wagyu::correct_chained_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::process_single_intersection
    - std::next
    linkageType: ''
    returnType: void
    signature: "void correct_chained_repeats(ring_manager<T>& manager,\n                             std::unordered_multimap<ring_ptr<T>,
      point_ptr_pair<T>>& connection_map,\n                             point_vector_itr<T>
      const& begin,\n                             point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:757,1
    - Dst: std::unordered_multimap::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:763,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:772,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:773,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:774,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:779,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:792,1
    - Dst: mapbox::geometry::wagyu::correct_chained_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 755
    functionDepth: 6
    functionLinenumber: 755
    functionLinenumberEnd: 796
    functionName: mapbox::geometry::wagyu::correct_chained_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - rings::size
    - all_points::begin
    - all_points::end
    - std::next
    - std::advance
    - std::unordered_multimap::reserve
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_chained_repeats
    linkageType: ''
    returnType: void
    signature: void correct_chained_rings(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:801,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:803,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:805,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 812
    functionName: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_largest_to_smallest(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_vector::reserve
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: rings::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:817,1
    - Dst: ring_vector::push_back
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:819,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:821,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - rings::size
    - ring_vector::push_back
    - mapbox::geometry::wagyu::area
    - std::fabs
    - ring_vector::end
    - ring_vector::reserve
    - ring_vector::begin
    - std::stable_sort
    linkageType: ''
    returnType: ring_vector<T>
    signature: ring_vector<T> sort_rings_smallest_to_largest(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - collinear_path<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 933
    functionName: mapbox::geometry::wagyu::fix_collinear_path
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: collinear_result<T>
    signature: collinear_result<T> fix_collinear_path(collinear_path<T>& path)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 77
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1025
    functionName: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: collinear_path<T>
    signature: collinear_path<T> find_start_and_end_of_collinear_edges(point_ptr<T>
      pt_a, point_ptr<T> pt_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pt_a
    - pt_b
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: mapbox::geometry::wagyu::has_collinear_edge
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_collinear_edge(point_ptr<T> pt_a, point_ptr<T> pt_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1038,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1039,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1044,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1050,1
    - Dst: mapbox::geometry::wagyu::create_new_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1054,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1056,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1057,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1061
    functionName: mapbox::geometry::wagyu::process_collinear_edges_same_ring
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - ring_ptr::recalculate_stats
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - mapbox::geometry::wagyu::update_points_ring
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::fix_collinear_path
    - mapbox::geometry::wagyu::create_new_ring
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_same_ring(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: std::fabs
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: ring_ptr::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1067,1
    - Dst: mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1068,1
    - Dst: mapbox::geometry::wagyu::fix_collinear_path
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1070,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1072,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1073,1
    - Dst: mapbox::geometry::wagyu::update_points_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1082,1
    - Dst: ring_ptr::recalculate_stats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1083,1
    - Dst: ring_ptr::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1084,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1085,1
    - Dst: mapbox::geometry::wagyu::remove_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1088
    functionName: mapbox::geometry::wagyu::process_collinear_edges_different_rings
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - ring_ptr::recalculate_stats
    - ring_ptr::area
    - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
    - std::fabs
    - mapbox::geometry::wagyu::update_points_ring
    - ring_ptr::size
    - mapbox::geometry::wagyu::remove_ring
    - mapbox::geometry::wagyu::remove_ring_and_points
    - mapbox::geometry::wagyu::fix_collinear_path
    linkageType: ''
    returnType: void
    signature: void process_collinear_edges_different_rings(point_ptr<T> pt_a, point_ptr<T>
      pt_b, ring_manager<T>& manager)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1138,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1174
    functionName: mapbox::geometry::wagyu::remove_duplicate_points
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::remove_ring_and_points
    linkageType: ''
    returnType: bool
    signature: bool remove_duplicate_points(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::remove_duplicate_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1183,1
    - Dst: mapbox::geometry::wagyu::has_collinear_edge
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1187,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersection
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1189,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_same_ring
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1196,1
    - Dst: mapbox::geometry::wagyu::process_collinear_edges_different_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pt_a
    - pt_b
    - ' manager'
    argTypes:
    - point_ptr<T>
    - point_ptr<T>
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1201
    functionName: mapbox::geometry::wagyu::process_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges_same_ring
    - mapbox::geometry::wagyu::remove_duplicate_points
    - mapbox::geometry::wagyu::has_collinear_edge
    - mapbox::geometry::wagyu::correct_self_intersection
    - mapbox::geometry::wagyu::process_collinear_edges_different_rings
    linkageType: ''
    returnType: bool
    signature: bool process_collinear_edges(point_ptr<T> pt_a, point_ptr<T> pt_b,
      ring_manager<T>& manager)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::process_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ' manager'
    - ' begin'
    - ' end'
    argTypes:
    - ring_manager<T>
    - point_vector_itr<T>
    - point_vector_itr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 4
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: mapbox::geometry::wagyu::correct_collinear_repeats
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::process_collinear_edges
    linkageType: ''
    returnType: void
    signature: "void correct_collinear_repeats(ring_manager<T>& manager,\n                               point_vector_itr<T>
      const& begin,\n                               point_vector_itr<T> const& end)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: all_points::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1231,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1235,1
    - Dst: std::next
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1236,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1237,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1242,1
    - Dst: std::advance
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1255,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_repeats
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1259
    functionName: mapbox::geometry::wagyu::correct_collinear_edges
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - std::advance
    - all_points::begin
    - all_points::end
    - std::next
    - all_points::size
    - static_cast<int>
    - mapbox::geometry::wagyu::correct_collinear_repeats
    linkageType: ''
    returnType: void
    signature: void correct_collinear_edges(ring_manager<T>& manager)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_largest_to_smallest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1273,1
    - Dst: ring_vector::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: ring_vector::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1274,1
    - Dst: mapbox::geometry::wagyu::size
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::value_is_zero
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::area
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1278,1
    - Dst: mapbox::geometry::wagyu::remove_ring_and_points
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1279,1
    - Dst: rev_itr
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: ring_vector::rend
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1286,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1288,1
    - Dst: mapbox::geometry::wagyu::poly2_contains_poly1
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1291,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1292,1
    - Dst: mapbox::geometry::wagyu::is_hole
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1298,1
    - Dst: std::runtime_error
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1299,1
    - Dst: mapbox::geometry::wagyu::reassign_as_child
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    - Dst: static_cast<ring_ptr<T>>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1306
    functionName: mapbox::geometry::wagyu::correct_tree
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::reassign_as_child
    - rev_itr
    - std::runtime_error
    - mapbox::geometry::wagyu::poly2_contains_poly1
    - static_cast<ring_ptr<T>>
    - mapbox::geometry::wagyu::value_is_zero
    - mapbox::geometry::wagyu::area
    - ring_vector::end
    - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
    - mapbox::geometry::wagyu::remove_ring_and_points
    - ring_vector::rend
    - ring_vector::begin
    - mapbox::geometry::wagyu::size
    - mapbox::geometry::wagyu::is_hole
    linkageType: ''
    returnType: void
    signature: void correct_tree(ring_manager<T>& manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapbox::geometry::wagyu::sort_rings_smallest_to_largest
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1311,1
    - Dst: mapbox::geometry::wagyu::correct_ring_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' manager'
    - correct_tree
    argTypes:
    - ring_manager<T>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: mapbox::geometry::wagyu::correct_self_intersections
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 7
    functionsReached:
    - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
    - mapbox::geometry::wagyu::correct_ring_self_intersections
    linkageType: ''
    returnType: bool
    signature: bool correct_self_intersections(ring_manager<T>& manager, bool correct_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::begin
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: all_points::end
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: point_ptr_cmp<T>
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1325,1
    - Dst: mapbox::geometry::wagyu::correct_orientations
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1329,1
    - Dst: mapbox::geometry::wagyu::correct_collinear_edges
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1333,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1335,1
    - Dst: mapbox::geometry::wagyu::correct_tree
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1337,1
    - Dst: mapbox::geometry::wagyu::correct_chained_rings
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1341,1
    - Dst: mapbox::geometry::wagyu::correct_self_intersections
      Src: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' manager'
    argTypes:
    - ring_manager<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1321
    functionDepth: 8
    functionLinenumber: 1321
    functionLinenumberEnd: 1344
    functionName: mapbox::geometry::wagyu::correct_topology
    functionSourceFile: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    functionUses: 0
    functionsReached:
    - mapbox::geometry::wagyu::correct_orientations
    - all_points::begin
    - all_points::end
    - mapbox::geometry::wagyu::correct_collinear_edges
    - mapbox::geometry::wagyu::correct_tree
    - mapbox::geometry::wagyu::correct_self_intersections
    - mapbox::geometry::wagyu::correct_chained_rings
    - point_ptr_cmp<T>
    - std::stable_sort
    linkageType: ''
    returnType: void
    signature: void correct_topology(ring_manager<T>& manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: DECLTYPE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DECLTYPE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: uthash_malloc
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: uthash_free
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr,sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: uthash_bzero
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_bzero(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: uthash_strlen
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_strlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: uthash_memcmp
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_memcmp(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: HASH_KEYCMP
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_KEYCMP(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: uthash_nonfatal_oom
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_nonfatal_oom(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: IF_HASH_NONFATAL_OOM
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_HASH_NONFATAL_OOM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: uthash_fatal
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: ELMT_FROM_HH
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELMT_FROM_HH(tbl,hhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - elp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: HH_FROM_ELMT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HH_FROM_ELMT(tbl,elp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - itemptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: HASH_ROLLBACK_BKT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ROLLBACK_BKT(hh, head, itemptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: HASH_VALUE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_VALUE(keyptr,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: HASH_FIND_BYHASHVALUE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: HASH_FIND
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND(hh,head,keyptr,keylen,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: HASH_BLOOM_MAKE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_MAKE(tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: HASH_BLOOM_FREE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_FREE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: HASH_BLOOM_BITSET
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITSET(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: HASH_BLOOM_BITTEST
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITTEST(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: HASH_BLOOM_ADD
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_ADD(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: HASH_MAKE_TABLE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_TABLE(hh,head,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: HASH_REPLACE_BYHASHVALUE_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: HASH_REPLACE_BYHASHVALUE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: HASH_REPLACE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: HASH_REPLACE_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: HASH_APPEND_LIST
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_APPEND_LIST(hh, head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 354
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 390
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: HASH_ADD_KEYPTR_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: HASH_ADD_BYHASHVALUE_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: HASH_ADD_INORDER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 424
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: HASH_ADD_KEYPTR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: HASH_ADD_BYHASHVALUE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: HASH_ADD
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD(hh,head,fieldname,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hashv
    - ','
    - num_bkts
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: HASH_TO_BKT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_TO_BKT(hashv,num_bkts,bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: HASH_DELETE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE(hh,head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: HASH_DELETE_HH
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE_HH(hh,head,delptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findstr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: HASH_FIND_STR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_STR(head,findstr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: HASH_ADD_STR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_STR(head,strfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: HASH_REPLACE_STR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_STR(head,strfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findint
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: HASH_FIND_INT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_INT(head,findint,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: HASH_ADD_INT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INT(head,intfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: HASH_REPLACE_INT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INT(head,intfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findptr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: HASH_FIND_PTR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_PTR(head,findptr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: HASH_ADD_PTR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_PTR(head,ptrfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: HASH_REPLACE_PTR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_PTR(head,ptrfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: HASH_DEL
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL(head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    functionName: HASH_OOPS
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OOPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 571
    functionName: HASH_FSCK
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FSCK(hh,head,where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - fieldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: HASH_EMIT_KEY
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: HASH_BER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BER(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: HASH_SAX
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SAX(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: HASH_FNV
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 645
    functionName: HASH_OAT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OAT(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 658
    functionName: HASH_JEN_MIX
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN_MIX(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 684
    functionName: HASH_JEN
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: get16bits
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: get16bits
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 719
    functionName: HASH_SFH
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SFH(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 765
    functionName: MUR_GETBLOCK
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_GETBLOCK(p,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 767
    functionName: MUR_PLUS0_ALIGNED
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS0_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 768
    functionName: MUR_PLUS1_ALIGNED
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS1_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: MUR_PLUS2_ALIGNED
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS2_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: MUR_PLUS3_ALIGNED
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_PLUS3_ALIGNED(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: WP
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WP(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: MUR_THREE_ONE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_THREE_ONE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: MUR_TWO_TWO
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_TWO_TWO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 775
    functionName: MUR_ONE_THREE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ONE_THREE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: MUR_THREE_ONE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_THREE_ONE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: MUR_TWO_TWO
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_TWO_TWO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: MUR_ONE_THREE
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ONE_THREE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: MUR_GETBLOCK
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_GETBLOCK(p,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: MUR_ROTL32
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_ROTL32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: MUR_FMIX
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUR_FMIX(_h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 820
    functionName: HASH_MUR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MUR(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbl
    - ','
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 855
    functionName: HASH_FIND_IN_BKT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - hh
    - ','
    - addhh
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 877
    functionName: HASH_ADD_TO_BKT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_BKT(head,hh,addhh,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 893
    functionName: HASH_DEL_IN_BKT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL_IN_BKT(head,delhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 974
    functionName: HASH_EXPAND_BUCKETS
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EXPAND_BUCKETS(hh,tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 980
    functionName: HASH_SORT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SORT(head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1063
    functionName: HASH_SRT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SRT(hh,head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh_dst
    - ','
    - dst
    - ','
    - hh_src
    - ','
    - src
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1126
    functionName: HASH_SELECT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SELECT(hh_dst, dst, hh_src, src, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1137
    functionName: HASH_CLEAR
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CLEAR(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: HASH_OVERHEAD
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OVERHEAD(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1149
    functionName: HASH_ITER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1153
    functionName: HASH_ITER
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1157
    functionName: HASH_COUNT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_COUNT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1158
    functionName: HASH_CNT
    functionSourceFile: /src/postgis/deps/uthash/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CNT(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - geometry
    - geometry_type
    - has_z
    - has_m
    argTypes:
    - FlatGeobuf::Geometry*
    - FlatGeobuf::GeometryType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: FlatGeobuf::GeometryReader::GeometryReader
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GeometryReader(\n\t\t\tconst FlatGeobuf::Geometry *geometry,\n\t\t\tFlatGeobuf::GeometryType
      geometry_type,\n\t\t\tbool has_z,\n\t\t\tbool has_m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - geometry
    - geometry_type
    - has_z
    - has_m
    argTypes:
    - FlatGeobuf::Geometry*
    - FlatGeobuf::GeometryType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: FlatGeobuf::GeometryReader::GeometryReader
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GeometryReader(\n\t\t\tconst FlatGeobuf::Geometry *geometry,\n\t\t\tFlatGeobuf::GeometryType
      geometry_type,\n\t\t\tbool has_z,\n\t\t\tbool has_m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: FlatGeobuf::width
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: FlatGeobuf::height
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeItem::expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeItem
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: FlatGeobuf::sum
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached:
    - NodeItem::expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem sum(NodeItem a, const NodeItem &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: std::deque<ITEM_TYPE>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: std::deque<ITEM_TYPE>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::deque<ITEM_TYPE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached:
    - std::accumulate
    - std::deque<ITEM_TYPE>::end
    - std::deque<ITEM_TYPE>::begin
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::deque<ITEM_TYPE> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:100,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:103,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:104,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:105,1
    - Dst: std::deque<ITEM_TYPE>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:106,1
    - Dst: std::deque<ITEM_TYPE>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:106,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:110,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::deque<ITEM_TYPE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached:
    - std::deque<ITEM_TYPE>::end
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::deque<ITEM_TYPE>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::deque<ITEM_TYPE> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ~PackedRTree()
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackedRTree()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: FlatGeobuf::width
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: FlatGeobuf::height
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double height() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeItem::expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NodeItem
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: FlatGeobuf::sum
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached:
    - NodeItem::expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem sum(NodeItem a, const NodeItem &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: std::deque<ITEM_TYPE>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: std::deque<ITEM_TYPE>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:93,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::deque<ITEM_TYPE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 1
    functionsReached:
    - std::accumulate
    - std::deque<ITEM_TYPE>::end
    - std::deque<ITEM_TYPE>::begin
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::deque<ITEM_TYPE> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:100,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:103,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:104,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:105,1
    - Dst: std::deque<ITEM_TYPE>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:106,1
    - Dst: std::deque<ITEM_TYPE>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:106,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:110,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::deque<ITEM_TYPE>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached:
    - std::deque<ITEM_TYPE>::end
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::deque<ITEM_TYPE>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::deque<ITEM_TYPE> &items)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ~PackedRTree()
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PackedRTree()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: '&NodeItem::expand(const NodeItem &r)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem &NodeItem::expand(const NodeItem &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:64,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:65,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:66,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: FlatGeobuf::NodeItem::create
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 2
    functionsReached:
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem NodeItem::create(uint64_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: FlatGeobuf::NodeItem::intersects
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NodeItem::intersects(const NodeItem &r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: FlatGeobuf::NodeItem::toVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> NodeItem::toVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 146
    functionName: FlatGeobuf::hilbert
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hilbert(uint32_t x, uint32_t y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:155,1
    - Dst: floor
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:158,1
    - Dst: floor
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:159,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - r
    - hilbertMax
    - minX
    - minY
    - width
    - height
    argTypes:
    - NodeItem
    - uint32_t
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: FlatGeobuf::hilbert
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 3
    functionsReached:
    - FlatGeobuf::hilbert
    - static_cast<uint32_t>
    - floor
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t hilbert(const NodeItem &r, uint32_t hilbertMax, const double
      minX,\n                 const double minY, const double width, const double
      height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:166,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:169,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:170,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: std::vector<std::shared_ptr<Item>>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: std::vector<std::shared_ptr<Item>>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:175,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::shared_ptr<Item>>::end
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::vector<std::shared_ptr<Item>>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::vector<std::shared_ptr<Item>> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:185,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:188,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:189,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: std::vector<NodeItem>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: std::vector<NodeItem>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:194,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<NodeItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::vector<NodeItem>::begin
    - std::sort
    - std::vector<NodeItem>::end
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::vector<NodeItem> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: std::vector<std::shared_ptr<Item>>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: std::vector<std::shared_ptr<Item>>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 4
    functionsReached:
    - std::accumulate
    - std::vector<std::shared_ptr<Item>>::end
    - std::vector<std::shared_ptr<Item>>::begin
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::vector<std::shared_ptr<Item>> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: std::vector<NodeItem>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: std::vector<NodeItem>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - std::vector<NodeItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 4
    functionsReached:
    - std::accumulate
    - std::vector<NodeItem>::begin
    - std::vector<NodeItem>::end
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::vector<NodeItem> &nodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:218,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:220,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: std::max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:222,1
    - Dst: FlatGeobuf::PackedRTree::generateLevelBounds
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:223,1
    - Dst: front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:224,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:225,1
    - Dst: NodeItem::NodeItem
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - nodeSize
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: FlatGeobuf::PackedRTree::init
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::max
    - std::invalid_argument
    - FlatGeobuf::PackedRTree::generateLevelBounds
    - front
    - NodeItem::NodeItem
    - std::min
    - static_cast<size_t>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PackedRTree::init(const uint16_t nodeSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:233,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:235,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:237,1
    - Dst: std::overflow_error
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:256,1
    - Dst: std::vector::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:258,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:259,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - numItems
    - nodeSize
    argTypes:
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 262
    functionName: FlatGeobuf::PackedRTree::generateLevelBounds
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 1
    functionsReached:
    - std::pair<uint64_t, uint64_t>
    - std::vector::push_back
    - mapbox::geometry::wagyu::round_towards_max
    - std::invalid_argument
    - std::overflow_error
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::pair<uint64_t, uint64_t>>
    signature: "std::vector<std::pair<uint64_t, uint64_t>> PackedRTree::generateLevelBounds(const
      uint64_t numItems,\n                                 const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:266,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:273,1
    - Dst: NodeItem::expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: FlatGeobuf::PackedRTree::generateNodes
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - NodeItem::expand
    - FlatGeobuf::NodeItem::create
    - FlatGeobuf::PackedRTree::size
    linkageType: ''
    returnType: void
    signature: void PackedRTree::generateNodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:283,1
    - Dst: reinterpret_cast<const NodeItem *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:284,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: FlatGeobuf::PackedRTree::fromData
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - reinterpret_cast<const NodeItem *>
    - expand
    linkageType: ''
    returnType: void
    signature: void PackedRTree::fromData(const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::shared_ptr<Item>>::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:295,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:297,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - items
    - extent
    - nodeSize
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::generateNodes
    - std::vector<std::shared_ptr<Item>>::size
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const std::vector<std::shared_ptr<Item>>
      &items,\n                         const NodeItem &extent, const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<NodeItem>::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:305,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:307,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - nodes
    - extent
    - nodeSize
    argTypes:
    - std::vector<NodeItem>
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - std::vector<NodeItem>::size
    - FlatGeobuf::PackedRTree::generateNodes
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const std::vector<NodeItem> &nodes,\n
      \                        const NodeItem &extent, const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:315,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:317,1
    - Dst: FlatGeobuf::PackedRTree::fromData
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - numItems
    - nodeSize
    argTypes:
    - void*
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::fromData
    - FlatGeobuf::NodeItem::create
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const void *data, const uint64_t numItems,\n
      \                        const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:326,1
    - Dst: fillNodeItems
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:327,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - fillNodeItems
    - numItems
    - extent
    - nodeSize
    argTypes:
    - std::function<void(NodeItem *)>
    - uint64_t
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::generateNodes
    - fillNodeItems
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(std::function<void(NodeItem *)> fillNodeItems,\n
      \                        const uint64_t numItems, const NodeItem &extent,\n
      \                        const uint16_t nodeSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:334,1
    - Dst: std::unordered_map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: FlatGeobuf::PackedRTree::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: std::unordered_map::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:339,1
    - Dst: std::unordered_map::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:341,1
    - Dst: std::unordered_map::erase
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:344,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:348,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:348,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:349,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:353,1
    - Dst: NodeItem::intersects
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:354,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:357,1
    - Dst: std::unordered_map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:359,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - minX
    - minY
    - maxX
    - maxY
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 364
    functionName: FlatGeobuf::PackedRTree::search
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_map::begin
    - std::pair<uint64_t, uint64_t>
    - static_cast<uint64_t>
    - NodeItem::intersects
    - std::vector::push_back
    - std::unordered_map::erase
    - front
    - std::unordered_map::size
    - std::min
    - FlatGeobuf::PackedRTree::size
    - static_cast<size_t>
    - std::unordered_map::insert
    linkageType: ''
    returnType: std::vector<SearchResultItem>
    signature: std::vector<SearchResultItem> PackedRTree::search(double minX, double
      minY, double maxX, double maxY) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::generateLevelBounds
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:370,1
    - Dst: auto::front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:371,1
    - Dst: auto::front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:372,1
    - Dst: std::vector<NodeItem>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:373,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:374,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:374,1
    - Dst: std::map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: std::map::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:379,1
    - Dst: std::map::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:381,1
    - Dst: std::map::erase
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:384,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:387,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:387,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:388,1
    - Dst: readNode
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:391,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:393,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:395,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:396,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:397,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:398,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:399,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:406,1
    - Dst: NodeItem::intersects
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:410,1
    - Dst: std::map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:412,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - numItems
    - nodeSize
    - item
    - readNode
    argTypes:
    - uint64_t
    - uint16_t
    - NodeItem
    - std::function<void(uint8_t *, size_t, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 417
    functionName: FlatGeobuf::PackedRTree::streamSearch
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::pair<uint64_t, uint64_t>
    - static_cast<uint64_t>
    - NodeItem::intersects
    - std::vector<NodeItem>
    - std::vector::push_back
    - FlatGeobuf::PackedRTree::generateLevelBounds
    - std::map::insert
    - reinterpret_cast<uint8_t *>
    - std::min
    - auto::data
    - std::map::erase
    - CPL_LSBPTR64
    - std::map::size
    - std::map::begin
    - static_cast<size_t>
    - auto::front
    - readNode
    - auto::size
    linkageType: ''
    returnType: std::vector<SearchResultItem>
    signature: "std::vector<SearchResultItem> PackedRTree::streamSearch(\n    const
      uint64_t numItems, const uint16_t nodeSize, const NodeItem &item,\n    const
      std::function<void(uint8_t *, size_t, size_t)> &readNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: FlatGeobuf::PackedRTree::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackedRTree::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:427,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:429,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: std::max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:432,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:434,1
    - Dst: std::overflow_error
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - numItems
    - nodeSize
    argTypes:
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 444
    functionName: FlatGeobuf::PackedRTree::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 2
    functionsReached:
    - std::max
    - static_cast<uint64_t>
    - std::invalid_argument
    - std::min
    - std::overflow_error
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackedRTree::size(const uint64_t numItems, const uint16_t
      nodeSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:450,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:452,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:453,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:454,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:455,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:456,1
    - Dst: writeData
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:459,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:459,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:460,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:462,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:464,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:465,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:466,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:467,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - writeData
    argTypes:
    - std::function<void(uint8_t *, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 471
    functionName: FlatGeobuf::PackedRTree::streamWrite
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - CPL_LSBPTR64
    - reinterpret_cast<uint8_t *>
    - writeData
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::streamWrite(\n    const std::function<void(uint8_t
      *, size_t)> &writeData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: FlatGeobuf::PackedRTree::getExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem PackedRTree::getExtent() const
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: '&NodeItem::expand(const NodeItem &r)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem &NodeItem::expand(const NodeItem &r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:64,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:65,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:66,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: FlatGeobuf::NodeItem::create
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 6
    functionsReached:
    - std::numeric_limits<double>::infinity
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem NodeItem::create(uint64_t offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - NodeItem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: FlatGeobuf::NodeItem::intersects
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NodeItem::intersects(const NodeItem &r) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: FlatGeobuf::NodeItem::toVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<double>
    signature: std::vector<double> NodeItem::toVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 146
    functionName: FlatGeobuf::hilbert
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hilbert(uint32_t x, uint32_t y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:155,1
    - Dst: floor
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:156,1
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:158,1
    - Dst: floor
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:159,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - r
    - hilbertMax
    - minX
    - minY
    - width
    - height
    argTypes:
    - NodeItem
    - uint32_t
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: FlatGeobuf::hilbert
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 6
    functionsReached:
    - FlatGeobuf::hilbert
    - static_cast<uint32_t>
    - floor
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t hilbert(const NodeItem &r, uint32_t hilbertMax, const double
      minX,\n                 const double minY, const double width, const double
      height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:166,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:169,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:170,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: std::vector<std::shared_ptr<Item>>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: std::vector<std::shared_ptr<Item>>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:171,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:175,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::shared_ptr<Item>>::end
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::vector<std::shared_ptr<Item>>::begin
    - std::sort
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::vector<std::shared_ptr<Item>> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::calcExtent
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:185,1
    - Dst: NodeItem::width
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:188,1
    - Dst: NodeItem::height
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:189,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: std::vector<NodeItem>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: std::vector<NodeItem>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:190,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:194,1
    - Dst: FlatGeobuf::hilbert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<NodeItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: FlatGeobuf::hilbertSort
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - NodeItem::height
    - FlatGeobuf::hilbert
    - NodeItem::width
    - FlatGeobuf::calcExtent
    - std::vector<NodeItem>::begin
    - std::sort
    - std::vector<NodeItem>::end
    linkageType: ''
    returnType: void
    signature: void hilbertSort(std::vector<NodeItem> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: std::vector<std::shared_ptr<Item>>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: std::vector<std::shared_ptr<Item>>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:203,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 6
    functionsReached:
    - std::accumulate
    - std::vector<std::shared_ptr<Item>>::end
    - std::vector<std::shared_ptr<Item>>::begin
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::vector<std::shared_ptr<Item>> &items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: std::vector<NodeItem>::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: std::vector<NodeItem>::end
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:210,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - std::vector<NodeItem>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: FlatGeobuf::calcExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 6
    functionsReached:
    - std::accumulate
    - std::vector<NodeItem>::begin
    - std::vector<NodeItem>::end
    - FlatGeobuf::NodeItem::create
    - expand
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem calcExtent(const std::vector<NodeItem> &nodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:218,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:220,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: std::max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:221,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:222,1
    - Dst: FlatGeobuf::PackedRTree::generateLevelBounds
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:223,1
    - Dst: front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:224,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:225,1
    - Dst: NodeItem::NodeItem
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - nodeSize
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: FlatGeobuf::PackedRTree::init
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 4
    functionsReached:
    - std::max
    - std::invalid_argument
    - FlatGeobuf::PackedRTree::generateLevelBounds
    - front
    - NodeItem::NodeItem
    - std::min
    - static_cast<size_t>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PackedRTree::init(const uint16_t nodeSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:233,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:235,1
    - Dst: mapbox::geometry::wagyu::round_towards_max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:237,1
    - Dst: std::overflow_error
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:238,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:244,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:249,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:256,1
    - Dst: std::vector::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:258,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:259,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - numItems
    - nodeSize
    argTypes:
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 262
    functionName: FlatGeobuf::PackedRTree::generateLevelBounds
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 3
    functionsReached:
    - std::pair<uint64_t, uint64_t>
    - std::vector::push_back
    - mapbox::geometry::wagyu::round_towards_max
    - std::invalid_argument
    - std::overflow_error
    - std::vector::size
    linkageType: ''
    returnType: std::vector<std::pair<uint64_t, uint64_t>>
    signature: "std::vector<std::pair<uint64_t, uint64_t>> PackedRTree::generateLevelBounds(const
      uint64_t numItems,\n                                 const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:266,1
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:273,1
    - Dst: NodeItem::expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: FlatGeobuf::PackedRTree::generateNodes
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 3
    functionsReached:
    - NodeItem::expand
    - FlatGeobuf::NodeItem::create
    - FlatGeobuf::PackedRTree::size
    linkageType: ''
    returnType: void
    signature: void PackedRTree::generateNodes()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:283,1
    - Dst: reinterpret_cast<const NodeItem *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:284,1
    - Dst: expand
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: FlatGeobuf::PackedRTree::fromData
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - reinterpret_cast<const NodeItem *>
    - expand
    linkageType: ''
    returnType: void
    signature: void PackedRTree::fromData(const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::shared_ptr<Item>>::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:295,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:297,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - items
    - extent
    - nodeSize
    argTypes:
    - std::vector<std::shared_ptr<Item>>
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::generateNodes
    - std::vector<std::shared_ptr<Item>>::size
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const std::vector<std::shared_ptr<Item>>
      &items,\n                         const NodeItem &extent, const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<NodeItem>::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:305,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:307,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - nodes
    - extent
    - nodeSize
    argTypes:
    - std::vector<NodeItem>
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - std::vector<NodeItem>::size
    - FlatGeobuf::PackedRTree::generateNodes
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const std::vector<NodeItem> &nodes,\n
      \                        const NodeItem &extent, const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::NodeItem::create
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:315,1
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:317,1
    - Dst: FlatGeobuf::PackedRTree::fromData
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - numItems
    - nodeSize
    argTypes:
    - void*
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::fromData
    - FlatGeobuf::NodeItem::create
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(const void *data, const uint64_t numItems,\n
      \                        const uint16_t nodeSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::init
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:326,1
    - Dst: fillNodeItems
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:327,1
    - Dst: FlatGeobuf::PackedRTree::generateNodes
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - fillNodeItems
    - numItems
    - extent
    - nodeSize
    argTypes:
    - std::function<void(NodeItem *)>
    - uint64_t
    - NodeItem
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: FlatGeobuf::PackedRTree::PackedRTree
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - FlatGeobuf::PackedRTree::init
    - FlatGeobuf::PackedRTree::generateNodes
    - fillNodeItems
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::PackedRTree(std::function<void(NodeItem *)> fillNodeItems,\n
      \                        const uint64_t numItems, const NodeItem &extent,\n
      \                        const uint16_t nodeSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:334,1
    - Dst: std::unordered_map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: FlatGeobuf::PackedRTree::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:338,1
    - Dst: std::unordered_map::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:339,1
    - Dst: std::unordered_map::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:341,1
    - Dst: std::unordered_map::erase
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:344,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:348,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:348,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:349,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:353,1
    - Dst: NodeItem::intersects
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:354,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:357,1
    - Dst: std::unordered_map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:359,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - minX
    - minY
    - maxX
    - maxY
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 364
    functionName: FlatGeobuf::PackedRTree::search
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::unordered_map::begin
    - std::pair<uint64_t, uint64_t>
    - static_cast<uint64_t>
    - NodeItem::intersects
    - std::vector::push_back
    - std::unordered_map::erase
    - front
    - std::unordered_map::size
    - std::min
    - FlatGeobuf::PackedRTree::size
    - static_cast<size_t>
    - std::unordered_map::insert
    linkageType: ''
    returnType: std::vector<SearchResultItem>
    signature: std::vector<SearchResultItem> PackedRTree::search(double minX, double
      minY, double maxX, double maxY) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FlatGeobuf::PackedRTree::generateLevelBounds
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:370,1
    - Dst: auto::front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:371,1
    - Dst: auto::front
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:372,1
    - Dst: std::vector<NodeItem>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:373,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:374,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:374,1
    - Dst: std::map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:378,1
    - Dst: std::map::size
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:379,1
    - Dst: std::map::begin
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:381,1
    - Dst: std::map::erase
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:384,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:387,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:387,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:388,1
    - Dst: readNode
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:390,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:391,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:393,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:395,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:396,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:397,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:398,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:399,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:406,1
    - Dst: NodeItem::intersects
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:410,1
    - Dst: std::map::insert
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:412,1
    - Dst: std::pair<uint64_t, uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - numItems
    - nodeSize
    - item
    - readNode
    argTypes:
    - uint64_t
    - uint16_t
    - NodeItem
    - std::function<void(uint8_t *, size_t, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 417
    functionName: FlatGeobuf::PackedRTree::streamSearch
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - std::pair<uint64_t, uint64_t>
    - static_cast<uint64_t>
    - NodeItem::intersects
    - std::vector<NodeItem>
    - std::vector::push_back
    - FlatGeobuf::PackedRTree::generateLevelBounds
    - std::map::insert
    - reinterpret_cast<uint8_t *>
    - std::min
    - auto::data
    - std::map::erase
    - CPL_LSBPTR64
    - std::map::size
    - std::map::begin
    - static_cast<size_t>
    - auto::front
    - readNode
    - auto::size
    linkageType: ''
    returnType: std::vector<SearchResultItem>
    signature: "std::vector<SearchResultItem> PackedRTree::streamSearch(\n    const
      uint64_t numItems, const uint16_t nodeSize, const NodeItem &item,\n    const
      std::function<void(uint8_t *, size_t, size_t)> &readNode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: FlatGeobuf::PackedRTree::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackedRTree::size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:427,1
    - Dst: std::invalid_argument
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:429,1
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: std::max
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:431,1
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:432,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:434,1
    - Dst: std::overflow_error
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - numItems
    - nodeSize
    argTypes:
    - uint64_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 444
    functionName: FlatGeobuf::PackedRTree::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 4
    functionsReached:
    - std::max
    - static_cast<uint64_t>
    - std::invalid_argument
    - std::min
    - std::overflow_error
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PackedRTree::size(const uint64_t numItems, const uint16_t
      nodeSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:450,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:452,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:453,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:454,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:455,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:456,1
    - Dst: writeData
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:459,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:459,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:460,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:462,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:464,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:465,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:466,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:467,1
    - Dst: CPL_LSBPTR64
      Src: /src/postgis/deps/flatgeobuf/packedrtree.cpp:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - writeData
    argTypes:
    - std::function<void(uint8_t *, size_t)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 471
    functionName: FlatGeobuf::PackedRTree::streamWrite
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - CPL_LSBPTR64
    - reinterpret_cast<uint8_t *>
    - writeData
    linkageType: ''
    returnType: void
    signature: "void PackedRTree::streamWrite(\n    const std::function<void(uint8_t
      *, size_t)> &writeData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: FlatGeobuf::PackedRTree::getExtent
    functionSourceFile: /src/postgis/deps/flatgeobuf/packedrtree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NodeItem
    signature: NodeItem PackedRTree::getExtent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: (&EnumValuesGeometryType())[18]
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryType
    signature: GeometryType (&EnumValuesGeometryType())[18]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: FlatGeobuf::EnumNamesGeometryType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesGeometryType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:100,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:101,1
    - Dst: FlatGeobuf::EnumNamesGeometryType
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: FlatGeobuf::EnumNameGeometryType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - FlatGeobuf::EnumNamesGeometryType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameGeometryType(GeometryType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: (&EnumValuesColumnType())[15]
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColumnType
    signature: ColumnType (&EnumValuesColumnType())[15]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: FlatGeobuf::EnumNamesColumnType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesColumnType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:169,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:170,1
    - Dst: FlatGeobuf::EnumNamesColumnType
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: FlatGeobuf::EnumNameColumnType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - FlatGeobuf::EnumNamesColumnType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameColumnType(ColumnType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:190,1
    - Dst: static_cast<FlatGeobuf::ColumnType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:196,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:199,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:202,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:205,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:208,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:211,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:214,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:217,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:220,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:223,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:224,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:226,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:227,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:229,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:231,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:232,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:233,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:234,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:235,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:236,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:237,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 241
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - description
    - VerifyField<int32_t>
    - GetField<int32_t>
    - VerifyField<uint8_t>
    - GetField<uint8_t>
    - metadata
    - GetPointer<const ::flatbuffers::String *>
    - name
    - EndTable
    - VerifyString
    - VerifyOffset
    - static_cast<FlatGeobuf::ColumnType>
    - title
    - VerifyTableStart
    linkageType: ''
    returnType: struct Column
    signature: struct Column ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::ColumnType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: FlatGeobuf::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::ColumnType>
    linkageType: ''
    returnType: FlatGeobuf::ColumnType
    signature: FlatGeobuf::ColumnType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: FlatGeobuf::title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: FlatGeobuf::width
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: FlatGeobuf::precision
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t precision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: FlatGeobuf::scale
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t scale() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FlatGeobuf::nullable
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool nullable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FlatGeobuf::unique
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool unique() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: FlatGeobuf::primary_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool primary_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: FlatGeobuf::metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *metadata() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:223,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:224,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:226,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:227,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: FlatGeobuf::title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:229,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:231,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:232,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:233,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:234,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:235,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:236,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:237,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: FlatGeobuf::metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - FlatGeobuf::name
    - VerifyField<int32_t>
    - VerifyField<uint8_t>
    - FlatGeobuf::title
    - FlatGeobuf::metadata
    - VerifyOffset
    - FlatGeobuf::description
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:251,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FlatGeobuf::ColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: FlatGeobuf::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_type(FlatGeobuf::ColumnType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: FlatGeobuf::add_title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_title(::flatbuffers::Offset<::flatbuffers::String> title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: FlatGeobuf::add_width
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_width(int32_t width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: FlatGeobuf::add_precision
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_precision(int32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scale
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: FlatGeobuf::add_scale
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_scale(int32_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:269,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nullable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: FlatGeobuf::add_nullable
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_nullable(bool nullable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:272,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unique
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: FlatGeobuf::add_unique
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_unique(bool unique)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primary_key
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: FlatGeobuf::add_primary_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_primary_key(bool primary_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: FlatGeobuf::add_metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_metadata(::flatbuffers::Offset<::flatbuffers::String> metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: FlatGeobuf::ColumnBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ColumnBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:285,1
    - Dst: ::flatbuffers::Offset<Column>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:286,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Column>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: ::flatbuffers::Offset<Column> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColumnBuilder::add_metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:306,1
    - Dst: ColumnBuilder::add_scale
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:307,1
    - Dst: ColumnBuilder::add_precision
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:308,1
    - Dst: ColumnBuilder::add_width
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:309,1
    - Dst: ColumnBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:310,1
    - Dst: ColumnBuilder::add_title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:311,1
    - Dst: ColumnBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:312,1
    - Dst: ColumnBuilder::add_primary_key
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:313,1
    - Dst: ColumnBuilder::add_unique
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:314,1
    - Dst: ColumnBuilder::add_nullable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:315,1
    - Dst: ColumnBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:316,1
    - Dst: ColumnBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: FlatGeobuf::CreateColumn
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ColumnBuilder::add_primary_key
    - ColumnBuilder::add_name
    - ColumnBuilder::add_unique
    - ColumnBuilder::add_nullable
    - ColumnBuilder::add_precision
    - ColumnBuilder::add_type
    - ColumnBuilder::Finish
    - ColumnBuilder::add_width
    - ColumnBuilder::add_metadata
    - ColumnBuilder::add_scale
    - ColumnBuilder::add_description
    - ColumnBuilder::add_title
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: "::flatbuffers::Offset<Column> CreateColumn(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    FlatGeobuf::ColumnType
      type = FlatGeobuf::ColumnType::Byte,\n    ::flatbuffers::Offset<::flatbuffers::String>
      title = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> description = 0,\n
      \   int32_t width = -1,\n    int32_t precision = -1,\n    int32_t scale = -1,\n
      \   bool nullable = true,\n    bool unique = false,\n    bool primary_key =
      false,\n    ::flatbuffers::Offset<::flatbuffers::String> metadata = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:333,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:334,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:335,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:336,1
    - Dst: FlatGeobuf::CreateColumn
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: FlatGeobuf::CreateColumnDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::CreateColumn
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: "::flatbuffers::Offset<Column> CreateColumnDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    FlatGeobuf::ColumnType type = FlatGeobuf::ColumnType::Byte,\n
      \   const char *title = nullptr,\n    const char *description = nullptr,\n    int32_t
      width = -1,\n    int32_t precision = -1,\n    int32_t scale = -1,\n    bool
      nullable = true,\n    bool unique = false,\n    bool primary_key = false,\n
      \   const char *metadata = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:363,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:366,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:369,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:372,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:375,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:378,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:381,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:382,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:384,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:385,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:387,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:389,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:391,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 395
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - description
    - VerifyField<int32_t>
    - GetField<int32_t>
    - GetPointer<const ::flatbuffers::String *>
    - name
    - wkt
    - VerifyString
    - EndTable
    - VerifyOffset
    - code_string
    - org
    - VerifyTableStart
    linkageType: ''
    returnType: struct Crs
    signature: struct Crs ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: FlatGeobuf::org
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *org() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: FlatGeobuf::code
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: FlatGeobuf::wkt
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *wkt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: FlatGeobuf::code_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *code_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:381,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:382,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: FlatGeobuf::org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:384,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:385,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:387,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:389,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: FlatGeobuf::wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:391,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: FlatGeobuf::code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::org
    - FlatGeobuf::name
    - VerifyField<int32_t>
    - FlatGeobuf::code_string
    - VerifyOffset
    - FlatGeobuf::description
    - ::flatbuffers::Verifier::EndTable
    - FlatGeobuf::wkt
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: FlatGeobuf::add_org
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_org(::flatbuffers::Offset<::flatbuffers::String> org)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: FlatGeobuf::add_code
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_code(int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: FlatGeobuf::add_wkt
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_wkt(::flatbuffers::Offset<::flatbuffers::String> wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code_string
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: FlatGeobuf::add_code_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_code_string(::flatbuffers::Offset<::flatbuffers::String> code_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: FlatGeobuf::CrsBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void CrsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:424,1
    - Dst: ::flatbuffers::Offset<Crs>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Crs>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: ::flatbuffers::Offset<Crs> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CrsBuilder::add_code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:439,1
    - Dst: CrsBuilder::add_wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:440,1
    - Dst: CrsBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:441,1
    - Dst: CrsBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:442,1
    - Dst: CrsBuilder::add_code
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:443,1
    - Dst: CrsBuilder::add_org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:444,1
    - Dst: CrsBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: FlatGeobuf::CreateCrs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - CrsBuilder::Finish
    - CrsBuilder::add_wkt
    - CrsBuilder::add_org
    - CrsBuilder::add_description
    - CrsBuilder::add_code_string
    - CrsBuilder::add_code
    - CrsBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: "::flatbuffers::Offset<Crs> CreateCrs(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> org = 0,\n    int32_t
      code = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      description = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> wkt = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> code_string = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:456,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:457,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:458,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:459,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:460,1
    - Dst: FlatGeobuf::CreateCrs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: FlatGeobuf::CreateCrsDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::CreateCrs
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: "::flatbuffers::Offset<Crs> CreateCrsDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *org = nullptr,\n    int32_t code = 0,\n    const char
      *name = nullptr,\n    const char *description = nullptr,\n    const char *wkt
      = nullptr,\n    const char *code_string = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:490,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:493,1
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:499,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:502,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:505,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:508,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:511,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:514,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:517,1
    - Dst: GetPointer<const FlatGeobuf::Crs *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:520,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:523,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:526,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:529,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:532,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:533,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:535,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:537,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:538,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:539,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:540,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:541,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:542,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:545,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:546,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:547,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:549,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:551,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:553,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:555,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 557
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    - VerifyField<uint8_t>
    - VerifyField<uint64_t>
    - crs
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - GetPointer<const FlatGeobuf::Crs *>
    - metadata
    - VerifyString
    - GetField<uint16_t>
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - name
    - VerifyField<uint16_t>
    - GetPointer<const ::flatbuffers::Vector<double> *>
    - static_cast<FlatGeobuf::GeometryType>
    - description
    - GetField<uint64_t>
    - columns
    - envelope
    - title
    - VerifyTableStart
    linkageType: ''
    returnType: struct Header
    signature: struct Header ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: FlatGeobuf::envelope
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *envelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: FlatGeobuf::geometry_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::GeometryType>
    linkageType: ''
    returnType: FlatGeobuf::GeometryType
    signature: FlatGeobuf::GeometryType geometry_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: FlatGeobuf::has_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_z() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: FlatGeobuf::has_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_m() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: FlatGeobuf::has_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: FlatGeobuf::has_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_tm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: FlatGeobuf::columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>> *columns()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: FlatGeobuf::features_count
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t features_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: FlatGeobuf::index_node_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t index_node_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Crs *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: FlatGeobuf::crs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const FlatGeobuf::Crs *>
    linkageType: ''
    returnType: FlatGeobuf::Crs
    signature: FlatGeobuf::Crs *crs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: FlatGeobuf::title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: FlatGeobuf::metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *metadata() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:532,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:533,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:535,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: FlatGeobuf::envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:537,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:538,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:539,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:540,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:541,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:542,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:545,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:546,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:547,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: FlatGeobuf::crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:549,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: FlatGeobuf::title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:551,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:553,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: FlatGeobuf::metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:555,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 556
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::name
    - VerifyField<uint8_t>
    - VerifyField<uint64_t>
    - FlatGeobuf::columns
    - FlatGeobuf::title
    - FlatGeobuf::metadata
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::crs
    - FlatGeobuf::description
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - FlatGeobuf::envelope
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: FlatGeobuf::add_envelope
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_envelope(::flatbuffers::Offset<::flatbuffers::Vector<double>>
      envelope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:570,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geometry_type
    argTypes:
    - FlatGeobuf::GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: FlatGeobuf::add_geometry_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_geometry_type(FlatGeobuf::GeometryType geometry_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:573,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_z
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: FlatGeobuf::add_has_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_z(bool has_z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:576,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_m
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: FlatGeobuf::add_has_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_m(bool has_m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:579,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_t
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: FlatGeobuf::add_has_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_t(bool has_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:582,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_tm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: FlatGeobuf::add_has_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_tm(bool has_tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - columns
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: FlatGeobuf::add_columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_columns(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - features_count
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: FlatGeobuf::add_features_count
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_features_count(uint64_t features_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index_node_size
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: FlatGeobuf::add_index_node_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_index_node_size(uint16_t index_node_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - ::flatbuffers::Offset<FlatGeobuf::Crs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: FlatGeobuf::add_crs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_crs(::flatbuffers::Offset<FlatGeobuf::Crs> crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: FlatGeobuf::add_title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_title(::flatbuffers::Offset<::flatbuffers::String> title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: FlatGeobuf::add_metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_metadata(::flatbuffers::Offset<::flatbuffers::String> metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: FlatGeobuf::HeaderBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void HeaderBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:610,1
    - Dst: ::flatbuffers::Offset<Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - EndTable
    - ::flatbuffers::Offset<Header>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: ::flatbuffers::Offset<Header> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderBuilder::add_features_count
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:633,1
    - Dst: HeaderBuilder::add_metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:634,1
    - Dst: HeaderBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:635,1
    - Dst: HeaderBuilder::add_title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:636,1
    - Dst: HeaderBuilder::add_crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:637,1
    - Dst: HeaderBuilder::add_columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:638,1
    - Dst: HeaderBuilder::add_envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:639,1
    - Dst: HeaderBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:640,1
    - Dst: HeaderBuilder::add_index_node_size
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:641,1
    - Dst: HeaderBuilder::add_has_tm
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:642,1
    - Dst: HeaderBuilder::add_has_t
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:643,1
    - Dst: HeaderBuilder::add_has_m
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:644,1
    - Dst: HeaderBuilder::add_has_z
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:645,1
    - Dst: HeaderBuilder::add_geometry_type
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:646,1
    - Dst: HeaderBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: FlatGeobuf::CreateHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - HeaderBuilder::add_title
    - HeaderBuilder::add_metadata
    - HeaderBuilder::Finish
    - HeaderBuilder::add_has_m
    - HeaderBuilder::add_crs
    - HeaderBuilder::add_geometry_type
    - HeaderBuilder::add_envelope
    - HeaderBuilder::add_index_node_size
    - HeaderBuilder::add_has_tm
    - HeaderBuilder::add_features_count
    - HeaderBuilder::add_has_t
    - HeaderBuilder::add_description
    - HeaderBuilder::add_columns
    - HeaderBuilder::add_has_z
    - HeaderBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: "::flatbuffers::Offset<Header> CreateHeader(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      envelope = 0,\n    FlatGeobuf::GeometryType geometry_type = FlatGeobuf::GeometryType::Unknown,\n
      \   bool has_z = false,\n    bool has_m = false,\n    bool has_t = false,\n
      \   bool has_tm = false,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns = 0,\n    uint64_t features_count = 0,\n    uint16_t index_node_size
      = 16,\n    ::flatbuffers::Offset<FlatGeobuf::Crs> crs = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      title = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> description = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> metadata = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:666,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:667,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:668,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:669,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:670,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:671,1
    - Dst: FlatGeobuf::CreateHeader
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 688
    functionName: FlatGeobuf::CreateHeaderDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - FlatGeobuf::CreateHeader
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: "::flatbuffers::Offset<Header> CreateHeaderDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    const std::vector<double> *envelope
      = nullptr,\n    FlatGeobuf::GeometryType geometry_type = FlatGeobuf::GeometryType::Unknown,\n
      \   bool has_z = false,\n    bool has_m = false,\n    bool has_t = false,\n
      \   bool has_tm = false,\n    const std::vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *columns = nullptr,\n    uint64_t features_count = 0,\n    uint16_t index_node_size
      = 16,\n    ::flatbuffers::Offset<FlatGeobuf::Crs> crs = 0,\n    const char *title
      = nullptr,\n    const char *description = nullptr,\n    const char *metadata
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<FlatGeobuf::Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: FlatGeobuf::GetHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<FlatGeobuf::Header>
    linkageType: ''
    returnType: FlatGeobuf::Header
    signature: FlatGeobuf::Header *GetHeader(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: FlatGeobuf::GetSizePrefixedHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Header>
    linkageType: ''
    returnType: FlatGeobuf::Header
    signature: FlatGeobuf::Header *GetSizePrefixedHeader(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: FlatGeobuf::VerifyHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyHeaderBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: FlatGeobuf::VerifySizePrefixedHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedHeaderBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: FlatGeobuf::FinishHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishHeaderBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<FlatGeobuf::Header> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: FlatGeobuf::FinishSizePrefixedHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedHeaderBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Header> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: (&EnumValuesGeometryType())[18]
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GeometryType
    signature: GeometryType (&EnumValuesGeometryType())[18]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: FlatGeobuf::EnumNamesGeometryType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesGeometryType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:100,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:101,1
    - Dst: FlatGeobuf::EnumNamesGeometryType
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: FlatGeobuf::EnumNameGeometryType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - FlatGeobuf::EnumNamesGeometryType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameGeometryType(GeometryType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: (&EnumValuesColumnType())[15]
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ColumnType
    signature: ColumnType (&EnumValuesColumnType())[15]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: FlatGeobuf::EnumNamesColumnType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesColumnType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:169,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:170,1
    - Dst: FlatGeobuf::EnumNamesColumnType
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: FlatGeobuf::EnumNameColumnType
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - FlatGeobuf::EnumNamesColumnType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameColumnType(ColumnType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:190,1
    - Dst: static_cast<FlatGeobuf::ColumnType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:196,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:199,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:202,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:205,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:208,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:211,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:214,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:217,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:220,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:223,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:224,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:226,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:227,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:229,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:231,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:232,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:233,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:234,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:235,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:236,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:237,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 241
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - description
    - VerifyField<int32_t>
    - GetField<int32_t>
    - VerifyField<uint8_t>
    - GetField<uint8_t>
    - metadata
    - GetPointer<const ::flatbuffers::String *>
    - name
    - EndTable
    - VerifyString
    - VerifyOffset
    - static_cast<FlatGeobuf::ColumnType>
    - title
    - VerifyTableStart
    linkageType: ''
    returnType: struct Column
    signature: struct Column ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::ColumnType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: FlatGeobuf::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::ColumnType>
    linkageType: ''
    returnType: FlatGeobuf::ColumnType
    signature: FlatGeobuf::ColumnType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: FlatGeobuf::title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: FlatGeobuf::width
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t width() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: FlatGeobuf::precision
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t precision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: FlatGeobuf::scale
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t scale() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FlatGeobuf::nullable
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool nullable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FlatGeobuf::unique
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool unique() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: FlatGeobuf::primary_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool primary_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: FlatGeobuf::metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *metadata() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:223,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:224,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:225,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:226,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:227,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: FlatGeobuf::title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:228,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:229,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:230,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:231,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:232,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:233,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:234,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:235,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:236,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:237,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: FlatGeobuf::metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:238,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - FlatGeobuf::name
    - VerifyField<int32_t>
    - VerifyField<uint8_t>
    - FlatGeobuf::title
    - FlatGeobuf::metadata
    - VerifyOffset
    - FlatGeobuf::description
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:251,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FlatGeobuf::ColumnType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: FlatGeobuf::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_type(FlatGeobuf::ColumnType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: FlatGeobuf::add_title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_title(::flatbuffers::Offset<::flatbuffers::String> title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: FlatGeobuf::add_width
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_width(int32_t width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: FlatGeobuf::add_precision
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_precision(int32_t precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scale
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: FlatGeobuf::add_scale
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_scale(int32_t scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:269,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nullable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: FlatGeobuf::add_nullable
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_nullable(bool nullable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:272,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unique
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: FlatGeobuf::add_unique
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_unique(bool unique)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:275,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primary_key
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: FlatGeobuf::add_primary_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_primary_key(bool primary_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: FlatGeobuf::add_metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_metadata(::flatbuffers::Offset<::flatbuffers::String> metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: FlatGeobuf::ColumnBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ColumnBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:285,1
    - Dst: ::flatbuffers::Offset<Column>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:286,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Column>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: ::flatbuffers::Offset<Column> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ColumnBuilder::add_metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:306,1
    - Dst: ColumnBuilder::add_scale
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:307,1
    - Dst: ColumnBuilder::add_precision
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:308,1
    - Dst: ColumnBuilder::add_width
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:309,1
    - Dst: ColumnBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:310,1
    - Dst: ColumnBuilder::add_title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:311,1
    - Dst: ColumnBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:312,1
    - Dst: ColumnBuilder::add_primary_key
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:313,1
    - Dst: ColumnBuilder::add_unique
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:314,1
    - Dst: ColumnBuilder::add_nullable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:315,1
    - Dst: ColumnBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:316,1
    - Dst: ColumnBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: FlatGeobuf::CreateColumn
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - ColumnBuilder::add_primary_key
    - ColumnBuilder::add_name
    - ColumnBuilder::add_unique
    - ColumnBuilder::add_nullable
    - ColumnBuilder::add_precision
    - ColumnBuilder::add_type
    - ColumnBuilder::Finish
    - ColumnBuilder::add_width
    - ColumnBuilder::add_metadata
    - ColumnBuilder::add_scale
    - ColumnBuilder::add_description
    - ColumnBuilder::add_title
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: "::flatbuffers::Offset<Column> CreateColumn(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    FlatGeobuf::ColumnType
      type = FlatGeobuf::ColumnType::Byte,\n    ::flatbuffers::Offset<::flatbuffers::String>
      title = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> description = 0,\n
      \   int32_t width = -1,\n    int32_t precision = -1,\n    int32_t scale = -1,\n
      \   bool nullable = true,\n    bool unique = false,\n    bool primary_key =
      false,\n    ::flatbuffers::Offset<::flatbuffers::String> metadata = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:333,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:334,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:335,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:336,1
    - Dst: FlatGeobuf::CreateColumn
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: FlatGeobuf::CreateColumnDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::CreateColumn
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<Column>
    signature: "::flatbuffers::Offset<Column> CreateColumnDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    FlatGeobuf::ColumnType type = FlatGeobuf::ColumnType::Byte,\n
      \   const char *title = nullptr,\n    const char *description = nullptr,\n    int32_t
      width = -1,\n    int32_t precision = -1,\n    int32_t scale = -1,\n    bool
      nullable = true,\n    bool unique = false,\n    bool primary_key = false,\n
      \   const char *metadata = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:363,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:366,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:369,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:372,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:375,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:378,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:381,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:382,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:384,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:385,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:387,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:389,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:391,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 395
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - description
    - VerifyField<int32_t>
    - GetField<int32_t>
    - GetPointer<const ::flatbuffers::String *>
    - name
    - wkt
    - VerifyString
    - EndTable
    - VerifyOffset
    - code_string
    - org
    - VerifyTableStart
    linkageType: ''
    returnType: struct Crs
    signature: struct Crs ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: FlatGeobuf::org
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *org() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: FlatGeobuf::code
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: FlatGeobuf::wkt
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *wkt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: FlatGeobuf::code_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *code_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:381,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:382,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: FlatGeobuf::org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:383,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:384,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:385,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:386,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:387,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:388,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:389,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: FlatGeobuf::wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:390,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:391,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: FlatGeobuf::code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:392,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::org
    - FlatGeobuf::name
    - VerifyField<int32_t>
    - FlatGeobuf::code_string
    - VerifyOffset
    - FlatGeobuf::description
    - ::flatbuffers::Verifier::EndTable
    - FlatGeobuf::wkt
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - org
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: FlatGeobuf::add_org
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_org(::flatbuffers::Offset<::flatbuffers::String> org)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: FlatGeobuf::add_code
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_code(int32_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wkt
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: FlatGeobuf::add_wkt
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_wkt(::flatbuffers::Offset<::flatbuffers::String> wkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code_string
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: FlatGeobuf::add_code_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_code_string(::flatbuffers::Offset<::flatbuffers::String> code_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: FlatGeobuf::CrsBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void CrsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:424,1
    - Dst: ::flatbuffers::Offset<Crs>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Crs>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: ::flatbuffers::Offset<Crs> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CrsBuilder::add_code_string
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:439,1
    - Dst: CrsBuilder::add_wkt
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:440,1
    - Dst: CrsBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:441,1
    - Dst: CrsBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:442,1
    - Dst: CrsBuilder::add_code
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:443,1
    - Dst: CrsBuilder::add_org
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:444,1
    - Dst: CrsBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: FlatGeobuf::CreateCrs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - CrsBuilder::Finish
    - CrsBuilder::add_wkt
    - CrsBuilder::add_org
    - CrsBuilder::add_description
    - CrsBuilder::add_code_string
    - CrsBuilder::add_code
    - CrsBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: "::flatbuffers::Offset<Crs> CreateCrs(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> org = 0,\n    int32_t
      code = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      description = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> wkt = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> code_string = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:456,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:457,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:458,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:459,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:460,1
    - Dst: FlatGeobuf::CreateCrs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: FlatGeobuf::CreateCrsDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::CreateCrs
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<Crs>
    signature: "::flatbuffers::Offset<Crs> CreateCrsDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *org = nullptr,\n    int32_t code = 0,\n    const char
      *name = nullptr,\n    const char *description = nullptr,\n    const char *wkt
      = nullptr,\n    const char *code_string = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:490,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:493,1
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:499,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:502,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:505,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:508,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:511,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:514,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:517,1
    - Dst: GetPointer<const FlatGeobuf::Crs *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:520,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:523,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:526,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:529,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:532,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:533,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:535,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:537,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:538,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:539,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:540,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:541,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:542,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:545,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:546,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:547,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:549,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:551,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:553,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:555,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 557
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    - VerifyField<uint8_t>
    - VerifyField<uint64_t>
    - crs
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - GetPointer<const FlatGeobuf::Crs *>
    - metadata
    - VerifyString
    - GetField<uint16_t>
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - name
    - VerifyField<uint16_t>
    - GetPointer<const ::flatbuffers::Vector<double> *>
    - static_cast<FlatGeobuf::GeometryType>
    - description
    - GetField<uint64_t>
    - columns
    - envelope
    - title
    - VerifyTableStart
    linkageType: ''
    returnType: struct Header
    signature: struct Header ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: FlatGeobuf::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 5
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: FlatGeobuf::envelope
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *envelope() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: FlatGeobuf::geometry_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::GeometryType>
    linkageType: ''
    returnType: FlatGeobuf::GeometryType
    signature: FlatGeobuf::GeometryType geometry_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: FlatGeobuf::has_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_z() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: FlatGeobuf::has_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_m() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: FlatGeobuf::has_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: FlatGeobuf::has_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool has_tm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: FlatGeobuf::columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>> *columns()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: FlatGeobuf::features_count
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t features_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: FlatGeobuf::index_node_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t index_node_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Crs *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: FlatGeobuf::crs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const FlatGeobuf::Crs *>
    linkageType: ''
    returnType: FlatGeobuf::Crs
    signature: FlatGeobuf::Crs *crs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: FlatGeobuf::title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *title() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: FlatGeobuf::description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 5
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *description() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: FlatGeobuf::metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *metadata() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:532,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:533,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: FlatGeobuf::name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:534,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:535,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: FlatGeobuf::envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:536,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:537,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:538,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:539,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:540,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:541,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:542,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:543,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:544,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:545,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:546,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:547,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: FlatGeobuf::crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:548,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:549,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: FlatGeobuf::title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:550,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:551,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: FlatGeobuf::description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:552,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:553,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: FlatGeobuf::metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:554,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:555,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 556
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::name
    - VerifyField<uint8_t>
    - VerifyField<uint64_t>
    - FlatGeobuf::columns
    - FlatGeobuf::title
    - FlatGeobuf::metadata
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::crs
    - FlatGeobuf::description
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - FlatGeobuf::envelope
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: FlatGeobuf::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - envelope
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: FlatGeobuf::add_envelope
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_envelope(::flatbuffers::Offset<::flatbuffers::Vector<double>>
      envelope)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:570,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geometry_type
    argTypes:
    - FlatGeobuf::GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: FlatGeobuf::add_geometry_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_geometry_type(FlatGeobuf::GeometryType geometry_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:573,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_z
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: FlatGeobuf::add_has_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_z(bool has_z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:576,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_m
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: FlatGeobuf::add_has_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_m(bool has_m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:579,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_t
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: FlatGeobuf::add_has_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_t(bool has_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:582,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_tm
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: FlatGeobuf::add_has_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_has_tm(bool has_tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - columns
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: FlatGeobuf::add_columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_columns(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - features_count
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: FlatGeobuf::add_features_count
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_features_count(uint64_t features_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index_node_size
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: FlatGeobuf::add_index_node_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_index_node_size(uint16_t index_node_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crs
    argTypes:
    - ::flatbuffers::Offset<FlatGeobuf::Crs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: FlatGeobuf::add_crs
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_crs(::flatbuffers::Offset<FlatGeobuf::Crs> crs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - title
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 598
    functionName: FlatGeobuf::add_title
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_title(::flatbuffers::Offset<::flatbuffers::String> title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: FlatGeobuf::add_description
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_description(::flatbuffers::Offset<::flatbuffers::String> description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: FlatGeobuf::add_metadata
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_metadata(::flatbuffers::Offset<::flatbuffers::String> metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: FlatGeobuf::HeaderBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void HeaderBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:610,1
    - Dst: ::flatbuffers::Offset<Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - EndTable
    - ::flatbuffers::Offset<Header>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: ::flatbuffers::Offset<Header> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeaderBuilder::add_features_count
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:633,1
    - Dst: HeaderBuilder::add_metadata
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:634,1
    - Dst: HeaderBuilder::add_description
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:635,1
    - Dst: HeaderBuilder::add_title
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:636,1
    - Dst: HeaderBuilder::add_crs
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:637,1
    - Dst: HeaderBuilder::add_columns
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:638,1
    - Dst: HeaderBuilder::add_envelope
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:639,1
    - Dst: HeaderBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:640,1
    - Dst: HeaderBuilder::add_index_node_size
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:641,1
    - Dst: HeaderBuilder::add_has_tm
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:642,1
    - Dst: HeaderBuilder::add_has_t
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:643,1
    - Dst: HeaderBuilder::add_has_m
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:644,1
    - Dst: HeaderBuilder::add_has_z
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:645,1
    - Dst: HeaderBuilder::add_geometry_type
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:646,1
    - Dst: HeaderBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: FlatGeobuf::CreateHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 1
    functionsReached:
    - HeaderBuilder::add_title
    - HeaderBuilder::add_metadata
    - HeaderBuilder::Finish
    - HeaderBuilder::add_has_m
    - HeaderBuilder::add_crs
    - HeaderBuilder::add_geometry_type
    - HeaderBuilder::add_envelope
    - HeaderBuilder::add_index_node_size
    - HeaderBuilder::add_has_tm
    - HeaderBuilder::add_features_count
    - HeaderBuilder::add_has_t
    - HeaderBuilder::add_description
    - HeaderBuilder::add_columns
    - HeaderBuilder::add_has_z
    - HeaderBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: "::flatbuffers::Offset<Header> CreateHeader(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      envelope = 0,\n    FlatGeobuf::GeometryType geometry_type = FlatGeobuf::GeometryType::Unknown,\n
      \   bool has_z = false,\n    bool has_m = false,\n    bool has_t = false,\n
      \   bool has_tm = false,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns = 0,\n    uint64_t features_count = 0,\n    uint16_t index_node_size
      = 16,\n    ::flatbuffers::Offset<FlatGeobuf::Crs> crs = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      title = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> description = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> metadata = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:666,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:667,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:668,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:669,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:670,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:671,1
    - Dst: FlatGeobuf::CreateHeader
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 688
    functionName: FlatGeobuf::CreateHeaderDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - FlatGeobuf::CreateHeader
    linkageType: ''
    returnType: ::flatbuffers::Offset<Header>
    signature: "::flatbuffers::Offset<Header> CreateHeaderDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    const std::vector<double> *envelope
      = nullptr,\n    FlatGeobuf::GeometryType geometry_type = FlatGeobuf::GeometryType::Unknown,\n
      \   bool has_z = false,\n    bool has_m = false,\n    bool has_t = false,\n
      \   bool has_tm = false,\n    const std::vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *columns = nullptr,\n    uint64_t features_count = 0,\n    uint16_t index_node_size
      = 16,\n    ::flatbuffers::Offset<FlatGeobuf::Crs> crs = 0,\n    const char *title
      = nullptr,\n    const char *description = nullptr,\n    const char *metadata
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<FlatGeobuf::Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: FlatGeobuf::GetHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<FlatGeobuf::Header>
    linkageType: ''
    returnType: FlatGeobuf::Header
    signature: FlatGeobuf::Header *GetHeader(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Header>
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: FlatGeobuf::GetSizePrefixedHeader
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Header>
    linkageType: ''
    returnType: FlatGeobuf::Header
    signature: FlatGeobuf::Header *GetSizePrefixedHeader(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: FlatGeobuf::VerifyHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyHeaderBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: FlatGeobuf::VerifySizePrefixedHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedHeaderBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 712
    functionName: FlatGeobuf::FinishHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishHeaderBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<FlatGeobuf::Header> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/header_generated.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 718
    functionName: FlatGeobuf::FinishSizePrefixedHeaderBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/header_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedHeaderBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Header> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint32_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:39,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:42,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:45,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:48,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:51,1
    - Dst: GetPointer<const ::flatbuffers::Vector<uint64_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:54,1
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:60,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:63,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:64,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:66,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:68,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:70,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:72,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:74,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:76,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:77,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 82
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - parts
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *>
    - VerifyField<uint8_t>
    - EndTable
    - VerifyOffset
    - xy
    - VerifyVector
    - z
    - t
    - ends
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - tm
    - GetPointer<const ::flatbuffers::Vector<double> *>
    - static_cast<FlatGeobuf::GeometryType>
    - GetPointer<const ::flatbuffers::Vector<uint32_t> *>
    - m
    - GetPointer<const ::flatbuffers::Vector<uint64_t> *>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Geometry
    signature: struct Geometry ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint32_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: FlatGeobuf::ends
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint32_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint32_t>
    signature: ::flatbuffers::Vector<uint32_t> *ends() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: FlatGeobuf::xy
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *xy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: FlatGeobuf::z
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *z() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: FlatGeobuf::m
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *m() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: FlatGeobuf::t
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint64_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: FlatGeobuf::tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint64_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint64_t>
    signature: ::flatbuffers::Vector<uint64_t> *tm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: FlatGeobuf::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::GeometryType>
    linkageType: ''
    returnType: FlatGeobuf::GeometryType
    signature: FlatGeobuf::GeometryType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: FlatGeobuf::parts
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *parts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:63,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:64,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: FlatGeobuf::ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:66,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: FlatGeobuf::xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:68,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: FlatGeobuf::z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:70,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: FlatGeobuf::m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:72,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: FlatGeobuf::t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:74,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: FlatGeobuf::tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:76,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:77,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: FlatGeobuf::parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: FlatGeobuf::parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::tm
    - FlatGeobuf::m
    - VerifyField<uint8_t>
    - FlatGeobuf::xy
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::z
    - FlatGeobuf::ends
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - FlatGeobuf::parts
    - FlatGeobuf::t
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ends
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: FlatGeobuf::add_ends
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_ends(::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>>
      ends)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xy
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: FlatGeobuf::add_xy
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_xy(::flatbuffers::Offset<::flatbuffers::Vector<double>> xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - z
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: FlatGeobuf::add_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_z(::flatbuffers::Offset<::flatbuffers::Vector<double>> z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: FlatGeobuf::add_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_m(::flatbuffers::Offset<::flatbuffers::Vector<double>> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: FlatGeobuf::add_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_t(::flatbuffers::Offset<::flatbuffers::Vector<double>> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tm
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: FlatGeobuf::add_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_tm(::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>>
      tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:107,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FlatGeobuf::GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: FlatGeobuf::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_type(FlatGeobuf::GeometryType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parts
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: FlatGeobuf::add_parts
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_parts(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
      parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: FlatGeobuf::GeometryBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void GeometryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:117,1
    - Dst: ::flatbuffers::Offset<Geometry>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Geometry>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: ::flatbuffers::Offset<Geometry> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryBuilder::add_parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:134,1
    - Dst: GeometryBuilder::add_tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:135,1
    - Dst: GeometryBuilder::add_t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:136,1
    - Dst: GeometryBuilder::add_m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:137,1
    - Dst: GeometryBuilder::add_z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:138,1
    - Dst: GeometryBuilder::add_xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:139,1
    - Dst: GeometryBuilder::add_ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:140,1
    - Dst: GeometryBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:141,1
    - Dst: GeometryBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: FlatGeobuf::CreateGeometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GeometryBuilder::add_t
    - GeometryBuilder::add_tm
    - GeometryBuilder::add_ends
    - GeometryBuilder::add_m
    - GeometryBuilder::add_xy
    - GeometryBuilder::add_type
    - GeometryBuilder::add_z
    - GeometryBuilder::Finish
    - GeometryBuilder::add_parts
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: "::flatbuffers::Offset<Geometry> CreateGeometry(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>> ends = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<double>> xy = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      z = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>> m = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      t = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>> tm = 0,\n
      \   FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
      parts = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:155,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:156,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:157,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:158,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:159,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:160,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:161,1
    - Dst: FlatGeobuf::CreateGeometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: FlatGeobuf::CreateGeometryDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - FlatGeobuf::CreateGeometry
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: "::flatbuffers::Offset<Geometry> CreateGeometryDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const std::vector<uint32_t> *ends = nullptr,\n    const std::vector<double>
      *xy = nullptr,\n    const std::vector<double> *z = nullptr,\n    const std::vector<double>
      *m = nullptr,\n    const std::vector<double> *t = nullptr,\n    const std::vector<uint64_t>
      *tm = nullptr,\n    FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,\n
      \   const std::vector<::flatbuffers::Offset<FlatGeobuf::Geometry>> *parts =
      nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Geometry *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:182,1
    - Dst: GetPointer<const ::flatbuffers::Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:185,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:188,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:191,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:192,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:194,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:196,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    - columns
    - GetPointer<const FlatGeobuf::Geometry *>
    - EndTable
    - properties
    - VerifyOffset
    - GetPointer<const ::flatbuffers::Vector<uint8_t> *>
    - VerifyTable
    - geometry
    - VerifyVector
    - VerifyTableStart
    linkageType: ''
    returnType: struct Feature
    signature: struct Feature ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Geometry *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: FlatGeobuf::geometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const FlatGeobuf::Geometry *>
    linkageType: ''
    returnType: FlatGeobuf::Geometry
    signature: FlatGeobuf::Geometry *geometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: FlatGeobuf::properties
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint8_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint8_t>
    signature: ::flatbuffers::Vector<uint8_t> *properties() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: FlatGeobuf::columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>> *columns()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:191,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:192,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: FlatGeobuf::geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:194,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: FlatGeobuf::properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:196,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::geometry
    - FlatGeobuf::columns
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::properties
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - ::flatbuffers::Offset<FlatGeobuf::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: FlatGeobuf::add_geometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_geometry(::flatbuffers::Offset<FlatGeobuf::Geometry> geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FlatGeobuf::add_properties
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_properties(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
      properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - columns
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FlatGeobuf::add_columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_columns(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: FlatGeobuf::FeatureBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void FeatureBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:221,1
    - Dst: ::flatbuffers::Offset<Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - EndTable
    - ::flatbuffers::Offset<Feature>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: ::flatbuffers::Offset<Feature> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureBuilder::add_columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:233,1
    - Dst: FeatureBuilder::add_properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:234,1
    - Dst: FeatureBuilder::add_geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:235,1
    - Dst: FeatureBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: FlatGeobuf::CreateFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - FeatureBuilder::add_properties
    - FeatureBuilder::add_columns
    - FeatureBuilder::add_geometry
    - FeatureBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: "::flatbuffers::Offset<Feature> CreateFeature(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
      properties = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:244,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:245,1
    - Dst: FlatGeobuf::CreateFeature
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: FlatGeobuf::CreateFeatureDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - FlatGeobuf::CreateFeature
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: "::flatbuffers::Offset<Feature> CreateFeatureDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,\n    const
      std::vector<uint8_t> *properties = nullptr,\n    const std::vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *columns = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<FlatGeobuf::Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: FlatGeobuf::GetFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<FlatGeobuf::Feature>
    linkageType: ''
    returnType: FlatGeobuf::Feature
    signature: FlatGeobuf::Feature *GetFeature(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: FlatGeobuf::GetSizePrefixedFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>
    linkageType: ''
    returnType: FlatGeobuf::Feature
    signature: FlatGeobuf::Feature *GetSizePrefixedFeature(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: FlatGeobuf::VerifyFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFeatureBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: FlatGeobuf::VerifySizePrefixedFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedFeatureBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: FlatGeobuf::FinishFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishFeatureBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<FlatGeobuf::Feature> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: FlatGeobuf::FinishSizePrefixedFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedFeatureBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Feature> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint32_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:39,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:42,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:45,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:48,1
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:51,1
    - Dst: GetPointer<const ::flatbuffers::Vector<uint64_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:54,1
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:60,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:63,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:64,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:66,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:68,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:70,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:72,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:74,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:76,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:77,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 82
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - parts
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *>
    - VerifyField<uint8_t>
    - EndTable
    - VerifyOffset
    - xy
    - VerifyVector
    - z
    - t
    - ends
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - tm
    - GetPointer<const ::flatbuffers::Vector<double> *>
    - static_cast<FlatGeobuf::GeometryType>
    - GetPointer<const ::flatbuffers::Vector<uint32_t> *>
    - m
    - GetPointer<const ::flatbuffers::Vector<uint64_t> *>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Geometry
    signature: struct Geometry ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint32_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: FlatGeobuf::ends
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint32_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint32_t>
    signature: ::flatbuffers::Vector<uint32_t> *ends() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: FlatGeobuf::xy
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *xy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: FlatGeobuf::z
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *z() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: FlatGeobuf::m
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *m() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<double> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: FlatGeobuf::t
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<double> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<double>
    signature: ::flatbuffers::Vector<double> *t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint64_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: FlatGeobuf::tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint64_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint64_t>
    signature: ::flatbuffers::Vector<uint64_t> *tm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FlatGeobuf::GeometryType>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: FlatGeobuf::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    - static_cast<FlatGeobuf::GeometryType>
    linkageType: ''
    returnType: FlatGeobuf::GeometryType
    signature: FlatGeobuf::GeometryType type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: FlatGeobuf::parts
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>
      *parts() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:63,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:64,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: FlatGeobuf::ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:65,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:66,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: FlatGeobuf::xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:67,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:68,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: FlatGeobuf::z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:69,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:70,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: FlatGeobuf::m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:71,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:72,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: FlatGeobuf::t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:73,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:74,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: FlatGeobuf::tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:75,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:76,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:77,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: FlatGeobuf::parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:78,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: FlatGeobuf::parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:79,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:80,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::tm
    - FlatGeobuf::m
    - VerifyField<uint8_t>
    - FlatGeobuf::xy
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::z
    - FlatGeobuf::ends
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - FlatGeobuf::parts
    - FlatGeobuf::t
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ends
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: FlatGeobuf::add_ends
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_ends(::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>>
      ends)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xy
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: FlatGeobuf::add_xy
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_xy(::flatbuffers::Offset<::flatbuffers::Vector<double>> xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - z
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: FlatGeobuf::add_z
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_z(::flatbuffers::Offset<::flatbuffers::Vector<double>> z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: FlatGeobuf::add_m
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_m(::flatbuffers::Offset<::flatbuffers::Vector<double>> m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<double>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: FlatGeobuf::add_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_t(::flatbuffers::Offset<::flatbuffers::Vector<double>> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tm
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: FlatGeobuf::add_tm
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_tm(::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>>
      tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:107,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FlatGeobuf::GeometryType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: FlatGeobuf::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_type(FlatGeobuf::GeometryType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parts
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: FlatGeobuf::add_parts
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_parts(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
      parts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: FlatGeobuf::GeometryBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void GeometryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:117,1
    - Dst: ::flatbuffers::Offset<Geometry>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Geometry>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: ::flatbuffers::Offset<Geometry> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryBuilder::add_parts
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:134,1
    - Dst: GeometryBuilder::add_tm
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:135,1
    - Dst: GeometryBuilder::add_t
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:136,1
    - Dst: GeometryBuilder::add_m
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:137,1
    - Dst: GeometryBuilder::add_z
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:138,1
    - Dst: GeometryBuilder::add_xy
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:139,1
    - Dst: GeometryBuilder::add_ends
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:140,1
    - Dst: GeometryBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:141,1
    - Dst: GeometryBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: FlatGeobuf::CreateGeometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GeometryBuilder::add_t
    - GeometryBuilder::add_tm
    - GeometryBuilder::add_ends
    - GeometryBuilder::add_m
    - GeometryBuilder::add_xy
    - GeometryBuilder::add_type
    - GeometryBuilder::add_z
    - GeometryBuilder::Finish
    - GeometryBuilder::add_parts
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: "::flatbuffers::Offset<Geometry> CreateGeometry(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>> ends = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<double>> xy = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      z = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>> m = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<double>>
      t = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint64_t>> tm = 0,\n
      \   FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Geometry>>>
      parts = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:155,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:156,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:157,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:158,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:159,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:160,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:161,1
    - Dst: FlatGeobuf::CreateGeometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: FlatGeobuf::CreateGeometryDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - FlatGeobuf::CreateGeometry
    linkageType: ''
    returnType: ::flatbuffers::Offset<Geometry>
    signature: "::flatbuffers::Offset<Geometry> CreateGeometryDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const std::vector<uint32_t> *ends = nullptr,\n    const std::vector<double>
      *xy = nullptr,\n    const std::vector<double> *z = nullptr,\n    const std::vector<double>
      *m = nullptr,\n    const std::vector<double> *t = nullptr,\n    const std::vector<uint64_t>
      *tm = nullptr,\n    FlatGeobuf::GeometryType type = FlatGeobuf::GeometryType::Unknown,\n
      \   const std::vector<::flatbuffers::Offset<FlatGeobuf::Geometry>> *parts =
      nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Geometry *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:182,1
    - Dst: GetPointer<const ::flatbuffers::Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:185,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:188,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:191,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:192,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:194,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:196,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    - columns
    - GetPointer<const FlatGeobuf::Geometry *>
    - EndTable
    - properties
    - VerifyOffset
    - GetPointer<const ::flatbuffers::Vector<uint8_t> *>
    - VerifyTable
    - geometry
    - VerifyVector
    - VerifyTableStart
    linkageType: ''
    returnType: struct Feature
    signature: struct Feature ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const FlatGeobuf::Geometry *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: FlatGeobuf::geometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const FlatGeobuf::Geometry *>
    linkageType: ''
    returnType: FlatGeobuf::Geometry
    signature: FlatGeobuf::Geometry *geometry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: FlatGeobuf::properties
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<uint8_t> *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<uint8_t>
    signature: ::flatbuffers::Vector<uint8_t> *properties() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
        *>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: FlatGeobuf::columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>> *columns()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:191,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:192,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: FlatGeobuf::geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:193,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:194,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: FlatGeobuf::properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:195,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:196,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:197,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: FlatGeobuf::columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:198,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: FlatGeobuf::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - FlatGeobuf::geometry
    - FlatGeobuf::columns
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - FlatGeobuf::properties
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - geometry
    argTypes:
    - ::flatbuffers::Offset<FlatGeobuf::Geometry>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: FlatGeobuf::add_geometry
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_geometry(::flatbuffers::Offset<FlatGeobuf::Geometry> geometry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FlatGeobuf::add_properties
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_properties(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
      properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - columns
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FlatGeobuf::add_columns
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_columns(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: FlatGeobuf::FeatureBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void FeatureBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:221,1
    - Dst: ::flatbuffers::Offset<Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: FlatGeobuf::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - EndTable
    - ::flatbuffers::Offset<Feature>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: ::flatbuffers::Offset<Feature> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FeatureBuilder::add_columns
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:233,1
    - Dst: FeatureBuilder::add_properties
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:234,1
    - Dst: FeatureBuilder::add_geometry
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:235,1
    - Dst: FeatureBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: FlatGeobuf::CreateFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 1
    functionsReached:
    - FeatureBuilder::add_properties
    - FeatureBuilder::add_columns
    - FeatureBuilder::add_geometry
    - FeatureBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: "::flatbuffers::Offset<Feature> CreateFeature(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>>
      properties = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<FlatGeobuf::Column>>>
      columns = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:244,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:245,1
    - Dst: FlatGeobuf::CreateFeature
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: FlatGeobuf::CreateFeatureDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - FlatGeobuf::CreateFeature
    linkageType: ''
    returnType: ::flatbuffers::Offset<Feature>
    signature: "::flatbuffers::Offset<Feature> CreateFeatureDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Geometry> geometry = 0,\n    const
      std::vector<uint8_t> *properties = nullptr,\n    const std::vector<::flatbuffers::Offset<FlatGeobuf::Column>>
      *columns = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<FlatGeobuf::Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: FlatGeobuf::GetFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<FlatGeobuf::Feature>
    linkageType: ''
    returnType: FlatGeobuf::Feature
    signature: FlatGeobuf::Feature *GetFeature(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: FlatGeobuf::GetSizePrefixedFeature
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<FlatGeobuf::Feature>
    linkageType: ''
    returnType: FlatGeobuf::Feature
    signature: FlatGeobuf::Feature *GetSizePrefixedFeature(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: FlatGeobuf::VerifyFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFeatureBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: FlatGeobuf::VerifySizePrefixedFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedFeatureBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: FlatGeobuf::FinishFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishFeatureBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<FlatGeobuf::Feature> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/feature_generated.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<FlatGeobuf::Feature>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: FlatGeobuf::FinishSizePrefixedFeatureBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/feature_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedFeatureBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<FlatGeobuf::Feature> root)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:35,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:37,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:37,1
    - Dst: lwpoint_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:38,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:41,1
    - Dst: z
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:49,1
    - Dst: m
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:51,1
    - Dst: ptarray_append_point
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:54,1
    - Dst: lwpoint_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: GeometryReader::readPoint
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - m
    - ptarray_append_point
    - lwpoint_construct
    - xy
    - z
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT *GeometryReader::readPoint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:64,1
    - Dst: z
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:65,1
    - Dst: m
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:66,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:68,1
    - Dst: ptarray_append_point
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: GeometryReader::readPA
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - m
    - ptarray_append_point
    - xy
    - z
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY *GeometryReader::readPA()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:88,1
    - Dst: lwmpoint_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: GeometryReader::readMultiPoint
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - lwmpoint_construct
    - GeometryReader::readPA
    linkageType: ''
    returnType: LWMPOINT
    signature: LWMPOINT *GeometryReader::readMultiPoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:94,1
    - Dst: lwline_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: GeometryReader::readLineString
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - lwline_construct
    - GeometryReader::readPA
    linkageType: ''
    returnType: LWLINE
    signature: LWLINE *GeometryReader::readLineString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ends
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:100,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:103,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:104,1
    - Dst: lwmline_construct_empty
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:106,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:109,1
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:111,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:112,1
    - Dst: lwline_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:112,1
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:116,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:117,1
    - Dst: lwline_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: GeometryReader::readMultiLineString
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - lwmline_construct_empty
    - lwmline_add_lwline
    - GeometryReader::readPA
    - ends
    - lwline_construct
    - auto::Get
    - auto::size
    linkageType: ''
    returnType: LWMLINE
    signature: LWMLINE *GeometryReader::readMultiLineString()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ends
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:125,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:128,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:129,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:131,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:134,1
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:136,1
    - Dst: GeometryReader::readPA
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:140,1
    - Dst: lwpoly_construct
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: GeometryReader::readPolygon
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - lwpoly_construct
    - GeometryReader::readPA
    - ends
    - lwalloc
    - auto::Get
    - auto::size
    linkageType: ''
    returnType: LWPOLY
    signature: LWPOLY *GeometryReader::readPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:148,1
    - Dst: lwmpoly_construct_empty
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:149,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:150,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:151,1
    - Dst: GeometryReader::read
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:152,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: GeometryReader::readMultiPolygon
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - lwmpoly_construct_empty
    - parts
    - GeometryReader::read
    - auto::Get
    - lwmpoly_add_lwpoly
    - auto::size
    linkageType: ''
    returnType: LWMPOLY
    signature: LWMPOLY *GeometryReader::readMultiPolygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parts
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:160,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:161,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:162,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:163,1
    - Dst: auto::type
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:164,1
    - Dst: GeometryReader::read
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:165,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: GeometryReader::readGeometryCollection
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 0
    functionsReached:
    - parts
    - lwcollection_add_lwgeom
    - lwcollection_construct_empty
    - GeometryReader::read
    - auto::type
    - auto::Get
    - auto::size
    linkageType: ''
    returnType: LWCOLLECTION
    signature: LWCOLLECTION *GeometryReader::readGeometryCollection()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GeometryReader::readGeometryCollection
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:175,1
    - Dst: GeometryReader::readMultiPolygon
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:176,1
    - Dst: xy
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:186,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:187,1
    - Dst: GeometryReader::readPoint
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:191,1
    - Dst: GeometryReader::readMultiPoint
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:192,1
    - Dst: GeometryReader::readLineString
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:193,1
    - Dst: GeometryReader::readMultiLineString
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:194,1
    - Dst: GeometryReader::readPolygon
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:195,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/geometryreader.cpp:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: GeometryReader::read
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometryreader.cpp
    functionUses: 2
    functionsReached:
    - GeometryReader::readGeometryCollection
    - GeometryReader::readLineString
    - GeometryReader::readMultiPoint
    - GeometryReader::readMultiLineString
    - lwerror
    - GeometryReader::readPoint
    - GeometryReader::readMultiPolygon
    - GeometryReader::readPolygon
    - xy
    - auto::size
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM *GeometryReader::read()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:53,1
    - Dst: lwtype_name
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: GeometryWriter::get_geometrytype
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - lwerror
    - lwtype_name
    linkageType: ''
    returnType: GeometryType
    signature: GeometryType GeometryWriter::get_geometrytype(const LWGEOM *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: GeometryWriter::writePoint
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - GeometryWriter::writePA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writePoint(const LWPOINT *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:66,1
    - Dst: lwline_from_lwmpoint
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mp
    argTypes:
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: GeometryWriter::writeMultiPoint
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - lwline_from_lwmpoint
    - GeometryWriter::writePA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writeMultiPoint(const LWMPOINT *mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: GeometryWriter::writeLineString
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - GeometryWriter::writePA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writeLineString(const LWLINE *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:78,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:79,1
    - Dst: GeometryWriter::writePPA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ml
    argTypes:
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: GeometryWriter::writeMultiLineString
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - GeometryWriter::writePPA
    - lwalloc
    - GeometryWriter::writePA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writeMultiLineString(const LWMLINE *ml)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePPA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: GeometryWriter::writePolygon
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - GeometryWriter::writePPA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writePolygon(const LWPOLY *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:99,1
    - Dst: GeometryWriter::write
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:99,1
    - Dst: CreateGeometryDirect
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mp
    - depth
    argTypes:
    - LWMPOLY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: GeometryWriter::writeMultiPolygon
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - GeometryWriter::write
    - CreateGeometryDirect
    - std::vector::push_back
    linkageType: ''
    returnType: Offset<Geometry>
    signature: Offset<Geometry> GeometryWriter::writeMultiPolygon(const LWMPOLY *mp,
      int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::get_geometrytype
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:113,1
    - Dst: GeometryWriter::write
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:113,1
    - Dst: CreateGeometryDirect
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - gc
    - depth
    argTypes:
    - LWCOLLECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: GeometryWriter::writeGeometryCollection
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - GeometryWriter::write
    - CreateGeometryDirect
    - GeometryWriter::get_geometrytype
    linkageType: ''
    returnType: Offset<Geometry>
    signature: Offset<Geometry> GeometryWriter::writeGeometryCollection(const LWCOLLECTION
      *gc, int depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:122,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:123,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:124,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:126,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pa
    argTypes:
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: GeometryWriter::writePA
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 4
    functionsReached:
    - push_back
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writePA(POINTARRAY *pa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:137,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:140,1
    - Dst: GeometryWriter::writePA
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:143,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ppa
    - len
    argTypes:
    - POINTARRAY**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: GeometryWriter::writePPA
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 2
    functionsReached:
    - push_back
    - GeometryWriter::writePA
    linkageType: ''
    returnType: void
    signature: void GeometryWriter::writePPA(POINTARRAY **ppa, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GeometryWriter::get_geometrytype
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:153,1
    - Dst: GeometryWriter::writePoint
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:158,1
    - Dst: GeometryWriter::writeMultiPoint
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:160,1
    - Dst: GeometryWriter::writeLineString
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:162,1
    - Dst: GeometryWriter::writeMultiLineString
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:164,1
    - Dst: GeometryWriter::writePolygon
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:166,1
    - Dst: GeometryWriter::writeMultiPolygon
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:168,1
    - Dst: GeometryWriter::writeGeometryCollection
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:170,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:188,1
    - Dst: lwtype_name
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:189,1
    - Dst: empty
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:192,1
    - Dst: empty
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:193,1
    - Dst: empty
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:194,1
    - Dst: empty
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:195,1
    - Dst: FlatGeobuf::CreateGeometryDirect
      Src: /src/postgis/deps/flatgeobuf/geometrywriter.cpp:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: GeometryWriter::write
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
    functionUses: 2
    functionsReached:
    - empty
    - GeometryWriter::writeMultiLineString
    - GeometryWriter::writeMultiPolygon
    - FlatGeobuf::CreateGeometryDirect
    - GeometryWriter::writeGeometryCollection
    - lwerror
    - GeometryWriter::writePolygon
    - GeometryWriter::writeMultiPoint
    - lwtype_name
    - GeometryWriter::writeLineString
    - GeometryWriter::writePoint
    - GeometryWriter::get_geometrytype
    linkageType: ''
    returnType: Offset<Geometry>
    signature: Offset<Geometry> GeometryWriter::write(int depth)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:47,1
    - Dst: lwgeom_has_srid
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:51,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:53,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:54,1
    - Dst: GeometryWriter::get_geometrytype
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:56,1
    - Dst: LWDEBUG
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:58,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:62,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:70,1
    - Dst: CreateColumnDirect
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:70,1
    - Dst: std::vector::size
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:73,1
    - Dst: CreateCrsDirect
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:83,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:84,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:85,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:86,1
    - Dst: std::vector::size
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:88,1
    - Dst: CreateHeaderDirect
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:91,1
    - Dst: FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:93,1
    - Dst: FlatBufferBuilder::GetBufferPointer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:94,1
    - Dst: FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:95,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:97,1
    - Dst: VerifySizePrefixedHeaderBuffer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:100,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:101,1
    - Dst: lwrealloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:105,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:106,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 112
    functionName: flatgeobuf_encode_header
    functionSourceFile: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    functionUses: 0
    functionsReached:
    - CreateHeaderDirect
    - lwgeom_has_z
    - FlatBufferBuilder::TrackMinAlign
    - lwgeom_has_m
    - FlatBufferBuilder::GetBufferPointer
    - GeometryWriter::get_geometrytype
    - lwgeom_has_srid
    - lwerror
    - std::vector::size
    - VerifySizePrefixedHeaderBuffer
    - LWDEBUGF
    - FlatBufferBuilder::FinishSizePrefixed
    - std::vector::push_back
    - LWDEBUG
    - FlatBufferBuilder::GetSize
    - CreateColumnDirect
    - lwrealloc
    - CreateCrsDirect
    - memcpy
    linkageType: ''
    returnType: int
    signature: int flatgeobuf_encode_header(ctx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:120,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:122,1
    - Dst: LWDEBUGG
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:123,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:125,1
    - Dst: GeometryWriter::write
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:129,1
    - Dst: FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:132,1
    - Dst: FeatureBuilder::add_geometry
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:134,1
    - Dst: FeatureBuilder::add_properties
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:135,1
    - Dst: FeatureBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:136,1
    - Dst: FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:137,1
    - Dst: FlatBufferBuilder::GetBufferPointer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:138,1
    - Dst: FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:139,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:141,1
    - Dst: VerifySizePrefixedFeatureBuffer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:144,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:145,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:149,1
    - Dst: lwrealloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:150,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:151,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:152,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:155,1
    - Dst: memset
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:156,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:157,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 172
    functionName: flatgeobuf_encode_feature
    functionSourceFile: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - VerifySizePrefixedFeatureBuffer
    - lwalloc
    - GeometryWriter::write
    - FlatBufferBuilder::TrackMinAlign
    - memset
    - FlatBufferBuilder::GetBufferPointer
    - LWDEBUGG
    - FlatBufferBuilder::CreateVector
    - FeatureBuilder::add_geometry
    - lwerror
    - LWDEBUGF
    - FlatBufferBuilder::FinishSizePrefixed
    - FeatureBuilder::add_properties
    - FlatBufferBuilder::GetSize
    - lwgeom_is_empty
    - FeatureBuilder::Finish
    - lwrealloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int flatgeobuf_encode_feature(ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FeatureItem>
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:179,1
    - Dst: std::vector::push_back
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:185,1
    - Dst: hilbertSort
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:188,1
    - Dst: calcExtent
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:190,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:199,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:200,1
    - Dst: flatgeobuf_encode_header
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:203,1
    - Dst: std::static_pointer_cast<FeatureItem>
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:207,1
    - Dst: lwrealloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:214,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:215,1
    - Dst: PackedRTree::streamWrite
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:218,1
    - Dst: std::static_pointer_cast<FeatureItem>
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:221,1
    - Dst: lwrealloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:222,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:223,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:224,1
    - Dst: lwfree
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 228
    functionName: flatgeobuf_create_index
    functionSourceFile: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - hilbertSort
    - flatgeobuf_encode_header
    - std::make_shared<FeatureItem>
    - calcExtent
    - lwrealloc
    - lwalloc
    - std::static_pointer_cast<FeatureItem>
    - lwfree
    - LWDEBUGF
    - memcpy
    - PackedRTree::streamWrite
    linkageType: ''
    returnType: void
    signature: void flatgeobuf_create_index(ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:232,1
    - Dst: flatbuffers::GetPrefixedSize
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:233,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:234,1
    - Dst: VerifySizePrefixedFeatureBuffer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:237,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:238,1
    - Dst: GetFeature
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:244,1
    - Dst: auto::geometry
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:247,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:249,1
    - Dst: GeometryReader::read
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:251,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:253,1
    - Dst: LWDEBUGG
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:254,1
    - Dst: auto::properties
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:258,1
    - Dst: auto::properties
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:258,1
    - Dst: auto::properties
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:259,1
    - Dst: auto::properties
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 230
    functionDepth: 7
    functionLinenumber: 230
    functionLinenumberEnd: 266
    functionName: flatgeobuf_decode_feature
    functionSourceFile: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    functionUses: 0
    functionsReached:
    - GetFeature
    - flatbuffers::GetPrefixedSize
    - lwerror
    - GeometryReader::read
    - LWDEBUGG
    - auto::geometry
    - VerifySizePrefixedFeatureBuffer
    - lwgeom_set_srid
    - LWDEBUGF
    - auto::properties
    linkageType: ''
    returnType: int
    signature: int flatgeobuf_decode_feature(ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:270,1
    - Dst: flatbuffers::GetPrefixedSize
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:271,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:272,1
    - Dst: VerifySizePrefixedHeaderBuffer
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:275,1
    - Dst: lwerror
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:276,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:282,1
    - Dst: GetHeader
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:283,1
    - Dst: auto::geometry_type
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:286,1
    - Dst: auto::features_count
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:287,1
    - Dst: auto::has_z
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:288,1
    - Dst: auto::has_m
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:289,1
    - Dst: auto::has_t
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:290,1
    - Dst: auto::has_tm
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:291,1
    - Dst: auto::index_node_size
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:292,1
    - Dst: auto::crs
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:293,1
    - Dst: auto::code
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:295,1
    - Dst: auto::columns
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:296,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:298,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:299,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:302,1
    - Dst: lwalloc
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:303,1
    - Dst: memset
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:304,1
    - Dst: auto::name
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:305,1
    - Dst: auto::type
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:306,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:310,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:311,1
    - Dst: FlatGeobuf::PackedRTree::size
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:314,1
    - Dst: LWDEBUGF
      Src: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 320
    functionName: flatgeobuf_decode_header
    functionSourceFile: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    functionUses: 0
    functionsReached:
    - auto::has_m
    - auto::columns
    - auto::crs
    - lwalloc
    - auto::has_tm
    - auto::has_z
    - FlatGeobuf::PackedRTree::size
    - auto::Get
    - auto::has_t
    - auto::features_count
    - memset
    - GetHeader
    - auto::index_node_size
    - auto::size
    - lwerror
    - auto::name
    - auto::type
    - VerifySizePrefixedHeaderBuffer
    - LWDEBUGF
    - auto::geometry_type
    - flatbuffers::GetPrefixedSize
    - auto::code
    linkageType: ''
    returnType: int
    signature: int flatgeobuf_decode_header(ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - fbb
    - lwgeom
    - geometry_type
    - has_z
    - has_m
    argTypes:
    - flatbuffers::FlatBufferBuilder
    - LWGEOM*
    - FlatGeobuf::GeometryType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: FlatGeobuf::GeometryWriter::GeometryWriter
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GeometryWriter(\n\t\t\tflatbuffers::FlatBufferBuilder &fbb,\n\t\t\tconst
      LWGEOM *lwgeom,\n\t\t\tconst FlatGeobuf::GeometryType geometry_type,\n\t\t\tconst
      bool has_z,\n\t\t\tconst bool has_m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - fbb
    - lwgeom
    - geometry_type
    - has_z
    - has_m
    argTypes:
    - flatbuffers::FlatBufferBuilder
    - LWGEOM*
    - FlatGeobuf::GeometryType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: FlatGeobuf::GeometryWriter::GeometryWriter
    functionSourceFile: /src/postgis/deps/flatgeobuf/geometrywriter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GeometryWriter(\n\t\t\tflatbuffers::FlatBufferBuilder &fbb,\n\t\t\tconst
      LWGEOM *lwgeom,\n\t\t\tconst FlatGeobuf::GeometryType geometry_type,\n\t\t\tconst
      bool has_z,\n\t\t\tconst bool has_m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:45,1
    - Dst: auto::GetVTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:46,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:48,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:50,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:50,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:66,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:67,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - root
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: flatbuffers::GetBufferStartFromRootPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<const Table *>
    - reinterpret_cast<const uint8_t *>
    - auto::GetVTable
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetBufferStartFromRootPointer(const void *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: flatbuffers::GetPrefixedSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 2
    functionsReached:
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t GetPrefixedSize(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:111,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - T*
    - typename T::FlatBuffersVTableOffset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: flatbuffers::IsFieldPresent
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Table *>
    - static_cast<voffset_t>
    linkageType: ''
    returnType: bool
    signature: bool IsFieldPresent(const T *table, typename T::FlatBuffersVTableOffset
      field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:120,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - names
    - name
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: flatbuffers::LookupEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - strcmp
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int LookupEnum(const char **names, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: FLATBUFFERS_STRUCT_END
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRUCT_END(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: FLATBUFFERS_STRUCT_END
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRUCT_END(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ET
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: FLATBUFFERS_GEN_ELEMENTARY_TYPES
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_ELEMENTARY_TYPES(ET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ET
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:192,1
    - Dst: FLATBUFFERS_GEN_ELEMENTARY_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: flatbuffers::ElementaryTypeNames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_ELEMENTARY_TYPES
    - FLATBUFFERS_ET
    linkageType: ''
    returnType: char
    signature: char * const *ElementaryTypeNames()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:232,1
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:233,1
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: flatbuffers::flatbuffers_version_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_STRING
    linkageType: ''
    returnType: char
    signature: char *flatbuffers_version_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - E
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: FLATBUFFERS_DEFINE_BITMASK_OPERATORS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_DEFINE_BITMASK_OPERATORS(E, T)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:45,1
    - Dst: auto::GetVTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:46,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:48,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:50,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:50,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:66,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:67,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - root
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: flatbuffers::GetBufferStartFromRootPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    - reinterpret_cast<uintptr_t>
    - reinterpret_cast<const Table *>
    - reinterpret_cast<const uint8_t *>
    - auto::GetVTable
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetBufferStartFromRootPointer(const void *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: flatbuffers::GetPrefixedSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 2
    functionsReached:
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t GetPrefixedSize(const uint8_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:111,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - T*
    - typename T::FlatBuffersVTableOffset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: flatbuffers::IsFieldPresent
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Table *>
    - static_cast<voffset_t>
    linkageType: ''
    returnType: bool
    signature: bool IsFieldPresent(const T *table, typename T::FlatBuffersVTableOffset
      field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:120,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - names
    - name
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: flatbuffers::LookupEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - strcmp
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int LookupEnum(const char **names, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: FLATBUFFERS_STRUCT_END
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRUCT_END(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: FLATBUFFERS_STRUCT_END
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRUCT_END(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ET
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: FLATBUFFERS_GEN_ELEMENTARY_TYPES
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_ELEMENTARY_TYPES(ET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ET
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:192,1
    - Dst: FLATBUFFERS_GEN_ELEMENTARY_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: flatbuffers::ElementaryTypeNames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_ELEMENTARY_TYPES
    - FLATBUFFERS_ET
    linkageType: ''
    returnType: char
    signature: char * const *ElementaryTypeNames()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:232,1
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:233,1
    - Dst: FLATBUFFERS_STRING
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: flatbuffers::flatbuffers_version_string
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_STRING
    linkageType: ''
    returnType: char
    signature: char *flatbuffers_version_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - E
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: FLATBUFFERS_DEFINE_BITMASK_OPERATORS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_DEFINE_BITMASK_OPERATORS(E, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: FLATBUFFERS_GEN_TYPES_SCALAR
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES_SCALAR(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: FLATBUFFERS_GEN_TYPES_POINTER
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES_POINTER(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: FLATBUFFERS_GEN_TYPE_ARRAY
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPE_ARRAY(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: FLATBUFFERS_GEN_TYPES
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: flatbuffers::IsScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScalar (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: flatbuffers::IsInteger
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger(BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: flatbuffers::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat  (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: flatbuffers::IsLong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLong   (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: flatbuffers::IsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBool   (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: flatbuffers::IsOneByte
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOneByte(BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: flatbuffers::IsUnsigned
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnsigned(BaseType t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:153,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: flatbuffers::SizeOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:164,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: flatbuffers::TypeName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: char
    signature: char * TypeName(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:175,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: flatbuffers::StringOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: char
    signature: char * StringOf(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: flatbuffers::Type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Type(BaseType _base_type = BASE_TYPE_NONE, StructDef *_sd = nullptr,\n
      \               EnumDef *_ed = nullptr, uint16_t _fixed_length = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: operator==(const Type &o) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Type &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: flatbuffers::VectorType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Type
    linkageType: ''
    returnType: Type
    signature: Type VectorType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:224,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: flatbuffers::Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - static_cast<voffset_t>
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:235,1
    - Dst: flatbuffers::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: ~SymbolTable()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::end
    - flatbuffers::begin
    linkageType: ''
    returnType: void
    signature: void ~SymbolTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:239,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:240,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - e
    argTypes:
    - std::string
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: flatbuffers::SymbolTable::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::string &name, T *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:247,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:248,1
    - Dst: erase
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:250,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - oldname
    - newname
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: flatbuffers::SymbolTable::Move
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - find
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: void Move(const std::string &oldname, const std::string &newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:258,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: flatbuffers::SymbolTable::Lookup
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: T
    signature: T *Lookup(const std::string &name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: flatbuffers::Namespace
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespace()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:288,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Namespace
    - Namespace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: operator<(const Namespace &a, const Namespace &b)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - Namespace::components::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Namespace &a, const Namespace &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: flatbuffers::Definition
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Definition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: flatbuffers::FieldDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldDef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:340,1
    - Dst: flatbuffers::IsOptional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: flatbuffers::IsScalarOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsOptional
    - flatbuffers::IsScalar
    linkageType: ''
    returnType: bool
    signature: bool IsScalarOptional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: flatbuffers::IsOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOptional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: flatbuffers::IsRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: flatbuffers::IsDefault
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDefault() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - optional
    - required
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: flatbuffers::MakeFieldPresence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Presence
    signature: Presence MakeFieldPresence(bool optional, bool required)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: flatbuffers::StructDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructDef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:395,1
    - Dst: vec::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:397,1
    - Dst: vec::back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - min_align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: flatbuffers::PadLastField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::PaddingBytes
    - vec::back
    - vec::size
    linkageType: ''
    returnType: void
    signature: void PadLastField(size_t min_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: flatbuffers::GetAsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetAsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: flatbuffers::GetAsInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetAsInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: flatbuffers::IsZero
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsZero
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: flatbuffers::IsNonZero
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsZero
    linkageType: ''
    returnType: bool
    signature: bool IsNonZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _name
    - _val
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: flatbuffers::EnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumVal(const std::string &_name, int64_t _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: flatbuffers::EnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumVal()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: flatbuffers::EnumDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumDef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Distance
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    - Dst: MinValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    - Dst: MaxValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: flatbuffers::Distance
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached:
    - MinValue
    - flatbuffers::Distance
    - MaxValue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: EnumVal::GetAsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:481,1
    - Dst: EnumVal::GetAsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: flatbuffers::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsUInt64
    - EnumVal::GetAsUInt64
    - EnumVal::GetAsInt64
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const EnumVal &ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: flatbuffers::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - vec::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: '&Vals() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EnumVal *>
    signature: std::vector<EnumVal *> &Vals() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Lookup
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enum_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: flatbuffers::Lookup
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Lookup
    linkageType: ''
    returnType: EnumVal
    signature: EnumVal *Lookup(const std::string &enum_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: flatbuffers::IsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: flatbuffers::IsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: flatbuffers::IsStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: flatbuffers::IsIncompleteStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsIncompleteStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: flatbuffers::IsTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTable(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: flatbuffers::IsUnion
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnion(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsUnion
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:528,1
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: flatbuffers::IsUnionType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsUnion
    - flatbuffers::IsInteger
    linkageType: ''
    returnType: bool
    signature: bool IsUnionType(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: flatbuffers::IsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsVector(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: flatbuffers::IsVectorOfStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - Type::VectorType
    - flatbuffers::IsStruct
    linkageType: ''
    returnType: bool
    signature: bool IsVectorOfStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    - Dst: flatbuffers::IsTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: flatbuffers::IsVectorOfTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - Type::VectorType
    - flatbuffers::IsTable
    linkageType: ''
    returnType: bool
    signature: bool IsVectorOfTable(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: flatbuffers::IsArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsArray(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:548,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: flatbuffers::IsSeries
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - flatbuffers::IsArray
    linkageType: ''
    returnType: bool
    signature: bool IsSeries(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: flatbuffers::IsEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsInteger
    linkageType: ''
    returnType: bool
    signature: bool IsEnum(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:556,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:558,1
    - Dst: flatbuffers::InlineSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:559,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:559,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: flatbuffers::InlineSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached:
    - flatbuffers::SizeOf
    - flatbuffers::IsArray
    - flatbuffers::IsStruct
    - Type::VectorType
    - flatbuffers::InlineSize
    linkageType: ''
    returnType: size_t
    signature: size_t InlineSize(const Type &type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:564,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:566,1
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:567,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:567,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:568,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: flatbuffers::InlineAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::SizeOf
    - flatbuffers::IsArray
    - Type::VectorType
    - flatbuffers::IsStruct
    linkageType: ''
    returnType: size_t
    signature: size_t InlineAlignment(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - EnumVal
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: operator==(const EnumVal &lhs, const EnumVal &rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EnumVal &lhs, const EnumVal &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - EnumVal
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: operator!=(const EnumVal &lhs, const EnumVal &rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EnumVal &lhs, const EnumVal &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Type
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: flatbuffers::EqualByName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EqualByName(const Type &a, const Type &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IncludedFile
    - IncludedFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: operator<(const IncludedFile &a, const IncludedFile &b)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IncludedFile &a, const IncludedFile &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 816
    functionName: flatbuffers::IDLOptions
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDLOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: flatbuffers::ParserState
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::MarkNewLine
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 835
    functionName: flatbuffers::ResetState
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::MarkNewLine
    linkageType: ''
    returnType: void
    signature: void ResetState(const char *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: flatbuffers::MarkNewLine
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkNewLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:843,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: flatbuffers::CursorPosition
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CursorPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: flatbuffers::CheckedError::CheckedError
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedError(bool error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - CheckedError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 878
    functionName: '&operator=(const CheckedError &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckedError
    signature: CheckedError &operator=(const CheckedError &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - CheckedError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: flatbuffers::CheckedError::CheckedError
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedError(const CheckedError &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 884
    functionName: ~CheckedError()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ~CheckedError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 889
    functionName: flatbuffers::CheckedError::Check
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Check()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDLOptions
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:909,1
    - Dst: ForceDefaults
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:921,1
    - Dst: Namespace::Namespace
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:923,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 951
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - Namespace::Namespace
    - push_back
    - ForceDefaults
    - IDLOptions
    linkageType: ''
    returnType: void
    signature: void Parser(const IDLOptions &options = IDLOptions())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 954
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 955
    functionName: '&operator=(const Parser &)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parser
    signature: Parser &operator=(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 957
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(Parser &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: '&operator=(Parser &&)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parser
    signature: Parser &operator=(Parser &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:961,1
    - Dst: flatbuffers::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: ~Parser()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::end
    - flatbuffers::begin
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: FLATBUFFERS_GEN_TYPES_SCALAR
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES_SCALAR(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: FLATBUFFERS_GEN_TYPES_POINTER
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES_POINTER(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: FLATBUFFERS_GEN_TYPE_ARRAY
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPE_ARRAY(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: FLATBUFFERS_GEN_TYPES
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GEN_TYPES(TD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: flatbuffers::IsScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScalar (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: flatbuffers::IsInteger
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger(BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: flatbuffers::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat  (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: flatbuffers::IsLong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLong   (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: flatbuffers::IsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBool   (BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: flatbuffers::IsOneByte
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOneByte(BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: flatbuffers::IsUnsigned
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnsigned(BaseType t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:153,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: flatbuffers::SizeOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:164,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: flatbuffers::TypeName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: char
    signature: char * TypeName(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GEN_TYPES
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:175,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: flatbuffers::StringOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GEN_TYPES
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: char
    signature: char * StringOf(const BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ENUM
    - ','
    - IDLTYPE
    - ','
    - CTYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: FLATBUFFERS_TD
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: flatbuffers::Type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Type(BaseType _base_type = BASE_TYPE_NONE, StructDef *_sd = nullptr,\n
      \               EnumDef *_ed = nullptr, uint16_t _fixed_length = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: operator==(const Type &o) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Type &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: flatbuffers::VectorType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Type
    linkageType: ''
    returnType: Type
    signature: Type VectorType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:224,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: flatbuffers::Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - static_cast<voffset_t>
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:235,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: ~SymbolTable()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ~SymbolTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:239,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:240,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - e
    argTypes:
    - std::string
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: flatbuffers::SymbolTable::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::string &name, T *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:247,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:248,1
    - Dst: erase
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:250,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - oldname
    - newname
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: flatbuffers::SymbolTable::Move
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - find
    - end
    - erase
    linkageType: ''
    returnType: void
    signature: void Move(const std::string &oldname, const std::string &newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:258,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: flatbuffers::SymbolTable::Lookup
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: T
    signature: T *Lookup(const std::string &name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: flatbuffers::Namespace
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Namespace()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:283,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:288,1
    - Dst: Namespace::components::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Namespace
    - Namespace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: operator<(const Namespace &a, const Namespace &b)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - Namespace::components::size
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Namespace &a, const Namespace &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: flatbuffers::Definition
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Definition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: flatbuffers::FieldDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldDef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:340,1
    - Dst: flatbuffers::IsOptional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: flatbuffers::IsScalarOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsOptional
    - flatbuffers::IsScalar
    linkageType: ''
    returnType: bool
    signature: bool IsScalarOptional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: flatbuffers::IsOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOptional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: flatbuffers::IsRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: flatbuffers::IsDefault
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDefault() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - optional
    - required
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: flatbuffers::MakeFieldPresence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Presence
    signature: Presence MakeFieldPresence(bool optional, bool required)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: flatbuffers::StructDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StructDef()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:395,1
    - Dst: vec::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:397,1
    - Dst: vec::back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - min_align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: flatbuffers::PadLastField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::PaddingBytes
    - vec::back
    - vec::size
    linkageType: ''
    returnType: void
    signature: void PadLastField(size_t min_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 434
    functionName: flatbuffers::GetAsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t GetAsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: flatbuffers::GetAsInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetAsInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: flatbuffers::IsZero
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsZero
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 437
    functionName: flatbuffers::IsNonZero
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsZero
    linkageType: ''
    returnType: bool
    signature: bool IsNonZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _name
    - _val
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: flatbuffers::EnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumVal(const std::string &_name, int64_t _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: flatbuffers::EnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumVal()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 456
    functionName: flatbuffers::EnumDef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumDef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Distance
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    - Dst: MinValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    - Dst: MaxValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: flatbuffers::Distance
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached:
    - MinValue
    - flatbuffers::Distance
    - MaxValue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Distance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: EnumVal::GetAsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:480,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:481,1
    - Dst: EnumVal::GetAsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: flatbuffers::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsUInt64
    - EnumVal::GetAsUInt64
    - EnumVal::GetAsInt64
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString(const EnumVal &ev) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 484
    functionName: flatbuffers::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - vec::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: '&Vals() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EnumVal *>
    signature: std::vector<EnumVal *> &Vals() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Lookup
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enum_name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: flatbuffers::Lookup
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Lookup
    linkageType: ''
    returnType: EnumVal
    signature: EnumVal *Lookup(const std::string &enum_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: flatbuffers::IsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: flatbuffers::IsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: flatbuffers::IsStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: flatbuffers::IsIncompleteStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsIncompleteStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: flatbuffers::IsTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTable(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: flatbuffers::IsUnion
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnion(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsUnion
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:528,1
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: flatbuffers::IsUnionType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsUnion
    - flatbuffers::IsInteger
    linkageType: ''
    returnType: bool
    signature: bool IsUnionType(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: flatbuffers::IsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsVector(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: flatbuffers::IsVectorOfStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - Type::VectorType
    - flatbuffers::IsStruct
    linkageType: ''
    returnType: bool
    signature: bool IsVectorOfStruct(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    - Dst: flatbuffers::IsTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: flatbuffers::IsVectorOfTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - Type::VectorType
    - flatbuffers::IsTable
    linkageType: ''
    returnType: bool
    signature: bool IsVectorOfTable(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: flatbuffers::IsArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsArray(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:548,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: flatbuffers::IsSeries
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsVector
    - flatbuffers::IsArray
    linkageType: ''
    returnType: bool
    signature: bool IsSeries(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: flatbuffers::IsEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsInteger
    linkageType: ''
    returnType: bool
    signature: bool IsEnum(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:556,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:558,1
    - Dst: flatbuffers::InlineSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:559,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:559,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: flatbuffers::InlineSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached:
    - flatbuffers::SizeOf
    - flatbuffers::IsArray
    - flatbuffers::IsStruct
    - Type::VectorType
    - flatbuffers::InlineSize
    linkageType: ''
    returnType: size_t
    signature: size_t InlineSize(const Type &type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:564,1
    - Dst: flatbuffers::IsArray
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:566,1
    - Dst: flatbuffers::IsStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:567,1
    - Dst: Type::VectorType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:567,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:568,1
    - Dst: flatbuffers::SizeOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: flatbuffers::InlineAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::SizeOf
    - flatbuffers::IsArray
    - Type::VectorType
    - flatbuffers::IsStruct
    linkageType: ''
    returnType: size_t
    signature: size_t InlineAlignment(const Type &type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - EnumVal
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: operator==(const EnumVal &lhs, const EnumVal &rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EnumVal &lhs, const EnumVal &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - EnumVal
    - EnumVal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: operator!=(const EnumVal &lhs, const EnumVal &rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EnumVal &lhs, const EnumVal &rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Type
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: flatbuffers::EqualByName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EqualByName(const Type &a, const Type &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IncludedFile
    - IncludedFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: operator<(const IncludedFile &a, const IncludedFile &b)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IncludedFile &a, const IncludedFile &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 816
    functionName: flatbuffers::IDLOptions
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDLOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 827
    functionName: flatbuffers::ParserState
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserState()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::MarkNewLine
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 835
    functionName: flatbuffers::ResetState
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - flatbuffers::MarkNewLine
    linkageType: ''
    returnType: void
    signature: void ResetState(const char *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: flatbuffers::MarkNewLine
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MarkNewLine()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:843,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: flatbuffers::CursorPosition
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t CursorPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - error
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 871
    functionName: flatbuffers::CheckedError::CheckedError
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedError(bool error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - CheckedError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 878
    functionName: '&operator=(const CheckedError &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CheckedError
    signature: CheckedError &operator=(const CheckedError &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - CheckedError
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: flatbuffers::CheckedError::CheckedError
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedError(const CheckedError &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 884
    functionName: ~CheckedError()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ~CheckedError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 889
    functionName: flatbuffers::CheckedError::Check
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Check()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDLOptions
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:909,1
    - Dst: ForceDefaults
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:921,1
    - Dst: Namespace::Namespace
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:923,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 951
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - Namespace::Namespace
    - push_back
    - ForceDefaults
    - IDLOptions
    linkageType: ''
    returnType: void
    signature: void Parser(const IDLOptions &options = IDLOptions())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 954
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 955
    functionName: '&operator=(const Parser &)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parser
    signature: Parser &operator=(const Parser &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 957
    functionName: flatbuffers::Parser::Parser
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(Parser &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 958
    functionName: '&operator=(Parser &&)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parser
    signature: Parser &operator=(Parser &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:961,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: ~Parser()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::FlatCompiler::InitParams
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - InitParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: flatbuffers::FlatCompiler::FlatCompiler
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlatCompiler(const InitParams &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::FlatCompiler::InitParams
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitParams()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - InitParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: flatbuffers::FlatCompiler::FlatCompiler
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FlatCompiler(const InitParams &params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: flexbuffers::IsInline
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInline(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: flexbuffers::IsTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVectorElementType(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: flexbuffers::IsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVector(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: flexbuffers::IsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFixedTypedVector(Type t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:105,1
    - Dst: flexbuffers::IsTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:105,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:107,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:108,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:109,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:110,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: flexbuffers::ToTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsTypedVectorElementType
    - static_cast<Type>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToTypedVector(Type t, size_t fixed_len = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:116,1
    - Dst: flexbuffers::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:116,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: flexbuffers::ToTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - flexbuffers::IsTypedVector
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToTypedVectorElementType(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:121,1
    - Dst: flexbuffers::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:121,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:123,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - len
    argTypes:
    - Type
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: flexbuffers::ToFixedTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsFixedTypedVector
    - static_cast<Type>
    - static_cast<uint8_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToFixedTypedVectorElementType(Type t, uint8_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:142,1
    - Dst: flatbuffers::ReadScalar<T1>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:142,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:143,1
    - Dst: flatbuffers::ReadScalar<T2>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:143,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:145,1
    - Dst: flatbuffers::ReadScalar<T4>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:145,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:146,1
    - Dst: flatbuffers::ReadScalar<T8>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: flexbuffers::ReadSizedScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar<T8>
    - static_cast<R>
    - flatbuffers::ReadScalar<T1>
    - flatbuffers::ReadScalar<T2>
    - flatbuffers::ReadScalar<T4>
    linkageType: ''
    returnType: R
    signature: R ReadSizedScalar(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: flexbuffers::ReadInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::ReadSizedScalar
    linkageType: ''
    returnType: int64_t
    signature: int64_t ReadInt64(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __movsb
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:165,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:165,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:166,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:167,1
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: flexbuffers::ReadUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - __movsb
    - reinterpret_cast<uint8_t *>
    - reinterpret_cast<const uint8_t *>
    - flexbuffers::ReadSizedScalar
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadUInt64(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: flexbuffers::ReadDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::ReadSizedScalar
    linkageType: ''
    returnType: double
    signature: double ReadDouble(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: flexbuffers::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::ReadUInt64
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect(const uint8_t *offset, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: flexbuffers::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar<T>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect(const uint8_t *offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:193,1
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:194,1
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: flexbuffers::WidthU
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_GET_FIELD_BIT_WIDTH
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthU(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: FLATBUFFERS_GET_FIELD_BIT_WIDTH
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GET_FIELD_BIT_WIDTH(value, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:201,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: flexbuffers::WidthI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - flexbuffers::WidthU
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthI(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:206,1
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: flexbuffers::WidthF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - static_cast<double>
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthF(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: flexbuffers::Object::Object
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Sized::read_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: flexbuffers::Sized::Sized
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Sized::read_size
    linkageType: ''
    returnType: void
    signature: void Sized(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: flexbuffers::Sized::Sized
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sized(const uint8_t *data, uint8_t byte_width, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: flexbuffers::Sized::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:234,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: flexbuffers::Sized::read_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - ReadUInt64
    linkageType: ''
    returnType: size_t
    signature: size_t read_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: flexbuffers::String::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: flexbuffers::String::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const uint8_t *data, uint8_t byte_width, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: flexbuffers::String::length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: flexbuffers::String::c_str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: char *c_str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    - Dst: flexbuffers::String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: flexbuffers::String::str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::String::c_str
    - size
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:255,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: flexbuffers::String::EmptyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::String::String
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: String
    signature: String EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String::EmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: flexbuffers::String::IsTheEmptyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::String::EmptyString
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data_buf
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: flexbuffers::Blob::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blob(const uint8_t *data_buf, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Blob::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: flexbuffers::Blob::EmptyBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Blob::Blob
    linkageType: ''
    returnType: Blob
    signature: Blob EmptyBlob()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Blob::EmptyBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: flexbuffers::Blob::IsTheEmptyBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Blob::EmptyBlob
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyBlob() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: flexbuffers::Blob::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: flexbuffers::Vector::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vector(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: flexbuffers::Vector::EmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Vector::Vector
    linkageType: ''
    returnType: Vector
    signature: Vector EmptyVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector::EmptyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: flexbuffers::Vector::IsTheEmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Vector::EmptyVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - element_type
    argTypes:
    - uint8_t*
    - uint8_t
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: flexbuffers::TypedVector::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TypedVector(const uint8_t *data, uint8_t byte_width, Type element_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::TypedVector::TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: flexbuffers::TypedVector::EmptyTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::TypedVector::TypedVector
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector EmptyTypedVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::TypedVector::EmptyTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: flexbuffers::TypedVector::IsTheEmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::TypedVector::EmptyTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: flexbuffers::TypedVector::ElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type ElementType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - byte_width
    - element_type
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    - Type
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: flexbuffers::FixedTypedVector::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FixedTypedVector(const uint8_t *data, uint8_t byte_width, Type
      element_type,\n                   uint8_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::FixedTypedVector::FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::FixedTypedVector::FixedTypedVector
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector EmptyFixedTypedVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: flexbuffers::FixedTypedVector::IsTheEmptyFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyFixedTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: flexbuffers::FixedTypedVector::ElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type ElementType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: flexbuffers::FixedTypedVector::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: flexbuffers::Map::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: flexbuffers::Map::Values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Vector
    linkageType: ''
    returnType: Vector
    signature: Vector Values() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:347,1
    - Dst: Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:347,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:348,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: flexbuffers::Map::Keys
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - ReadUInt64
    - TypedVector
    - static_cast<uint8_t>
    - Indirect
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector Keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map::Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: flexbuffers::Map::EmptyMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Map::Map
    linkageType: ''
    returnType: Map
    signature: Map EmptyMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map::EmptyMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: flexbuffers::Map::IsTheEmptyMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Map::EmptyMap
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:366,1
    - Dst: ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - v
    - keys_quoted
    argTypes:
    - std::string
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: flexbuffers::AppendToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - T::size
    - ToString
    linkageType: ''
    returnType: void
    signature: void AppendToString(std::string &s, T &&v, bool keys_quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reference()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - parent_width
    - byte_width
    - type
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Reference(const uint8_t *data, uint8_t parent_width, uint8_t
      byte_width,\n            Type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:388,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - parent_width
    - packed_type
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Reference(const uint8_t *data, uint8_t parent_width, uint8_t packed_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: flexbuffers::Reference::GetType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type GetType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: flexbuffers::Reference::IsNull
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: flexbuffers::Reference::IsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: flexbuffers::Reference::IsInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: flexbuffers::Reference::IsUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:399,1
    - Dst: flexbuffers::Reference::IsUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: flexbuffers::Reference::IsIntOrUint
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::IsUInt
    - flexbuffers::Reference::IsInt
    linkageType: ''
    returnType: bool
    signature: bool IsIntOrUint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: flexbuffers::Reference::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsIntOrUint
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:403,1
    - Dst: flexbuffers::Reference::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: flexbuffers::Reference::IsNumeric
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::IsIntOrUint
    - flexbuffers::Reference::IsFloat
    linkageType: ''
    returnType: bool
    signature: bool IsNumeric() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: flexbuffers::Reference::IsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: flexbuffers::Reference::IsKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: flexbuffers::Reference::IsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: flexbuffers::Reference::IsUntypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUntypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: flexbuffers::Reference::IsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: flexbuffers::Reference::IsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsFixedTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsFixedTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    - Dst: flexbuffers::Reference::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: flexbuffers::Reference::IsAnyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::Reference::IsTypedVector
    - flexbuffers::Reference::IsVector
    linkageType: ''
    returnType: bool
    signature: bool IsAnyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: flexbuffers::Reference::IsMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: flexbuffers::Reference::IsBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBlob() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:418,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: flexbuffers::Reference::AsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - ReadUInt64
    linkageType: ''
    returnType: bool
    signature: bool AsBool() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:428,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:431,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:431,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:432,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:433,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:433,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:435,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:435,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: flatbuffers::StringToInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:439,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:439,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:440,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:440,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: flexbuffers::Reference::AsInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsString
    - flatbuffers::StringToInt
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - static_cast<int64_t>
    - flexbuffers::Reference::Indirect
    - ReadInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t AsInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:450,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: flexbuffers::Reference::AsInt32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - flexbuffers::Reference::AsInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t AsInt32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:451,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: flexbuffers::Reference::AsInt16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsInt64
    - static_cast<int16_t>
    linkageType: ''
    returnType: int16_t
    signature: int16_t AsInt16() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:452,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: flexbuffers::Reference::AsInt8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsInt64
    - static_cast<int8_t>
    linkageType: ''
    returnType: int8_t
    signature: int8_t AsInt8() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:457,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:460,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:460,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:461,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:462,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:462,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:464,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:464,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: flatbuffers::StringToUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:468,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:468,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:469,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:469,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: flexbuffers::Reference::AsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::AsString
    - static_cast<uint64_t>
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - flatbuffers::StringToUInt
    - flexbuffers::Reference::Indirect
    - ReadInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:477,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: flexbuffers::Reference::AsUInt32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AsUInt32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:478,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: flexbuffers::Reference::AsUInt16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t AsUInt16() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:479,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: flexbuffers::Reference::AsUInt8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t AsUInt8() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:484,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:487,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:487,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:489,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:489,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:491,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:491,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: flatbuffers::StringToNumber
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:499,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:499,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:502,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:502,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:504,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 509
    functionName: flexbuffers::Reference::AsDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsString
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - flatbuffers::StringToNumber
    - flexbuffers::Reference::Indirect
    - ReadInt64
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double AsDouble() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:511,1
    - Dst: flexbuffers::Reference::AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: flexbuffers::Reference::AsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - flexbuffers::Reference::AsDouble
    linkageType: ''
    returnType: float
    signature: float AsFloat() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:515,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: flexbuffers::Reference::AsKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: char
    signature: char *AsKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:525,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:525,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:527,1
    - Dst: String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:528,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:529,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:529,1
    - Dst: flexbuffers::String::EmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 533
    functionName: flexbuffers::Reference::AsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const char *>
    - String
    - flexbuffers::Reference::Indirect
    - strlen
    - flexbuffers::String::EmptyString
    linkageType: ''
    returnType: String
    signature: String AsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: flexbuffers::Reference::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: std::string::append
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: flexbuffers::Reference::IsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:554,1
    - Dst: flexbuffers::Reference::AsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:555,1
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:557,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:557,1
    - Dst: flexbuffers::Reference::IsInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:561,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:562,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:562,1
    - Dst: flexbuffers::Reference::IsUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:563,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:564,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:564,1
    - Dst: flexbuffers::Reference::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:565,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:566,1
    - Dst: flexbuffers::Reference::AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:566,1
    - Dst: flexbuffers::Reference::IsNull
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:567,1
    - Dst: flexbuffers::Reference::IsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:569,1
    - Dst: flexbuffers::Reference::AsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:570,1
    - Dst: flexbuffers::Reference::IsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:571,1
    - Dst: flexbuffers::Reference::AsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:573,1
    - Dst: auto::Keys
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:574,1
    - Dst: auto::Values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:575,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:576,1
    - Dst: flexbuffers::Reference::AsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:581,1
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:582,1
    - Dst: flatbuffers::is_alnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:586,1
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:593,1
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:595,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:596,1
    - Dst: flexbuffers::Reference::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:599,1
    - Dst: AppendToString<Vector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:600,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:600,1
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:601,1
    - Dst: AppendToString<TypedVector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:602,1
    - Dst: flexbuffers::Reference::AsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:602,1
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:603,1
    - Dst: AppendToString<FixedTypedVector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:604,1
    - Dst: flexbuffers::Reference::AsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:604,1
    - Dst: flexbuffers::Reference::IsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:605,1
    - Dst: flexbuffers::Reference::AsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:606,1
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:608,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 3
    argNames:
    - strings_quoted
    - keys_quoted
    - s
    argTypes:
    - bool
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 612
    functionName: flexbuffers::Reference::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::IsNull
    - flexbuffers::Reference::AsFixedTypedVector
    - flexbuffers::Reference::AsBool
    - auto::data
    - flexbuffers::Reference::IsKey
    - flatbuffers::NumToString
    - flexbuffers::Reference::AsUInt64
    - flexbuffers::Reference::IsBlob
    - flexbuffers::Reference::AsInt64
    - flatbuffers::is_alpha
    - AppendToString<Vector>
    - flatbuffers::EscapeString
    - flexbuffers::Reference::IsTypedVector
    - String::c_str
    - flatbuffers::is_alnum
    - strlen
    - flexbuffers::Reference::IsVector
    - flexbuffers::Reference::AsBlob
    - String::length
    - auto::size
    - AppendToString<FixedTypedVector>
    - reinterpret_cast<const char *>
    - flexbuffers::Reference::AsVector
    - flexbuffers::Reference::IsMap
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::Reference::IsFloat
    - flexbuffers::Reference::ToString
    - flexbuffers::Reference::AsTypedVector
    - flexbuffers::Reference::IsBool
    - flexbuffers::Reference::AsMap
    - auto::Keys
    - flexbuffers::Reference::IsInt
    - flexbuffers::Reference::AsKey
    - std::string::append
    - AppendToString<TypedVector>
    - flexbuffers::Reference::AsDouble
    - auto::Values
    - flexbuffers::Reference::IsUInt
    linkageType: ''
    returnType: void
    signature: void ToString(bool strings_quoted, bool keys_quoted, std::string &s)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:618,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:618,1
    - Dst: flexbuffers::Blob::EmptyBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: flexbuffers::Reference::AsBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::Indirect
    - flexbuffers::Blob::EmptyBlob
    - Blob
    linkageType: ''
    returnType: Blob
    signature: Blob AsBlob() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:628,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:628,1
    - Dst: flexbuffers::Vector::EmptyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: flexbuffers::Reference::AsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Vector::EmptyVector
    - flexbuffers::Reference::Indirect
    - Vector
    linkageType: ''
    returnType: Vector
    signature: Vector AsVector() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:635,1
    - Dst: TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: ToTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: flexbuffers::TypedVector::EmptyTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 651
    functionName: flexbuffers::Reference::AsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::TypedVector::EmptyTypedVector
    - TypedVector
    - flexbuffers::Reference::IsTypedVector
    - ToTypedVectorElementType
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector AsTypedVector() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:654,1
    - Dst: ToFixedTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:656,1
    - Dst: FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:657,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:657,1
    - Dst: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: flexbuffers::Reference::AsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    - flexbuffers::Reference::Indirect
    - FixedTypedVector
    - ToFixedTypedVectorElementType
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector AsFixedTypedVector() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:665,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:665,1
    - Dst: flexbuffers::Map::EmptyMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: flexbuffers::Reference::AsMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::Indirect
    - Map
    - flexbuffers::Map::EmptyMap
    linkageType: ''
    returnType: Map
    signature: Map AsMap() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:681,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:681,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:685,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:686,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:686,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:688,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 693
    functionName: flexbuffers::Reference::MutateInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WidthI
    - WidthU
    - flexbuffers::Reference::Mutate
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: bool
    signature: bool MutateInt(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: flexbuffers::Reference::MutateBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::Mutate
    linkageType: ''
    returnType: bool
    signature: bool MutateBool(bool b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:701,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:701,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:705,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:706,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:706,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:708,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 713
    functionName: flexbuffers::Reference::MutateUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - WidthI
    - WidthU
    - flexbuffers::Reference::Mutate
    - static_cast<int64_t>
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: bool
    signature: bool MutateUInt(uint64_t u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:717,1
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:719,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: flexbuffers::Reference::MutateFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::Indirect
    - flexbuffers::Reference::MutateF
    linkageType: ''
    returnType: bool
    signature: bool MutateFloat(float f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:727,1
    - Dst: WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:727,1
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    - Dst: WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: flexbuffers::Reference::MutateFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - WidthF
    - flexbuffers::Reference::Indirect
    - flexbuffers::Reference::MutateF
    linkageType: ''
    returnType: bool
    signature: bool MutateFloat(double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:736,1
    - Dst: auto::IsTheEmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:737,1
    - Dst: auto::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:740,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    - Dst: const_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    - Dst: auto::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsString
    - auto::IsTheEmptyString
    - auto::length
    - const_cast<char *>
    - auto::c_str
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:744,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::MutateString
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    - Dst: std::string::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - std::string::length
    - std::string::data
    - flexbuffers::Reference::MutateString
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: flexbuffers::Reference::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 14
    functionsReached:
    - flexbuffers::Indirect
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:757,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:757,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:760,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:761,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dest
    - t
    - byte_width
    - value_width
    argTypes:
    - uint8_t*
    - T
    - size_t
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: flexbuffers::Reference::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - const_cast<uint8_t *>
    - memcpy
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: bool
    signature: "bool Mutate(const uint8_t *dest, T t, size_t byte_width,\n              BitWidth
      value_width)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:770,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:770,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:772,1
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:772,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - t
    - byte_width
    - value_width
    argTypes:
    - uint8_t*
    - T
    - size_t
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: flexbuffers::Reference::MutateF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - static_cast<float>
    - flexbuffers::Reference::Mutate
    - FLATBUFFERS_ASSERT
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool MutateF(const uint8_t *dest, T t, size_t byte_width,\n               BitWidth
      value_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: Reference::As<bool>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsBool
    linkageType: ''
    returnType: bool
    signature: bool Reference::As<bool>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: Reference::As<int8_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt8
    linkageType: ''
    returnType: int8_t
    signature: int8_t Reference::As<int8_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: Reference::As<int16_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt16
    linkageType: ''
    returnType: int16_t
    signature: int16_t Reference::As<int16_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: Reference::As<int32_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt32
    linkageType: ''
    returnType: int32_t
    signature: int32_t Reference::As<int32_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: Reference::As<int64_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t Reference::As<int64_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: Reference::As<uint8_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Reference::As<uint8_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    functionName: Reference::As<uint16_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Reference::As<uint16_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 799
    functionName: Reference::As<uint32_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Reference::As<uint32_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Reference::As<uint64_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reference::As<uint64_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Reference::As<double>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsDouble
    linkageType: ''
    returnType: double
    signature: double Reference::As<double>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: Reference::As<float>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsFloat
    linkageType: ''
    returnType: float
    signature: float Reference::As<float>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: Reference::As<String>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsString
    linkageType: ''
    returnType: String
    signature: String Reference::As<String>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: Reference::As<std::string>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsString
    linkageType: ''
    returnType: std::string
    signature: std::string Reference::As<std::string>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: Reference::As<Blob>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsBlob
    linkageType: ''
    returnType: Blob
    signature: Blob Reference::As<Blob>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: Reference::As<Vector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsVector
    linkageType: ''
    returnType: Vector
    signature: Vector Reference::As<Vector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: Reference::As<TypedVector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsTypedVector
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector Reference::As<TypedVector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: Reference::As<FixedTypedVector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsFixedTypedVector
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector Reference::As<FixedTypedVector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 820
    functionName: Reference::As<Map>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsMap
    linkageType: ''
    returnType: Map
    signature: Map Reference::As<Map>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit_width
    - type
    argTypes:
    - BitWidth
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: flexbuffers::PackedType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PackedType(BitWidth bit_width, Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: flexbuffers::NullPackedType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::PackedType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NullPackedType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:836,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:837,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:837,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: Vector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference Vector::operator[](size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:844,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:845,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:845,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 848
    functionName: TypedVector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference TypedVector::operator[](size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:851,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:851,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: FixedTypedVector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference FixedTypedVector::operator[](size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:857,1
    - Dst: flexbuffers::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:858,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:858,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:859,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - elem
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 861
    functionName: flexbuffers::KeyCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - strcmp
    - flexbuffers::Indirect
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: int
    signature: int KeyCompare(const void *key, const void *elem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Keys
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:864,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:873,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:873,1
    - Dst: std::bsearch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:875,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:875,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:876,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:876,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:877,1
    - Dst: static_cast<const Vector *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: Map::operator[](const char *key) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Reference
    - std::bsearch
    - Keys
    - NullPackedType
    - reinterpret_cast<uint8_t *>
    - static_cast<const Vector *>
    - FLATBUFFERS_ASSERT
    - auto::size
    linkageType: ''
    returnType: Reference
    signature: Reference Map::operator[](const char *key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: Map::operator[](const std::string &key) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: Reference
    signature: Reference Map::operator[](const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: flexbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference GetRoot(const uint8_t *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: flexbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - std::vector<uint8_t>::size
    - flexbuffers::GetRoot
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: Reference
    signature: Reference GetRoot(const std::vector<uint8_t> &buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Builder
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:920,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: flexbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Builder
    - clear
    linkageType: ''
    returnType: class Builder
    signature: class Builder FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 933
    functionName: flexbuffers::Builder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: flexbuffers::GetBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Finished
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> &GetBuffer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: flexbuffers::GetSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:949,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:950,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:954,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 956
    functionName: flexbuffers::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:962,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 962
    functionName: flexbuffers::Null
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:964,1
    - Dst: flexbuffers::Null
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: flexbuffers::Null
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Null
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Null(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    - Dst: flexbuffers::WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 968
    functionName: flexbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - Value
    - flexbuffers::WidthI
    linkageType: ''
    returnType: void
    signature: void Int(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:970,1
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - i
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: flexbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Int
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Int(const char *key, int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: flexbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - flexbuffers::WidthU
    - Value
    linkageType: ''
    returnType: void
    signature: void UInt(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:976,1
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - u
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: flexbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void UInt(const char *key, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:980,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: flexbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Float(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:982,1
    - Dst: flexbuffers::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: flexbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::Float
    linkageType: ''
    returnType: void
    signature: void Float(const char *key, float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:986,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: flexbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Double(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:988,1
    - Dst: flexbuffers::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - d
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: flexbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::Double
    linkageType: ''
    returnType: void
    signature: void Double(const char *key, double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:992,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: flexbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Bool(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:994,1
    - Dst: flexbuffers::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - b
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: flexbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Bool
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Bool(const char *key, bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:998,1
    - Dst: flexbuffers::WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 998
    functionName: flexbuffers::IndirectInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::WidthI
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectInt(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1000,1
    - Dst: flexbuffers::IndirectInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - i
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: flexbuffers::IndirectInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::IndirectInt
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectInt(const char *key, int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1005,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: flexbuffers::IndirectUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::WidthU
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectUInt(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1008,1
    - Dst: flexbuffers::IndirectUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - u
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: flexbuffers::IndirectUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::IndirectUInt
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectUInt(const char *key, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: flexbuffers::IndirectFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectFloat(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1016,1
    - Dst: flexbuffers::IndirectFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: flexbuffers::IndirectFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::IndirectFloat
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectFloat(const char *key, float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1021,1
    - Dst: flexbuffers::WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    functionName: flexbuffers::IndirectDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - PushIndirect
    - flexbuffers::WidthF
    linkageType: ''
    returnType: void
    signature: void IndirectDouble(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1024,1
    - Dst: flexbuffers::IndirectDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - d
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: flexbuffers::IndirectDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::IndirectDouble
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectDouble(const char *key, double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1029,1
    - Dst: WriteBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1030,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1032,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1033,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1036,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1039,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1044
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 10
    functionsReached:
    - find
    - static_cast<uint64_t>
    - WriteBytes
    - size
    - end
    - resize
    - insert
    - push_back
    - Value
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1046,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1046
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 11
    functionsReached:
    - strlen
    - flexbuffers::Key
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 12
    functionsReached:
    - flexbuffers::Key
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const std::string &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1050,1
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1051,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1054,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1055,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1058,1
    - Dst: back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1060,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1066
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - find
    - size
    - back
    - end
    - CreateBlob
    - resize
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t String(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1067,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1067
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - strlen
    - flexbuffers::String
    linkageType: ''
    returnType: size_t
    signature: size_t String(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1070
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - std::string::size
    - flexbuffers::String
    linkageType: ''
    returnType: size_t
    signature: size_t String(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    - Dst: flexbuffers::String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    - Dst: flexbuffers::String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::String::length
    - flexbuffers::String::c_str
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1076,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1078
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1080,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1084,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - CreateBlob
    linkageType: ''
    returnType: size_t
    signature: size_t Blob(const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - CreateBlob
    linkageType: ''
    returnType: size_t
    signature: size_t Blob(const std::vector<uint8_t> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1096,1
    - Dst: flexbuffers::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Blob
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Blob(const char *key, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1100,1
    - Dst: flexbuffers::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - v
    argTypes:
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Blob
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Blob(const char *key, const std::vector<uint8_t> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: flexbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1110,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1112
    functionName: flexbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Key
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartVector(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1113
    functionName: flexbuffers::StartMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1115,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    functionName: flexbuffers::StartMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Key
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartMap(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1122,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1122,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1124,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1125,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - typed
    - fixed
    argTypes:
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1127
    functionName: flexbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - resize
    - CreateVector
    - push_back
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t EndVector(size_t start, bool typed, bool fixed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1132,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1133,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1136,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1137,1
    - Dst: reinterpret_cast<TwoValue *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1154,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1154,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1155,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1157,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1157,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1158,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1158,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1159,1
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1175,1
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1176,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1178,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1179,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - start
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1181
    functionName: flexbuffers::EndMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - strcmp
    - size
    - data
    - reinterpret_cast<TwoValue *>
    - CreateVector
    - resize
    - push_back
    - std::sort
    - static_cast<size_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t EndMap(size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1185
    functionName: flexbuffers::HasDuplicateKeys
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasDuplicateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1188,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1189,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 2
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1193,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1194,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1198,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1199,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1204,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1205,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(const char *key, F f, T &state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ScalarVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1212,1
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1214,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1215,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - elems
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Add
    - ScalarVector
    - flexbuffers::StartVector
    - flexbuffers::EndVector
    linkageType: ''
    returnType: void
    signature: void Vector(const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1221,1
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - elems
    - len
    argTypes:
    - char*
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Vector
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Vector(const char *key, const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    - Dst: std::vector<T>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    - Dst: std::vector<T>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1226
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - std::vector<T>::data
    - flexbuffers::Vector
    - std::vector<T>::size
    linkageType: ''
    returnType: void
    signature: void Vector(const std::vector<T> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1229,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1230,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1232
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1234,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1235,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1237
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1239,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1240,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1245,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1246,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1248
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(const char *key, F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1253,1
    - Dst: ScalarVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - elems
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1257
    functionName: flexbuffers::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - ScalarVector
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t FixedTypedVector(const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1261,1
    - Dst: flexbuffers::FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - elems
    - len
    argTypes:
    - char*
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: flexbuffers::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::FixedTypedVector
    linkageType: ''
    returnType: size_t
    signature: size_t FixedTypedVector(const char *key, const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1266,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1267,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1271,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1272,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1276,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1277,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1279
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1281,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1282,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1284
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(const char *key, F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1286,1
    - Dst: std::map<std::string, T>::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1287,1
    - Dst: std::map<std::string, T>::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1287,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1288,1
    - Dst: auto::first::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1288,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - std::map<std::string, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1290
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartMap
    - std::map<std::string, T>::end
    - flexbuffers::Add
    - flexbuffers::EndMap
    - auto::first::c_str
    - std::map<std::string, T>::begin
    linkageType: ''
    returnType: void
    signature: void Map(const std::map<std::string, T> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: flexbuffers::LastValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: Value
    signature: Value LastValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: flexbuffers::ReuseValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void ReuseValue(Value v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1306,1
    - Dst: flexbuffers::ReuseValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - v
    argTypes:
    - char*
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1308
    functionName: flexbuffers::ReuseValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::ReuseValue
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void ReuseValue(const char *key, Value v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int8_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1312
    functionDepth: 4
    functionLinenumber: 1312
    functionLinenumberEnd: 1312
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1313
    functionDepth: 4
    functionLinenumber: 1313
    functionLinenumberEnd: 1313
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1314
    functionDepth: 4
    functionLinenumber: 1314
    functionLinenumberEnd: 1314
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1315
    functionDepth: 3
    functionLinenumber: 1315
    functionLinenumberEnd: 1315
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint8_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1316
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1318
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Float
    linkageType: ''
    returnType: void
    signature: void Add(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Double
    linkageType: ''
    returnType: void
    signature: void Add(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Bool
    linkageType: ''
    returnType: void
    signature: void Add(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 2
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1326
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Vector
    linkageType: ''
    returnType: void
    signature: void Add(const std::vector<T> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1329,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - t
    argTypes:
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Add
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Add(const char *key, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - std::map<std::string, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1333
    functionDepth: 3
    functionLinenumber: 1333
    functionLinenumberEnd: 1335
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Map
    linkageType: ''
    returnType: void
    signature: void Add(const std::map<std::string, T> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 5
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: operator+=(const T &t)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Add
    linkageType: ''
    returnType: void
    signature: void operator+=(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: flexbuffers::ForceMinimumBitWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceMinimumBitWidth(BitWidth bw = BIT_WIDTH_8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1352,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1352,1
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: ElemWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: WriteAny
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1356,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1358,1
    - Dst: StoredPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1358,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1363
    functionName: flexbuffers::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - Write
    - WriteAny
    - StoredPackedType
    - Align
    - FLATBUFFERS_ASSERT
    - ElemWidth
    linkageType: ''
    returnType: void
    signature: void Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: flexbuffers::IsInline
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInline(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: flexbuffers::IsTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVectorElementType(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: flexbuffers::IsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVector(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: flexbuffers::IsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFixedTypedVector(Type t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:105,1
    - Dst: flexbuffers::IsTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:105,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:107,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:108,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:109,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:110,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: flexbuffers::ToTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsTypedVectorElementType
    - static_cast<Type>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToTypedVector(Type t, size_t fixed_len = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:116,1
    - Dst: flexbuffers::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:116,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: flexbuffers::ToTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - flexbuffers::IsTypedVector
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToTypedVectorElementType(Type t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:121,1
    - Dst: flexbuffers::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:121,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:123,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - len
    argTypes:
    - Type
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: flexbuffers::ToFixedTypedVectorElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::IsFixedTypedVector
    - static_cast<Type>
    - static_cast<uint8_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Type
    signature: Type ToFixedTypedVectorElementType(Type t, uint8_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:142,1
    - Dst: flatbuffers::ReadScalar<T1>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:142,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:143,1
    - Dst: flatbuffers::ReadScalar<T2>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:143,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:145,1
    - Dst: flatbuffers::ReadScalar<T4>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:145,1
    - Dst: static_cast<R>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:146,1
    - Dst: flatbuffers::ReadScalar<T8>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: flexbuffers::ReadSizedScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flatbuffers::ReadScalar<T8>
    - static_cast<R>
    - flatbuffers::ReadScalar<T1>
    - flatbuffers::ReadScalar<T2>
    - flatbuffers::ReadScalar<T4>
    linkageType: ''
    returnType: R
    signature: R ReadSizedScalar(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: flexbuffers::ReadInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::ReadSizedScalar
    linkageType: ''
    returnType: int64_t
    signature: int64_t ReadInt64(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __movsb
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:165,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:165,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:166,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:167,1
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: flexbuffers::ReadUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - __movsb
    - reinterpret_cast<uint8_t *>
    - reinterpret_cast<const uint8_t *>
    - flexbuffers::ReadSizedScalar
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ReadUInt64(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadSizedScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: flexbuffers::ReadDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::ReadSizedScalar
    linkageType: ''
    returnType: double
    signature: double ReadDouble(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: flexbuffers::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::ReadUInt64
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect(const uint8_t *offset, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: flexbuffers::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flatbuffers::ReadScalar<T>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect(const uint8_t *offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:193,1
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:194,1
    - Dst: FLATBUFFERS_GET_FIELD_BIT_WIDTH
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: flexbuffers::WidthU
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - FLATBUFFERS_GET_FIELD_BIT_WIDTH
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthU(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: FLATBUFFERS_GET_FIELD_BIT_WIDTH
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_GET_FIELD_BIT_WIDTH(value, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:201,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: flexbuffers::WidthI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - flexbuffers::WidthU
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthI(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:206,1
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: flexbuffers::WidthF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - static_cast<float>
    - static_cast<double>
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthF(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: flexbuffers::Object::Object
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Object(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Sized::read_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: flexbuffers::Sized::Sized
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Sized::read_size
    linkageType: ''
    returnType: void
    signature: void Sized(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: flexbuffers::Sized::Sized
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sized(const uint8_t *data, uint8_t byte_width, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: flexbuffers::Sized::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:234,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: flexbuffers::Sized::read_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - ReadUInt64
    linkageType: ''
    returnType: size_t
    signature: size_t read_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: flexbuffers::String::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: flexbuffers::String::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const uint8_t *data, uint8_t byte_width, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: flexbuffers::String::length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: flexbuffers::String::c_str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: char *c_str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    - Dst: flexbuffers::String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: flexbuffers::String::str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::String::c_str
    - size
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:255,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: flexbuffers::String::EmptyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::String::String
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: String
    signature: String EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String::EmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: flexbuffers::String::IsTheEmptyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::String::EmptyString
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data_buf
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: flexbuffers::Blob::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Blob(const uint8_t *data_buf, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Blob::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: flexbuffers::Blob::EmptyBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Blob::Blob
    linkageType: ''
    returnType: Blob
    signature: Blob EmptyBlob()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Blob::EmptyBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: flexbuffers::Blob::IsTheEmptyBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Blob::EmptyBlob
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyBlob() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: flexbuffers::Blob::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: flexbuffers::Vector::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vector(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: flexbuffers::Vector::EmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Vector::Vector
    linkageType: ''
    returnType: Vector
    signature: Vector EmptyVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector::EmptyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: flexbuffers::Vector::IsTheEmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Vector::EmptyVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - byte_width
    - element_type
    argTypes:
    - uint8_t*
    - uint8_t
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: flexbuffers::TypedVector::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TypedVector(const uint8_t *data, uint8_t byte_width, Type element_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::TypedVector::TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: flexbuffers::TypedVector::EmptyTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::TypedVector::TypedVector
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector EmptyTypedVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::TypedVector::EmptyTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: flexbuffers::TypedVector::IsTheEmptyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::TypedVector::EmptyTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: flexbuffers::TypedVector::ElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type ElementType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - byte_width
    - element_type
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    - Type
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: flexbuffers::FixedTypedVector::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FixedTypedVector(const uint8_t *data, uint8_t byte_width, Type
      element_type,\n                   uint8_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::FixedTypedVector::FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::FixedTypedVector::FixedTypedVector
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector EmptyFixedTypedVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: flexbuffers::FixedTypedVector::IsTheEmptyFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyFixedTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: flexbuffers::FixedTypedVector::ElementType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type ElementType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: flexbuffers::FixedTypedVector::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: flexbuffers::Map::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(const uint8_t *data, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: flexbuffers::Map::Values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Vector
    linkageType: ''
    returnType: Vector
    signature: Vector Values() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:347,1
    - Dst: Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:347,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:348,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: flexbuffers::Map::Keys
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - ReadUInt64
    - TypedVector
    - static_cast<uint8_t>
    - Indirect
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector Keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map::Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: flexbuffers::Map::EmptyMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Map::Map
    linkageType: ''
    returnType: Map
    signature: Map EmptyMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map::EmptyMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: flexbuffers::Map::IsTheEmptyMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Map::EmptyMap
    linkageType: ''
    returnType: bool
    signature: bool IsTheEmptyMap() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:366,1
    - Dst: ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - v
    - keys_quoted
    argTypes:
    - std::string
    - T
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: flexbuffers::AppendToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - T::size
    - ToString
    linkageType: ''
    returnType: void
    signature: void AppendToString(std::string &s, T &&v, bool keys_quoted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Reference()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - parent_width
    - byte_width
    - type
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Reference(const uint8_t *data, uint8_t parent_width, uint8_t
      byte_width,\n            Type type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:388,1
    - Dst: static_cast<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - parent_width
    - packed_type
    argTypes:
    - uint8_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: flexbuffers::Reference::Reference
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - static_cast<Type>
    linkageType: ''
    returnType: void
    signature: void Reference(const uint8_t *data, uint8_t parent_width, uint8_t packed_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: flexbuffers::Reference::GetType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type GetType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: flexbuffers::Reference::IsNull
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: flexbuffers::Reference::IsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBool() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: flexbuffers::Reference::IsInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: flexbuffers::Reference::IsUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:399,1
    - Dst: flexbuffers::Reference::IsUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: flexbuffers::Reference::IsIntOrUint
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::IsUInt
    - flexbuffers::Reference::IsInt
    linkageType: ''
    returnType: bool
    signature: bool IsIntOrUint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: flexbuffers::Reference::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsIntOrUint
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:403,1
    - Dst: flexbuffers::Reference::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: flexbuffers::Reference::IsNumeric
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::IsIntOrUint
    - flexbuffers::Reference::IsFloat
    linkageType: ''
    returnType: bool
    signature: bool IsNumeric() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: flexbuffers::Reference::IsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: flexbuffers::Reference::IsKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 406
    functionName: flexbuffers::Reference::IsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: flexbuffers::Reference::IsUntypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUntypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 408
    functionName: flexbuffers::Reference::IsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::IsTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: flexbuffers::Reference::IsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::IsFixedTypedVector
    linkageType: ''
    returnType: bool
    signature: bool IsFixedTypedVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    - Dst: flexbuffers::Reference::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: flexbuffers::Reference::IsAnyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::Reference::IsTypedVector
    - flexbuffers::Reference::IsVector
    linkageType: ''
    returnType: bool
    signature: bool IsAnyVector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: flexbuffers::Reference::IsMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 416
    functionName: flexbuffers::Reference::IsBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBlob() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:418,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: flexbuffers::Reference::AsBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - ReadUInt64
    linkageType: ''
    returnType: bool
    signature: bool AsBool() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:428,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:431,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:431,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:432,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:433,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:433,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:435,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:435,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:437,1
    - Dst: flatbuffers::StringToInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:439,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:439,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:440,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:440,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: flexbuffers::Reference::AsInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Reference::AsString
    - flatbuffers::StringToInt
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - static_cast<int64_t>
    - flexbuffers::Reference::Indirect
    - ReadInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t AsInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:450,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 450
    functionName: flexbuffers::Reference::AsInt32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<int32_t>
    - flexbuffers::Reference::AsInt64
    linkageType: ''
    returnType: int32_t
    signature: int32_t AsInt32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:451,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: flexbuffers::Reference::AsInt16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsInt64
    - static_cast<int16_t>
    linkageType: ''
    returnType: int16_t
    signature: int16_t AsInt16() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:452,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: flexbuffers::Reference::AsInt8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsInt64
    - static_cast<int8_t>
    linkageType: ''
    returnType: int8_t
    signature: int8_t AsInt8() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:457,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:460,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:460,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:461,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:462,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:462,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:464,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:464,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:466,1
    - Dst: flatbuffers::StringToUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:468,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:468,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:469,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:469,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 475
    functionName: flexbuffers::Reference::AsUInt64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Reference::AsString
    - static_cast<uint64_t>
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - flatbuffers::StringToUInt
    - flexbuffers::Reference::Indirect
    - ReadInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t AsUInt64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:477,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 477
    functionName: flexbuffers::Reference::AsUInt32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AsUInt32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:478,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 478
    functionName: flexbuffers::Reference::AsUInt16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t AsUInt16() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:479,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 479
    functionName: flexbuffers::Reference::AsUInt8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::AsUInt64
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t AsUInt8() const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:484,1
    - Dst: ReadDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:487,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:487,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:489,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:489,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:491,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:491,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: ReadInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:493,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:495,1
    - Dst: flatbuffers::StringToNumber
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:499,1
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:499,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:502,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:502,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:504,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 509
    functionName: flexbuffers::Reference::AsDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::AsString
    - ReadDouble
    - flexbuffers::Reference::AsVector
    - ReadUInt64
    - flatbuffers::StringToNumber
    - flexbuffers::Reference::Indirect
    - ReadInt64
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double AsDouble() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:511,1
    - Dst: flexbuffers::Reference::AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 511
    functionName: flexbuffers::Reference::AsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - flexbuffers::Reference::AsDouble
    linkageType: ''
    returnType: float
    signature: float AsFloat() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:515,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: flexbuffers::Reference::AsKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char *>
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: char
    signature: char *AsKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:525,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:525,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:527,1
    - Dst: String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:528,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:529,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:529,1
    - Dst: flexbuffers::String::EmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 523
    functionDepth: 4
    functionLinenumber: 523
    functionLinenumberEnd: 533
    functionName: flexbuffers::Reference::AsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const char *>
    - String
    - flexbuffers::Reference::Indirect
    - strlen
    - flexbuffers::String::EmptyString
    linkageType: ''
    returnType: String
    signature: String AsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: flexbuffers::Reference::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Reference::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:550,1
    - Dst: std::string::append
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:552,1
    - Dst: flexbuffers::Reference::IsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:554,1
    - Dst: flexbuffers::Reference::AsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:555,1
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:557,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:557,1
    - Dst: flexbuffers::Reference::IsInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:561,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:562,1
    - Dst: flexbuffers::Reference::AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:562,1
    - Dst: flexbuffers::Reference::IsUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:563,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:564,1
    - Dst: flexbuffers::Reference::AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:564,1
    - Dst: flexbuffers::Reference::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:565,1
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:566,1
    - Dst: flexbuffers::Reference::AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:566,1
    - Dst: flexbuffers::Reference::IsNull
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:567,1
    - Dst: flexbuffers::Reference::IsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:569,1
    - Dst: flexbuffers::Reference::AsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:570,1
    - Dst: flexbuffers::Reference::IsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:571,1
    - Dst: flexbuffers::Reference::AsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:573,1
    - Dst: auto::Keys
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:574,1
    - Dst: auto::Values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:575,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:576,1
    - Dst: flexbuffers::Reference::AsKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:581,1
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:582,1
    - Dst: flatbuffers::is_alnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:586,1
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:593,1
    - Dst: flexbuffers::Reference::ToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:595,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:596,1
    - Dst: flexbuffers::Reference::IsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:599,1
    - Dst: AppendToString<Vector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:600,1
    - Dst: flexbuffers::Reference::AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:600,1
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:601,1
    - Dst: AppendToString<TypedVector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:602,1
    - Dst: flexbuffers::Reference::AsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:602,1
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:603,1
    - Dst: AppendToString<FixedTypedVector>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:604,1
    - Dst: flexbuffers::Reference::AsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:604,1
    - Dst: flexbuffers::Reference::IsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:605,1
    - Dst: flexbuffers::Reference::AsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:606,1
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:607,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:608,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 3
    argNames:
    - strings_quoted
    - keys_quoted
    - s
    argTypes:
    - bool
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 612
    functionName: flexbuffers::Reference::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Reference::IsNull
    - flexbuffers::Reference::AsFixedTypedVector
    - flexbuffers::Reference::AsBool
    - auto::data
    - flexbuffers::Reference::IsKey
    - flatbuffers::NumToString
    - flexbuffers::Reference::AsUInt64
    - flexbuffers::Reference::IsBlob
    - flexbuffers::Reference::AsInt64
    - flatbuffers::is_alpha
    - AppendToString<Vector>
    - flatbuffers::EscapeString
    - flexbuffers::Reference::IsTypedVector
    - String::c_str
    - flatbuffers::is_alnum
    - strlen
    - flexbuffers::Reference::IsVector
    - flexbuffers::Reference::AsBlob
    - String::length
    - auto::size
    - AppendToString<FixedTypedVector>
    - reinterpret_cast<const char *>
    - flexbuffers::Reference::AsVector
    - flexbuffers::Reference::IsMap
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::Reference::IsFloat
    - flexbuffers::Reference::ToString
    - flexbuffers::Reference::AsTypedVector
    - flexbuffers::Reference::IsBool
    - flexbuffers::Reference::AsMap
    - auto::Keys
    - flexbuffers::Reference::IsInt
    - flexbuffers::Reference::AsKey
    - std::string::append
    - AppendToString<TypedVector>
    - flexbuffers::Reference::AsDouble
    - auto::Values
    - flexbuffers::Reference::IsUInt
    linkageType: ''
    returnType: void
    signature: void ToString(bool strings_quoted, bool keys_quoted, std::string &s)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:618,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:618,1
    - Dst: flexbuffers::Blob::EmptyBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: flexbuffers::Reference::AsBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::Indirect
    - flexbuffers::Blob::EmptyBlob
    - Blob
    linkageType: ''
    returnType: Blob
    signature: Blob AsBlob() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:628,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:628,1
    - Dst: flexbuffers::Vector::EmptyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 632
    functionName: flexbuffers::Reference::AsVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 8
    functionsReached:
    - flexbuffers::Vector::EmptyVector
    - flexbuffers::Reference::Indirect
    - Vector
    linkageType: ''
    returnType: Vector
    signature: Vector AsVector() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:635,1
    - Dst: TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: ToTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:637,1
    - Dst: flexbuffers::TypedVector::EmptyTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 651
    functionName: flexbuffers::Reference::AsTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::TypedVector::EmptyTypedVector
    - TypedVector
    - flexbuffers::Reference::IsTypedVector
    - ToTypedVectorElementType
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector AsTypedVector() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::IsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:654,1
    - Dst: ToFixedTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:656,1
    - Dst: FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:657,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:657,1
    - Dst: flexbuffers::FixedTypedVector::EmptyFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 4
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: flexbuffers::Reference::AsFixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::IsFixedTypedVector
    - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
    - flexbuffers::Reference::Indirect
    - FixedTypedVector
    - ToFixedTypedVectorElementType
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector AsFixedTypedVector() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:665,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:665,1
    - Dst: flexbuffers::Map::EmptyMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: flexbuffers::Reference::AsMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::Indirect
    - Map
    - flexbuffers::Map::EmptyMap
    linkageType: ''
    returnType: Map
    signature: Map AsMap() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:681,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:681,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:683,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:685,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:686,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:686,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:688,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 693
    functionName: flexbuffers::Reference::MutateInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - WidthI
    - WidthU
    - flexbuffers::Reference::Mutate
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: bool
    signature: bool MutateInt(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 697
    functionName: flexbuffers::Reference::MutateBool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::Mutate
    linkageType: ''
    returnType: bool
    signature: bool MutateBool(bool b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:701,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:701,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:703,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:705,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:706,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:706,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:708,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    - Dst: WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 713
    functionName: flexbuffers::Reference::MutateUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - WidthI
    - WidthU
    - flexbuffers::Reference::Mutate
    - static_cast<int64_t>
    - flexbuffers::Reference::Indirect
    linkageType: ''
    returnType: bool
    signature: bool MutateUInt(uint64_t u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:717,1
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:719,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: flexbuffers::Reference::MutateFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Reference::Indirect
    - flexbuffers::Reference::MutateF
    linkageType: ''
    returnType: bool
    signature: bool MutateFloat(float f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:727,1
    - Dst: WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:727,1
    - Dst: flexbuffers::Reference::MutateF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    - Dst: flexbuffers::Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    - Dst: WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: flexbuffers::Reference::MutateFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - WidthF
    - flexbuffers::Reference::Indirect
    - flexbuffers::Reference::MutateF
    linkageType: ''
    returnType: bool
    signature: bool MutateFloat(double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:736,1
    - Dst: auto::IsTheEmptyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:737,1
    - Dst: auto::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:740,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    - Dst: const_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    - Dst: auto::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Reference::AsString
    - auto::IsTheEmptyString
    - auto::length
    - const_cast<char *>
    - auto::c_str
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:744,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 744
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Reference::MutateString
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::MutateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    - Dst: std::string::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: flexbuffers::Reference::MutateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - std::string::length
    - std::string::data
    - flexbuffers::Reference::MutateString
    linkageType: ''
    returnType: bool
    signature: bool MutateString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: flexbuffers::Reference::Indirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 28
    functionsReached:
    - flexbuffers::Indirect
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Indirect() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:757,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:757,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:760,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:761,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dest
    - t
    - byte_width
    - value_width
    argTypes:
    - uint8_t*
    - T
    - size_t
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: flexbuffers::Reference::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - const_cast<uint8_t *>
    - memcpy
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: bool
    signature: "bool Mutate(const uint8_t *dest, T t, size_t byte_width,\n              BitWidth
      value_width)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:770,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:770,1
    - Dst: flexbuffers::Reference::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:772,1
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:772,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - t
    - byte_width
    - value_width
    argTypes:
    - uint8_t*
    - T
    - size_t
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: flexbuffers::Reference::MutateF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - static_cast<float>
    - flexbuffers::Reference::Mutate
    - FLATBUFFERS_ASSERT
    - static_cast<double>
    linkageType: ''
    returnType: bool
    signature: "bool MutateF(const uint8_t *dest, T t, size_t byte_width,\n               BitWidth
      value_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsBool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 786
    functionName: Reference::As<bool>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsBool
    linkageType: ''
    returnType: bool
    signature: bool Reference::As<bool>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 788
    functionName: Reference::As<int8_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt8
    linkageType: ''
    returnType: int8_t
    signature: int8_t Reference::As<int8_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 789
    functionName: Reference::As<int16_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt16
    linkageType: ''
    returnType: int16_t
    signature: int16_t Reference::As<int16_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: Reference::As<int32_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt32
    linkageType: ''
    returnType: int32_t
    signature: int32_t Reference::As<int32_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: Reference::As<int64_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsInt64
    linkageType: ''
    returnType: int64_t
    signature: int64_t Reference::As<int64_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: Reference::As<uint8_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt8
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Reference::As<uint8_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 796
    functionName: Reference::As<uint16_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Reference::As<uint16_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 799
    functionName: Reference::As<uint32_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Reference::As<uint32_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: Reference::As<uint64_t>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsUInt64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Reference::As<uint64_t>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Reference::As<double>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsDouble
    linkageType: ''
    returnType: double
    signature: double Reference::As<double>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: Reference::As<float>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsFloat
    linkageType: ''
    returnType: float
    signature: float Reference::As<float>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: Reference::As<String>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsString
    linkageType: ''
    returnType: String
    signature: String Reference::As<String>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: Reference::As<std::string>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsString
    linkageType: ''
    returnType: std::string
    signature: std::string Reference::As<std::string>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: Reference::As<Blob>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsBlob
    linkageType: ''
    returnType: Blob
    signature: Blob Reference::As<Blob>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: Reference::As<Vector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsVector
    linkageType: ''
    returnType: Vector
    signature: Vector Reference::As<Vector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: Reference::As<TypedVector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsTypedVector
    linkageType: ''
    returnType: TypedVector
    signature: TypedVector Reference::As<TypedVector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsFixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: Reference::As<FixedTypedVector>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsFixedTypedVector
    linkageType: ''
    returnType: FixedTypedVector
    signature: FixedTypedVector Reference::As<FixedTypedVector>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AsMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 820
    functionName: Reference::As<Map>() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - AsMap
    linkageType: ''
    returnType: Map
    signature: Map Reference::As<Map>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit_width
    - type
    argTypes:
    - BitWidth
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: flexbuffers::PackedType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PackedType(BitWidth bit_width, Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: flexbuffers::NullPackedType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::PackedType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NullPackedType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:836,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:837,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:837,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: Vector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference Vector::operator[](size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:844,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:845,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:845,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 848
    functionName: TypedVector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference TypedVector::operator[](size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:851,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:851,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: FixedTypedVector::operator[](size_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - NullPackedType
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference FixedTypedVector::operator[](size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:857,1
    - Dst: flexbuffers::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:858,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:858,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:859,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - elem
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 856
    functionDepth: 3
    functionLinenumber: 856
    functionLinenumberEnd: 861
    functionName: flexbuffers::KeyCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - strcmp
    - flexbuffers::Indirect
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: int
    signature: int KeyCompare(const void *key, const void *elem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Keys
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:864,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:873,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:873,1
    - Dst: std::bsearch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:875,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:875,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:876,1
    - Dst: NullPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:876,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:877,1
    - Dst: static_cast<const Vector *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: Map::operator[](const char *key) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Reference
    - std::bsearch
    - Keys
    - NullPackedType
    - reinterpret_cast<uint8_t *>
    - static_cast<const Vector *>
    - FLATBUFFERS_ASSERT
    - auto::size
    linkageType: ''
    returnType: Reference
    signature: Reference Map::operator[](const char *key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: Map::operator[](const std::string &key) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    linkageType: ''
    returnType: Reference
    signature: Reference Map::operator[](const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: flexbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - Reference
    linkageType: ''
    returnType: Reference
    signature: Reference GetRoot(const uint8_t *buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: flexbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - std::vector<uint8_t>::size
    - flexbuffers::GetRoot
    - std::vector<uint8_t>::data
    linkageType: ''
    returnType: Reference
    signature: Reference GetRoot(const std::vector<uint8_t> &buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Builder
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:920,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: flexbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::Builder
    - clear
    linkageType: ''
    returnType: class Builder
    signature: class Builder FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 933
    functionName: flexbuffers::Builder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder &&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 942
    functionName: flexbuffers::GetBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Finished
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> &GetBuffer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: flexbuffers::GetSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:949,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:950,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:954,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 956
    functionName: flexbuffers::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:962,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 962
    functionName: flexbuffers::Null
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:964,1
    - Dst: flexbuffers::Null
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: flexbuffers::Null
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Null
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Null(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    - Dst: flexbuffers::WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 968
    functionName: flexbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - push_back
    - Value
    - flexbuffers::WidthI
    linkageType: ''
    returnType: void
    signature: void Int(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:970,1
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - i
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: flexbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Int
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Int(const char *key, int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 974
    functionName: flexbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - push_back
    - flexbuffers::WidthU
    - Value
    linkageType: ''
    returnType: void
    signature: void UInt(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:976,1
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - u
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: flexbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void UInt(const char *key, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:980,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 980
    functionName: flexbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Float(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:982,1
    - Dst: flexbuffers::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: flexbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::Float
    linkageType: ''
    returnType: void
    signature: void Float(const char *key, float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:986,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: flexbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Double(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:988,1
    - Dst: flexbuffers::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - d
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 990
    functionName: flexbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::Double
    linkageType: ''
    returnType: void
    signature: void Double(const char *key, double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:992,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 992
    functionName: flexbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - push_back
    - Value
    linkageType: ''
    returnType: void
    signature: void Bool(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:994,1
    - Dst: flexbuffers::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - b
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: flexbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Bool
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Bool(const char *key, bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:998,1
    - Dst: flexbuffers::WidthI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 998
    functionName: flexbuffers::IndirectInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::WidthI
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectInt(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1000,1
    - Dst: flexbuffers::IndirectInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - i
    argTypes:
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: flexbuffers::IndirectInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::IndirectInt
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectInt(const char *key, int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1005,1
    - Dst: flexbuffers::WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: flexbuffers::IndirectUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::WidthU
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectUInt(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1008,1
    - Dst: flexbuffers::IndirectUInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - u
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: flexbuffers::IndirectUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::IndirectUInt
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectUInt(const char *key, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: flexbuffers::IndirectFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - PushIndirect
    linkageType: ''
    returnType: void
    signature: void IndirectFloat(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1016,1
    - Dst: flexbuffers::IndirectFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: flexbuffers::IndirectFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::IndirectFloat
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectFloat(const char *key, float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PushIndirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1021,1
    - Dst: flexbuffers::WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    functionName: flexbuffers::IndirectDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - PushIndirect
    - flexbuffers::WidthF
    linkageType: ''
    returnType: void
    signature: void IndirectDouble(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1024,1
    - Dst: flexbuffers::IndirectDouble
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - d
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: flexbuffers::IndirectDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::IndirectDouble
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void IndirectDouble(const char *key, double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1029,1
    - Dst: WriteBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1030,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1032,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1033,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1036,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1039,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1044
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 33
    functionsReached:
    - find
    - static_cast<uint64_t>
    - WriteBytes
    - size
    - end
    - resize
    - insert
    - push_back
    - Value
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1046,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1046
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 34
    functionsReached:
    - strlen
    - flexbuffers::Key
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1047
    functionName: flexbuffers::Key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 35
    functionsReached:
    - flexbuffers::Key
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: size_t
    signature: size_t Key(const std::string &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1050,1
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1051,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1054,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1055,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1058,1
    - Dst: back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1060,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1066
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 9
    functionsReached:
    - find
    - size
    - back
    - end
    - CreateBlob
    - resize
    - insert
    linkageType: ''
    returnType: size_t
    signature: size_t String(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1067,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1067
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 10
    functionsReached:
    - strlen
    - flexbuffers::String
    linkageType: ''
    returnType: size_t
    signature: size_t String(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1070
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 11
    functionsReached:
    - std::string::c_str
    - std::string::size
    - flexbuffers::String
    linkageType: ''
    returnType: size_t
    signature: size_t String(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    - Dst: flexbuffers::String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    - Dst: flexbuffers::String::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 12
    functionsReached:
    - flexbuffers::String::length
    - flexbuffers::String::c_str
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1076,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1078
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 13
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1080,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 14
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1084,1
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - str
    argTypes:
    - char*
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: flexbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 15
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void String(const char *key, const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - CreateBlob
    linkageType: ''
    returnType: size_t
    signature: size_t Blob(const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateBlob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    - Dst: std::vector<uint8_t>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    - Dst: std::vector<uint8_t>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1093
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - std::vector<uint8_t>::data
    - std::vector<uint8_t>::size
    - CreateBlob
    linkageType: ''
    returnType: size_t
    signature: size_t Blob(const std::vector<uint8_t> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1096,1
    - Dst: flexbuffers::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - data
    - len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Blob
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Blob(const char *key, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1100,1
    - Dst: flexbuffers::Blob
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - v
    argTypes:
    - char*
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: flexbuffers::Blob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Blob
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Blob(const char *key, const std::vector<uint8_t> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1108
    functionName: flexbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1110,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1112
    functionName: flexbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 9
    functionsReached:
    - flexbuffers::Key
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartVector(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1113
    functionName: flexbuffers::StartMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1115,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    functionName: flexbuffers::StartMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - flexbuffers::Key
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t StartMap(const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1122,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1122,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1124,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1125,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - start
    - typed
    - fixed
    argTypes:
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1127
    functionName: flexbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 9
    functionsReached:
    - size
    - resize
    - CreateVector
    - push_back
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t EndVector(size_t start, bool typed, bool fixed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1132,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1133,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1136,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1137,1
    - Dst: reinterpret_cast<TwoValue *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1154,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1154,1
    - Dst: std::sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1155,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1157,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1157,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1158,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1158,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1159,1
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1175,1
    - Dst: CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1176,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1178,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1179,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - start
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1181
    functionName: flexbuffers::EndMap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const char *>
    - strcmp
    - size
    - data
    - reinterpret_cast<TwoValue *>
    - CreateVector
    - resize
    - push_back
    - std::sort
    - static_cast<size_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t EndMap(size_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1185
    functionName: flexbuffers::HasDuplicateKeys
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasDuplicateKeys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1188,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1189,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 2
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1193,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1194,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1198,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1199,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1204,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1205,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t Vector(const char *key, F f, T &state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ScalarVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1212,1
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1214,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1215,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - elems
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1209
    functionDepth: 5
    functionLinenumber: 1209
    functionLinenumberEnd: 1218
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 3
    functionsReached:
    - flexbuffers::Add
    - ScalarVector
    - flexbuffers::StartVector
    - flexbuffers::EndVector
    linkageType: ''
    returnType: void
    signature: void Vector(const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1221,1
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - elems
    - len
    argTypes:
    - char*
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1223
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - flexbuffers::Vector
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Vector(const char *key, const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    - Dst: std::vector<T>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    - Dst: std::vector<T>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1226
    functionName: flexbuffers::Vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - std::vector<T>::data
    - flexbuffers::Vector
    - std::vector<T>::size
    linkageType: ''
    returnType: void
    signature: void Vector(const std::vector<T> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1229,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1230,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1232
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1234,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1235,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1237
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1239,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1240,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1245,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1246,1
    - Dst: flexbuffers::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1248
    functionName: flexbuffers::TypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - flexbuffers::StartVector
    - f
    - flexbuffers::EndVector
    linkageType: ''
    returnType: size_t
    signature: size_t TypedVector(const char *key, F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1253,1
    - Dst: ScalarVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - elems
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1257
    functionName: flexbuffers::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - ScalarVector
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t FixedTypedVector(const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1261,1
    - Dst: flexbuffers::FixedTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - elems
    - len
    argTypes:
    - char*
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: flexbuffers::FixedTypedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::Key
    - flexbuffers::FixedTypedVector
    linkageType: ''
    returnType: size_t
    signature: size_t FixedTypedVector(const char *key, const T *elems, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1266,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1267,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1271,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1272,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - state
    argTypes:
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1274
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1276,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1277,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - f
    argTypes:
    - char*
    - F
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1279
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(const char *key, F f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1281,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1282,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - f
    - state
    argTypes:
    - char*
    - F
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1284
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::EndMap
    - f
    - flexbuffers::StartMap
    linkageType: ''
    returnType: size_t
    signature: size_t Map(const char *key, F f, T &state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::StartMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1286,1
    - Dst: std::map<std::string, T>::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1287,1
    - Dst: std::map<std::string, T>::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1287,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1288,1
    - Dst: auto::first::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1288,1
    - Dst: flexbuffers::EndMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - std::map<std::string, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1285
    functionDepth: 5
    functionLinenumber: 1285
    functionLinenumberEnd: 1290
    functionName: flexbuffers::Map
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - flexbuffers::StartMap
    - std::map<std::string, T>::end
    - flexbuffers::Add
    - flexbuffers::EndMap
    - auto::first::c_str
    - std::map<std::string, T>::begin
    linkageType: ''
    returnType: void
    signature: void Map(const std::map<std::string, T> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: flexbuffers::LastValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: Value
    signature: Value LastValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1304
    functionName: flexbuffers::ReuseValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void ReuseValue(Value v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1306,1
    - Dst: flexbuffers::ReuseValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - v
    argTypes:
    - char*
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1308
    functionName: flexbuffers::ReuseValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - flexbuffers::ReuseValue
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void ReuseValue(const char *key, Value v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int8_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1312
    functionDepth: 4
    functionLinenumber: 1312
    functionLinenumberEnd: 1312
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1313
    functionDepth: 4
    functionLinenumber: 1313
    functionLinenumberEnd: 1313
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1314
    functionDepth: 4
    functionLinenumber: 1314
    functionLinenumberEnd: 1314
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Int
    linkageType: ''
    returnType: void
    signature: void Add(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1315
    functionDepth: 3
    functionLinenumber: 1315
    functionLinenumberEnd: 1315
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint8_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1316
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1318
    functionDepth: 3
    functionLinenumber: 1318
    functionLinenumberEnd: 1318
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::UInt
    linkageType: ''
    returnType: void
    signature: void Add(uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1319
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Float
    linkageType: ''
    returnType: void
    signature: void Add(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1320
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Double
    linkageType: ''
    returnType: void
    signature: void Add(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1321
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Bool
    linkageType: ''
    returnType: void
    signature: void Add(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1322
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1323
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flexbuffers::String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1324
    functionDepth: 2
    functionLinenumber: 1324
    functionLinenumberEnd: 1324
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::String
    linkageType: ''
    returnType: void
    signature: void Add(const flexbuffers::String &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1326
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - flexbuffers::Vector
    linkageType: ''
    returnType: void
    signature: void Add(const std::vector<T> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1329,1
    - Dst: flexbuffers::Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - t
    argTypes:
    - char*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 7
    functionsReached:
    - flexbuffers::Add
    - flexbuffers::Key
    linkageType: ''
    returnType: void
    signature: void Add(const char *key, const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flexbuffers::Map
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - std::map<std::string, T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1333
    functionDepth: 3
    functionLinenumber: 1333
    functionLinenumberEnd: 1335
    functionName: flexbuffers::Add
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 7
    functionsReached:
    - flexbuffers::Map
    linkageType: ''
    returnType: void
    signature: void Add(const std::map<std::string, T> &map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: operator+=(const T &t)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void operator+=(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: flexbuffers::ForceMinimumBitWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceMinimumBitWidth(BitWidth bw = BIT_WIDTH_8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1352,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1352,1
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: ElemWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1355,1
    - Dst: WriteAny
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1356,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1358,1
    - Dst: StoredPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1358,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1363
    functionName: flexbuffers::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - Write
    - WriteAny
    - StoredPackedType
    - Align
    - FLATBUFFERS_ASSERT
    - ElemWidth
    linkageType: ''
    returnType: void
    signature: void Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1376,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1376,1
    - Dst: flatbuffers::PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1376,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1376,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1379
    functionName: Align
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - size
    - end
    - insert
    - flatbuffers::PaddingBytes
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Align(BitWidth alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1382,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1382,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1384
    functionName: WriteBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - insert
    - reinterpret_cast<const uint8_t *>
    - end
    linkageType: ''
    returnType: void
    signature: void WriteBytes(const void *val, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1387,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1388,1
    - Dst: WriteBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - val
    - byte_width
    argTypes:
    - T
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1390
    functionName: Write
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 15
    functionsReached:
    - flatbuffers::EndianScalar
    - WriteBytes
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void Write(T val, size_t byte_width)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1394,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1395,1
    - Dst: static_cast<float>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1395,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - byte_width
    argTypes:
    - double
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1400
    functionName: WriteDouble
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Write
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void WriteDouble(double f, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1403,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1404,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - o
    - byte_width
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1406
    functionName: WriteOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - size
    - Write
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void WriteOffset(uint64_t o, uint8_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1409,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1410,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1411,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1412,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1412,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - val
    - type
    - bit_width
    argTypes:
    - T
    - Type
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1413
    functionName: PushIndirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64_t>
    - size
    - Write
    - push_back
    - Align
    - Value
    linkageType: ''
    returnType: void
    signature: void PushIndirect(T val, Type type, BitWidth bit_width)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - byte_width
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1423
    functionName: WidthB
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth WidthB(size_t byte_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1433
    functionName: GetScalarType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type GetScalarType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1449
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1454
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached:
    - static_cast<uint64_t>
    linkageType: ''
    returnType: void
    signature: void Value(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - i
    - t
    - bw
    argTypes:
    - int64_t
    - Type
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1457
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Value(int64_t i, Type t, BitWidth bw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - u
    - t
    - bw
    argTypes:
    - uint64_t
    - Type
    - BitWidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1459
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Value(uint64_t u, Type t, BitWidth bw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1464
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached:
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void Value(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WidthF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1465
    functionName: Value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached:
    - WidthF
    linkageType: ''
    returnType: void
    signature: void Value(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1468,1
    - Dst: StoredWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1469
    functionName: StoredPackedType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - PackedType
    - StoredWidth
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t StoredPackedType(BitWidth parent_bit_width_ = BIT_WIDTH_8)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsInline
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1472,1
    - Dst: flatbuffers::PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1485,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1490,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1491,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1491,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf_size
    - elem_index
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1498
    functionName: ElemWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 2
    functionsReached:
    - WidthU
    - IsInline
    - flatbuffers::PaddingBytes
    - static_cast<size_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth ElemWidth(size_t buf_size, size_t elem_index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInline
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1506
    functionName: StoredWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - IsInline
    linkageType: ''
    returnType: BitWidth
    signature: BitWidth StoredWidth(BitWidth parent_bit_width_ = BIT_WIDTH_8) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1522,1
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1523,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1524,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1525,1
    - Dst: WriteBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1526,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1527,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1527,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - data
    - len
    - trailing
    - type
    argTypes:
    - void*
    - size_t
    - size_t
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1521
    functionDepth: 2
    functionLinenumber: 1521
    functionLinenumberEnd: 1529
    functionName: CreateBlob
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 6
    functionsReached:
    - static_cast<uint64_t>
    - WriteBytes
    - size
    - Write
    - WidthU
    - push_back
    - Align
    - Value
    linkageType: ''
    returnType: size_t
    signature: size_t CreateBlob(const void *data, size_t len, size_t trailing, Type
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetScalarType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1533,1
    - Dst: WidthB
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1535,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1541,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1541,1
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1542,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1543,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1544,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1545,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1546,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1546,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1546,1
    - Dst: ToTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - elems
    - len
    - fixed
    argTypes:
    - T*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: ScalarVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64_t>
    - size
    - Write
    - ToTypedVector
    - WidthU
    - GetScalarType
    - push_back
    - Align
    - WidthB
    - Value
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t ScalarVector(const T *elems, size_t len, bool fixed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1554,1
    - Dst: WidthU
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1558,1
    - Dst: ElemWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1563,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1563,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1568,1
    - Dst: ElemWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1570,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1570,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1578,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1584,1
    - Dst: IsTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1584,1
    - Dst: Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1585,1
    - Dst: WriteOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1588,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1589,1
    - Dst: Write
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1591,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1593,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1594,1
    - Dst: WriteAny
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1595,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1599,1
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1600,1
    - Dst: StoredPackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1600,1
    - Dst: Value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1603,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1603,1
    - Dst: ToTypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1605,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - start
    - vec_len
    - step
    - typed
    - fixed
    argTypes:
    - size_t
    - size_t
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1608
    functionName: CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 11
    functionsReached:
    - static_cast<uint64_t>
    - size
    - Write
    - ToTypedVector
    - WidthU
    - WriteAny
    - StoredPackedType
    - WriteOffset
    - push_back
    - IsTypedVectorElementType
    - Align
    - Value
    - FLATBUFFERS_ASSERT
    - ElemWidth
    linkageType: ''
    returnType: Value
    signature: "Value CreateVector(size_t start, size_t vec_len, size_t step, bool
      typed,\n                     bool fixed, const Value *keys = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1625
    functionName: KeyOffsetCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyOffsetCompare(const std::vector<uint8_t> &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1627,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1627,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1628,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1628,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1630
    functionName: operator()(size_t a, size_t b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - strcmp
    - data
    linkageType: ''
    returnType: bool
    signature: bool operator()(size_t a, size_t b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1637
    functionName: StringOffsetCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOffsetCompare(const std::vector<uint8_t> &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1639,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1640,1
    - Dst: memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - StringOffset
    - StringOffset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1643
    functionName: operator()(const StringOffset &a, const StringOffset &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - memcmp
    - data
    linkageType: ''
    returnType: bool
    signature: bool operator()(const StringOffset &a, const StringOffset &b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Verifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1659,1
    - Dst: size_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1667,1
    - Dst: depth_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1668,1
    - Dst: max_depth_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1669,1
    - Dst: num_vectors_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1670,1
    - Dst: max_vectors_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1671,1
    - Dst: check_alignment_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1672,1
    - Dst: reuse_tracker_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1673,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1674,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1676,1
    - Dst: resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1677,1
    - Dst: PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1679
    functionName: FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Verifier
    - check_alignment_
    - clear
    - PackedType
    - size_
    - max_vectors_
    - resize
    - depth_
    - reuse_tracker_
    - max_depth_
    - FLATBUFFERS_ASSERT
    - num_vectors_
    linkageType: ''
    returnType: class Verifier
    signature: class Verifier FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - elem_len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1695
    functionName: VerifyFrom
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyFrom(size_t elem, size_t elem_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - elem_len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1698
    functionName: VerifyBefore
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyBefore(size_t elem, size_t elem_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1701,1
    - Dst: VerifyFrom
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1703
    functionName: VerifyFromPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - VerifyFrom
    linkageType: ''
    returnType: bool
    signature: bool VerifyFromPointer(const uint8_t *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1705,1
    - Dst: VerifyBefore
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1707
    functionName: VerifyBeforePointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - VerifyBefore
    linkageType: ''
    returnType: bool
    signature: bool VerifyBeforePointer(const uint8_t *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - width
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1711
    functionName: VerifyByteWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyByteWidth(size_t width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1713
    functionName: VerifyType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyType(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1716,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1716,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - 'off'
    - p
    argTypes:
    - uint64_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1718
    functionName: VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 20
    functionsReached:
    - static_cast<uint64_t>
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyOffset(uint64_t off, const uint8_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1721,1
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1723
    functionName: VerifyAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyAlignment(const uint8_t *p, size_t size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - PACKED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1731
    functionName: FLEX_CHECK_VERIFIED
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLEX_CHECK_VERIFIED(P, PACKED_TYPE)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1741,1
    - Dst: VerifyBeforePointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1744,1
    - Dst: FLEX_CHECK_VERIFIED
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1745,1
    - Dst: PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1746,1
    - Dst: WidthB
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1746,1
    - Dst: Sized
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1747,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1748,1
    - Dst: Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1753,1
    - Dst: VerifyFromPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1756,1
    - Dst: VerifyFromPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1759,1
    - Dst: Vector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1760,1
    - Dst: VerifyRef
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1762,1
    - Dst: TypedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1764,1
    - Dst: VerifyRef
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1766,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1768,1
    - Dst: IsInline
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1768,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - r
    - p
    - elem_type
    argTypes:
    - Reference
    - uint8_t*
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1772
    functionName: VerifyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 12
    functionsReached:
    - FLEX_CHECK_VERIFIED
    - TypedVector
    - PackedType
    - Vector
    - IsInline
    - VerifyBeforePointer
    - VerifyFromPointer
    - Sized
    - VerifyRef
    - WidthB
    - Check
    - FLATBUFFERS_ASSERT
    - auto::size
    linkageType: ''
    returnType: bool
    signature: bool VerifyVector(Reference r, const uint8_t *p, Type elem_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VerifyBeforePointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1777,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1779,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1780,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1782,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1782,1
    - Dst: VerifyByteWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1783,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1784,1
    - Dst: Reference
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p
    - byte_width
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1774
    functionDepth: 3
    functionLinenumber: 1774
    functionLinenumberEnd: 1786
    functionName: VerifyKeys
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - VerifyByteWidth
    - ReadUInt64
    - VerifyBeforePointer
    - VerifyOffset
    - VerifyVector
    - static_cast<uint8_t>
    - Reference
    linkageType: ''
    returnType: bool
    signature: bool VerifyKeys(const uint8_t *p, uint8_t byte_width)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLEX_CHECK_VERIFIED
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1789,1
    - Dst: PackedType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1793
    functionName: VerifyKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - FLEX_CHECK_VERIFIED
    - PackedType
    linkageType: ''
    returnType: bool
    signature: bool VerifyKey(const uint8_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyFromPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1798,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1798,1
    - Dst: String::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1798,1
    - Dst: String::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1797
    functionDepth: 2
    functionLinenumber: 1797
    functionLinenumberEnd: 1800
    functionName: VerifyTerminator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 0
    functionsReached:
    - String::size
    - reinterpret_cast<const uint8_t *>
    - VerifyFromPointer
    - String::c_str
    linkageType: ''
    returnType: bool
    signature: bool VerifyTerminator(const String &s)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: VerifyByteWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1804,1
    - Dst: VerifyType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1804,1
    - Dst: IsInline
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1807,1
    - Dst: ReadUInt64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1812,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1813,1
    - Dst: Reference::Indirect
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1814,1
    - Dst: VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1815,1
    - Dst: VerifyFromPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1819,1
    - Dst: VerifyKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1820,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1822,1
    - Dst: VerifyKeys
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1822,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1823,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1824,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1826,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1827,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1828,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1831,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1832,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1834,1
    - Dst: VerifyTerminator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1835,1
    - Dst: String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1835,1
    - Dst: ToFixedTypedVectorElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1846,1
    - Dst: VerifyType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1847,1
    - Dst: VerifyFromPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1848,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 1
    argNames:
    - r
    argTypes:
    - Reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1802
    functionDepth: 4
    functionLinenumber: 1802
    functionLinenumberEnd: 1852
    functionName: VerifyRef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 1
    functionsReached:
    - VerifyByteWidth
    - VerifyTerminator
    - ReadUInt64
    - VerifyKey
    - IsInline
    - VerifyKeys
    - VerifyOffset
    - String
    - VerifyAlignment
    - VerifyFromPointer
    - VerifyType
    - ToFixedTypedVectorElementType
    - static_cast<size_t>
    - VerifyVector
    - Reference::Indirect
    linkageType: ''
    returnType: bool
    signature: bool VerifyRef(Reference r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h:1880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1881
    functionName: VerifyBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    functionUses: 5
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyBuffer(const uint8_t *buf, size_t buf_len,\n                         std::vector<uint8_t>
      *reuse_tracker = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: operator T*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator T*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: FLATBUFFERS_STRING_EXPAND
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRING_EXPAND(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: FLATBUFFERS_STRING
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_STRING(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: FLATBUFFERS_DELETE_FUNC
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_DELETE_FUNC(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: FLATBUFFERS_DELETE_FUNC
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_DELETE_FUNC(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: __suppress_ubsan__
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __suppress_ubsan__(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: __suppress_ubsan__
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __suppress_ubsan__(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: IsConstTrue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR
    signature: FLATBUFFERS_CONSTEXPR IsConstTrue(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_ATTRIBUTE(attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: FLATBUFFERS_FALLTHROUGH
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: FLATBUFFERS_FALLTHROUGH
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: FLATBUFFERS_FALLTHROUGH
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_FALLTHROUGH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: flatbuffers::VerifyAlignmentRequirements
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VerifyAlignmentRequirements(size_t align, size_t min_align = 1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_BYTESWAP16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:385,1
    - Dst: FLATBUFFERS_BYTESWAP32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:389,1
    - Dst: FLATBUFFERS_BYTESWAP64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:393,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 399
    functionName: flatbuffers::EndianSwap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_BYTESWAP64
    - FLATBUFFERS_BYTESWAP16
    - FLATBUFFERS_BYTESWAP32
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: T
    signature: T EndianSwap(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: FLATBUFFERS_BYTESWAP64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_BYTESWAP64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: FLATBUFFERS_BYTESWAP16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_BYTESWAP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianSwap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: flatbuffers::EndianScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 5
    functionsReached:
    - flatbuffers::EndianSwap
    linkageType: ''
    returnType: T
    signature: T EndianScalar(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:418,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: flatbuffers::ReadScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 4
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T ReadScalar(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:432,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: flatbuffers::WriteScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: void
    signature: void WriteScalar(void *p, T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:437,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - void*
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: flatbuffers::WriteScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<uoffset_t *>
    linkageType: ''
    returnType: void
    signature: void WriteScalar(void *p, Offset<T> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf_size
    - scalar_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: flatbuffers::PaddingBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PaddingBytes(size_t buf_size, size_t scalar_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs(T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: flatbuffers::IsFloatTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloatTheSameAs(T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsFloatTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsFloatTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs<float>(float e, float def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsFloatTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsFloatTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs<double>(double e, double def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: flatbuffers::IsOutRange
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOutRange(const T &v, const T &low, const T &high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: flatbuffers::IsInRange
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: bool
    signature: bool IsInRange(const T &v, const T &low, const T &high)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - align
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: flatbuffers::VerifyAlignmentRequirements
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool VerifyAlignmentRequirements(size_t align, size_t min_align = 1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_BYTESWAP16
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:385,1
    - Dst: FLATBUFFERS_BYTESWAP32
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:389,1
    - Dst: FLATBUFFERS_BYTESWAP64
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:393,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 399
    functionName: flatbuffers::EndianSwap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 1
    functionsReached:
    - FLATBUFFERS_BYTESWAP64
    - FLATBUFFERS_BYTESWAP16
    - FLATBUFFERS_BYTESWAP32
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: T
    signature: T EndianSwap(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: FLATBUFFERS_BYTESWAP64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_BYTESWAP64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: FLATBUFFERS_BYTESWAP16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLATBUFFERS_BYTESWAP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianSwap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: flatbuffers::EndianScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 8
    functionsReached:
    - flatbuffers::EndianSwap
    linkageType: ''
    returnType: T
    signature: T EndianScalar(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:418,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: flatbuffers::ReadScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 4
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T ReadScalar(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:432,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - void*
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: flatbuffers::WriteScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: void
    signature: void WriteScalar(void *p, T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:437,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - void*
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: flatbuffers::WriteScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<uoffset_t *>
    linkageType: ''
    returnType: void
    signature: void WriteScalar(void *p, Offset<T> t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf_size
    - scalar_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: flatbuffers::PaddingBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t PaddingBytes(size_t buf_size, size_t scalar_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 455
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs(T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: flatbuffers::IsFloatTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloatTheSameAs(T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsFloatTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsFloatTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs<float>(float e, float def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsFloatTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - def
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: flatbuffers::IsTheSameAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsFloatTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool IsTheSameAs<double>(double e, double def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: flatbuffers::IsOutRange
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOutRange(const T &v, const T &low, const T &high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - T
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: flatbuffers::IsInRange
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: bool
    signature: bool IsInRange(const T &v, const T &low, const T &high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: flatbuffers::HashFnv1
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: T
    signature: T HashFnv1(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: flatbuffers::HashFnv1a
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: T
    signature: T HashFnv1a(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::HashFnv1
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: flatbuffers::HashFnv1
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 1
    functionsReached:
    - flatbuffers::HashFnv1
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HashFnv1<uint16_t>(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::HashFnv1a
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: flatbuffers::HashFnv1a
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 1
    functionsReached:
    - flatbuffers::HashFnv1a
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HashFnv1a<uint16_t>(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: flatbuffers::FindHashFunction16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint16_t>::HashFunction
    signature: "NamedHashFunction<uint16_t>::HashFunction FindHashFunction16(\n    const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: flatbuffers::FindHashFunction32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint32_t>::HashFunction
    signature: "NamedHashFunction<uint32_t>::HashFunction FindHashFunction32(\n    const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: flatbuffers::FindHashFunction64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint64_t>::HashFunction
    signature: "NamedHashFunction<uint64_t>::HashFunction FindHashFunction64(\n    const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: flatbuffers::HashFnv1
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: T
    signature: T HashFnv1(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: flatbuffers::HashFnv1a
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: T
    signature: T HashFnv1a(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::HashFnv1
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: flatbuffers::HashFnv1
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 2
    functionsReached:
    - flatbuffers::HashFnv1
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HashFnv1<uint16_t>(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::HashFnv1a
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: flatbuffers::HashFnv1a
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 2
    functionsReached:
    - flatbuffers::HashFnv1a
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HashFnv1a<uint16_t>(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: flatbuffers::FindHashFunction16
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint16_t>::HashFunction
    signature: "NamedHashFunction<uint16_t>::HashFunction FindHashFunction16(\n    const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: flatbuffers::FindHashFunction32
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint32_t>::HashFunction
    signature: "NamedHashFunction<uint32_t>::HashFunction FindHashFunction32(\n    const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: flatbuffers::FindHashFunction64
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    functionUses: 0
    functionsReached:
    - std::strcmp
    linkageType: ''
    returnType: NamedHashFunction<uint64_t>::HashFunction
    signature: "NamedHashFunction<uint64_t>::HashFunction FindHashFunction64(\n    const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~Allocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:44,1
    - Dst: allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:45,1
    - Dst: flatbuffers::Allocator::memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:46,1
    - Dst: deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: flatbuffers::Allocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Allocator::memcpy_downward
    - allocate
    - deallocate
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:60,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - old_p
    - old_size
    - new_p
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: flatbuffers::Allocator::memcpy_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void memcpy_downward(uint8_t *old_p, size_t old_size, uint8_t *new_p,\n
      \                      size_t new_size, size_t in_use_back,\n                       size_t
      in_use_front)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~Allocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:44,1
    - Dst: allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:45,1
    - Dst: flatbuffers::Allocator::memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:46,1
    - Dst: deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: flatbuffers::Allocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Allocator::memcpy_downward
    - allocate
    - deallocate
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:60,1
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - old_p
    - old_size
    - new_p
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: flatbuffers::Allocator::memcpy_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void memcpy_downward(uint8_t *old_p, size_t old_size, uint8_t *new_p,\n
      \                      size_t new_size, size_t in_use_back,\n                       size_t
      in_use_front)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:26,1
    - Dst: Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: flatbuffers::c_str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - Data
    linkageType: ''
    returnType: char
    signature: char *c_str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: flatbuffers::str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - flatbuffers::c_str
    - std::string
    - flatbuffers::size
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: flatbuffers::string_view
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 1
    functionsReached:
    - flatbuffers::string_view
    - flatbuffers::c_str
    - flatbuffers::size
    linkageType: ''
    returnType: flatbuffers::string_view
    signature: flatbuffers::string_view string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: String::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: String::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: operator<(const String &o) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - flatbuffers::StringLessThan
    - String::data
    - flatbuffers::size
    - String::size
    - flatbuffers::data
    linkageType: ''
    returnType: bool
    signature: bool operator<(const String &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: flatbuffers::GetString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - String*::str
    linkageType: ''
    returnType: std::string
    signature: std::string GetString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: flatbuffers::GetCstring
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - String*::c_str
    linkageType: ''
    returnType: char
    signature: char *GetCstring(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:58,1
    - Dst: flatbuffers::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: flatbuffers::GetStringView
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - flatbuffers::string_view
    - String*::string_view
    linkageType: ''
    returnType: flatbuffers::string_view
    signature: flatbuffers::string_view GetStringView(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:26,1
    - Dst: Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: flatbuffers::c_str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char *>
    - Data
    linkageType: ''
    returnType: char
    signature: char *c_str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: flatbuffers::str
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - flatbuffers::c_str
    - std::string
    - flatbuffers::size
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: flatbuffers::string_view
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 3
    functionsReached:
    - flatbuffers::string_view
    - flatbuffers::c_str
    - flatbuffers::size
    linkageType: ''
    returnType: flatbuffers::string_view
    signature: flatbuffers::string_view string_view() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: String::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    - Dst: String::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - String
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: operator<(const String &o) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - size
    - data
    - StringLessThan
    - String::data
    - String::size
    linkageType: ''
    returnType: bool
    signature: bool operator<(const String &o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: flatbuffers::GetString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - String*::str
    linkageType: ''
    returnType: std::string
    signature: std::string GetString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: flatbuffers::GetCstring
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - String*::c_str
    linkageType: ''
    returnType: char
    signature: char *GetCstring(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: String*::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:58,1
    - Dst: flatbuffers::string_view
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: flatbuffers::GetStringView
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    functionUses: 0
    functionsReached:
    - flatbuffers::string_view
    - String*::string_view
    linkageType: ''
    returnType: flatbuffers::string_view
    signature: flatbuffers::string_view GetStringView(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: flatbuffers::BufferRef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _buf
    - _len
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: flatbuffers::BufferRef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferRef(uint8_t *_buf, uoffset_t _len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ~BufferRef()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~BufferRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: flatbuffers::BufferRef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _buf
    - _len
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: flatbuffers::BufferRef
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferRef(uint8_t *_buf, uoffset_t _len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: ~BufferRef()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ~BufferRef()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::Array::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR
    signature: FLATBUFFERS_CONSTEXPR size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:51,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:51,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:52,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: flatbuffers::Array::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::Data
    - SADFRead
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type Get(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: operator[](uoffset_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:61,1
    - Dst: flatbuffers::Array::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: flatbuffers::Array::GetEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - static_cast<E>
    - flatbuffers::Array::Get
    linkageType: ''
    returnType: E
    signature: E GetEnum(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:64,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: flatbuffers::Array::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::Data
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: flatbuffers::Array::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::Data
    - const_iterator
    - flatbuffers::Array::size
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:68,1
    - Dst: flatbuffers::Array::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: flatbuffers::Array::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - flatbuffers::Array::end
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:71,1
    - Dst: flatbuffers::Array::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: flatbuffers::Array::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::begin
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: flatbuffers::Array::cbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: flatbuffers::Array::cend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::rbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::Array::crbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::rbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::rend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: flatbuffers::Array::crend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::rend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:87,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:87,1
    - Dst: const_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:88,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: flatbuffers::Array::GetMutablePointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::data
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    - const_cast<T *>
    linkageType: ''
    returnType: typename flatbuffers::conditional<scalar_tag::value, void, T *>::type
    signature: typename flatbuffers::conditional<scalar_tag::value, void, T *>::type
      GetMutablePointer(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::MutateImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:92,1
    - Dst: scalar_tag
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: flatbuffers::Array::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::MutateImpl
    - scalar_tag
    linkageType: ''
    returnType: void
    signature: void Mutate(uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: flatbuffers::Array::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: flatbuffers::Array::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:100,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: flatbuffers::Array::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::Data
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:101,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: flatbuffers::Array::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::Data
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T *data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:106,1
    - Dst: flatbuffers::span<const T, length>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:106,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:107,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:108,1
    - Dst: flatbuffers::Array::CopyFromSpanImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:112,1
    - Dst: flatbuffers::bool_constant<is_span_observable>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: flatbuffers::Array::CopyFromSpan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::CopyFromSpanImpl
    - flatbuffers::span<const T, length>::data
    - flatbuffers::Array::Data
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::bool_constant<is_span_observable>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void CopyFromSpan(flatbuffers::span<const T, length> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:117,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:117,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:118,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: flatbuffers::Array::MutateImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - WriteScalar
    - flatbuffers::Array::data
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void MutateImpl(flatbuffers::true_type, uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::GetMutablePointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: flatbuffers::Array::MutateImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::GetMutablePointer
    linkageType: ''
    returnType: void
    signature: void MutateImpl(flatbuffers::false_type, uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    - Dst: flatbuffers::span<const T, length>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: flatbuffers::Array::CopyFromSpanImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::span<const T, length>::data
    - flatbuffers::Array::data
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void CopyFromSpanImpl(flatbuffers::true_type,\n                        flatbuffers::span<const
      T, length> src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: flatbuffers::Array::CopyFromSpanImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::Mutate
    linkageType: ''
    returnType: void
    signature: "void CopyFromSpanImpl(flatbuffers::false_type,\n                        flatbuffers::span<const
      T, length> src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: flatbuffers::Array<Offset<T>, length>::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: operator[](uoffset_t) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<U, N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:190,1
    - Dst: Array<U, N>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: flatbuffers::span<U, N> make_span(Array<U, N> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - Array<U, N>::data
    - span<U, N>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U, N> make_span(Array<U,
      N> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const U, N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:199,1
    - Dst: Array<U, N>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: "flatbuffers::span<const U, N> make_span(\n    const Array<U, N>
      &arr)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<const U, N>
    - Array<U, N>::data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U, N> make_span(\n
      \   const Array<U, N> &arr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<uint8_t, sizeof(U) * N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:207,1
    - Dst: Array<U, N>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'flatbuffers::span<uint8_t, sizeof(U) * N>

      make_bytes_span(Array<U, N> &arr)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<uint8_t, sizeof(U) * N>
    - Array<U, N>::Data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: 'FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<uint8_t, sizeof(U) *
      N>

      make_bytes_span(Array<U, N> &arr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const uint8_t, sizeof(U) * N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:215,1
    - Dst: Array<U, N>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: 'flatbuffers::span<const uint8_t, sizeof(U) * N>

      make_bytes_span(const Array<U, N> &arr)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<const uint8_t, sizeof(U) * N>
    - Array<U, N>::Data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: 'FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const uint8_t, sizeof(U)
      * N>

      make_bytes_span(const Array<U, N> &arr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Array<T, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: flatbuffers::CastToArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Array<T, length> *>
    linkageType: ''
    returnType: Array<T, length>
    signature: Array<T, length> &CastToArray(T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Array<T, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: flatbuffers::CastToArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Array<T, length> *>
    linkageType: ''
    returnType: Array<T, length>
    signature: Array<T, length> &CastToArray(const T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Array<E, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: flatbuffers::CastToArrayOfEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Array<E, length> *>
    linkageType: ''
    returnType: Array<E, length>
    signature: Array<E, length> &CastToArrayOfEnum(T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Array<E, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: flatbuffers::CastToArrayOfEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Array<E, length> *>
    linkageType: ''
    returnType: Array<E, length>
    signature: Array<E, length> &CastToArrayOfEnum(const T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:246,1
    - Dst: std::addressof
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:246,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:247,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:247,1
    - Dst: std::memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Array<T, length>
    - Array<T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: "operator==(const Array<T, length> &lhs,\n                const
      Array<T, length> &rhs) noexcept"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - std::addressof
    - Array<T, length>::size
    - std::memcmp
    - Array<T, length>::Data
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const Array<T, length> &lhs,\n                const
      Array<T, length> &rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::Array::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR
    signature: FLATBUFFERS_CONSTEXPR size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:51,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:51,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:52,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: flatbuffers::Array::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::Data
    - SADFRead
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type Get(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: operator[](uoffset_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:61,1
    - Dst: flatbuffers::Array::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: flatbuffers::Array::GetEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - static_cast<E>
    - flatbuffers::Array::Get
    linkageType: ''
    returnType: E
    signature: E GetEnum(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:64,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: flatbuffers::Array::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Array::Data
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: flatbuffers::Array::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Array::Data
    - const_iterator
    - flatbuffers::Array::size
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:68,1
    - Dst: flatbuffers::Array::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: flatbuffers::Array::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - flatbuffers::Array::end
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:71,1
    - Dst: flatbuffers::Array::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: flatbuffers::Array::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::begin
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: flatbuffers::Array::cbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: flatbuffers::Array::cend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::rbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::Array::crbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::rbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::rend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: flatbuffers::Array::crend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::rend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:87,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:87,1
    - Dst: const_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:88,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: flatbuffers::Array::GetMutablePointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::data
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    - const_cast<T *>
    linkageType: ''
    returnType: typename flatbuffers::conditional<scalar_tag::value, void, T *>::type
    signature: typename flatbuffers::conditional<scalar_tag::value, void, T *>::type
      GetMutablePointer(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::MutateImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:92,1
    - Dst: scalar_tag
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: flatbuffers::Array::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Array::MutateImpl
    - scalar_tag
    linkageType: ''
    returnType: void
    signature: void Mutate(uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: flatbuffers::Array::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: flatbuffers::Array::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:100,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: flatbuffers::Array::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 4
    functionsReached:
    - flatbuffers::Array::Data
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:101,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: flatbuffers::Array::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 4
    functionsReached:
    - flatbuffers::Array::Data
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T *data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:106,1
    - Dst: flatbuffers::span<const T, length>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:106,1
    - Dst: flatbuffers::Array::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:107,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:108,1
    - Dst: flatbuffers::Array::CopyFromSpanImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:112,1
    - Dst: flatbuffers::bool_constant<is_span_observable>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: flatbuffers::Array::CopyFromSpan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Array::CopyFromSpanImpl
    - flatbuffers::span<const T, length>::data
    - flatbuffers::Array::Data
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::bool_constant<is_span_observable>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void CopyFromSpan(flatbuffers::span<const T, length> src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:117,1
    - Dst: flatbuffers::Array::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:117,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:118,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: flatbuffers::Array::MutateImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - WriteScalar
    - flatbuffers::Array::data
    - flatbuffers::Array::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void MutateImpl(flatbuffers::true_type, uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::GetMutablePointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: flatbuffers::Array::MutateImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Array::GetMutablePointer
    linkageType: ''
    returnType: void
    signature: void MutateImpl(flatbuffers::false_type, uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    - Dst: flatbuffers::Array::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    - Dst: flatbuffers::span<const T, length>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: flatbuffers::Array::CopyFromSpanImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - flatbuffers::span<const T, length>::data
    - flatbuffers::Array::data
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: "void CopyFromSpanImpl(flatbuffers::true_type,\n                        flatbuffers::span<const
      T, length> src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Array::Mutate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - flatbuffers::span<const T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: flatbuffers::Array::CopyFromSpanImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Array::Mutate
    linkageType: ''
    returnType: void
    signature: "void CopyFromSpanImpl(flatbuffers::false_type,\n                        flatbuffers::span<const
      T, length> src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: flatbuffers::Array<Offset<T>, length>::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: operator[](uoffset_t) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<U, N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:190,1
    - Dst: Array<U, N>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: flatbuffers::span<U, N> make_span(Array<U, N> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - Array<U, N>::data
    - span<U, N>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U, N> make_span(Array<U,
      N> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const U, N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:199,1
    - Dst: Array<U, N>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: "flatbuffers::span<const U, N> make_span(\n    const Array<U, N>
      &arr)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<const U, N>
    - Array<U, N>::data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U, N> make_span(\n
      \   const Array<U, N> &arr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<uint8_t, sizeof(U) * N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:207,1
    - Dst: Array<U, N>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: 'flatbuffers::span<uint8_t, sizeof(U) * N>

      make_bytes_span(Array<U, N> &arr)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<uint8_t, sizeof(U) * N>
    - Array<U, N>::Data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: 'FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<uint8_t, sizeof(U) *
      N>

      make_bytes_span(Array<U, N> &arr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const uint8_t, sizeof(U) * N>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:215,1
    - Dst: Array<U, N>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - Array<U, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: 'flatbuffers::span<const uint8_t, sizeof(U) * N>

      make_bytes_span(const Array<U, N> &arr)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - span<const uint8_t, sizeof(U) * N>
    - Array<U, N>::Data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: 'FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const uint8_t, sizeof(U)
      * N>

      make_bytes_span(const Array<U, N> &arr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Array<T, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: flatbuffers::CastToArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Array<T, length> *>
    linkageType: ''
    returnType: Array<T, length>
    signature: Array<T, length> &CastToArray(T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Array<T, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: flatbuffers::CastToArray
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Array<T, length> *>
    linkageType: ''
    returnType: Array<T, length>
    signature: Array<T, length> &CastToArray(const T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Array<E, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: flatbuffers::CastToArrayOfEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Array<E, length> *>
    linkageType: ''
    returnType: Array<E, length>
    signature: Array<E, length> &CastToArrayOfEnum(T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Array<E, length> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: flatbuffers::CastToArrayOfEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Array<E, length> *>
    linkageType: ''
    returnType: Array<E, length>
    signature: Array<E, length> &CastToArrayOfEnum(const T (&arr)[length])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::addressof
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:246,1
    - Dst: std::addressof
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:246,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:247,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:247,1
    - Dst: std::memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    - Dst: Array<T, length>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - Array<T, length>
    - Array<T, length>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: "operator==(const Array<T, length> &lhs,\n                const
      Array<T, length> &rhs) noexcept"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    functionUses: 0
    functionsReached:
    - std::addressof
    - Array<T, length>::size
    - std::memcmp
    - Array<T, length>::Data
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const Array<T, length> &lhs,\n                const
      Array<T, length> &rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - slice
    argTypes:
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(::grpc::Slice slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const Message &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(Message &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::grpc::Message::mutable_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::grpc::Message::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::Message::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::grpc::Message::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 1
    functionsReached:
    - flatbuffers::grpc::Message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: flatbuffers::grpc::Message::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    - Dst: flatbuffers::grpc::Message::mutable_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::grpc::Message::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::mutable_data
    - flatbuffers::GetMutableRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    - Dst: flatbuffers::grpc::Message::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::grpc::Message::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::data
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&BorrowSlice() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &BorrowSlice() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(const SliceAllocator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '&operator=(SliceAllocator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: flatbuffers::grpc::SliceAllocator::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void swap(SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~SliceAllocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:103,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: flatbuffers::grpc::SliceAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: flatbuffers::grpc::SliceAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:118,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:120,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: ::grpc::Slice::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: flatbuffers::grpc::SliceAllocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - memcpy_downward
    - begin
    - ::grpc::Slice::begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '&get_slice(uint8_t *p, size_t size)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &get_slice(uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(uoffset_t initial_size = 1024)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '&operator=(const MessageBuilder &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(MessageBuilder &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:171,1
    - Dst: FlatBufferBuilder::SwapBufAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:172,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:173,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:174,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:175,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:176,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - capacity
    - ::grpc::Slice
    - scratch_data
    - FlatBufferBuilder::SwapBufAllocator
    - FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: "void MessageBuilder(FlatBufferBuilder &&src,\n                          void
      (*dealloc)(void *,\n                                          size_t) = &DefaultAllocator::dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '&operator=(FlatBufferBuilder &&src)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(FlatBufferBuilder &&src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: '&operator=(MessageBuilder &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(MessageBuilder &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:200,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:201,1
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: flatbuffers::grpc::MessageBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 1
    functionsReached:
    - swap_allocator
    - flatbuffers::FlatBufferBuilder::Swap
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ReleaseRaw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:214,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - offset
    - slice
    argTypes:
    - size_t
    - size_t
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - flatbuffers::FlatBufferBuilder::ReleaseRaw
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset, ::grpc::Slice &slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~MessageBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:226,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:227,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:228,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:229,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:231,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:232,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:233,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:234,1
    - Dst: get_slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:239,1
    - Dst: ::grpc::Slice::sub
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: flatbuffers::grpc::MessageBuilder::GetMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - capacity
    - size
    - data
    - get_slice
    - scratch_data
    - ::grpc::Slice::sub
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> GetMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::GetMessage
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:248,1
    - Dst: Reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::GetMessage
    - Reset
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> ReleaseMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - slice
    argTypes:
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(::grpc::Slice slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const Message &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(Message &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::grpc::Message::mutable_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 1
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::grpc::Message::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 1
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::Message::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::grpc::Message::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - flatbuffers::grpc::Message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: flatbuffers::grpc::Message::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    - Dst: flatbuffers::grpc::Message::mutable_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::grpc::Message::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::mutable_data
    - flatbuffers::GetMutableRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    - Dst: flatbuffers::grpc::Message::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::grpc::Message::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::data
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&BorrowSlice() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &BorrowSlice() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(const SliceAllocator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '&operator=(SliceAllocator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::swap
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: flatbuffers::grpc::SliceAllocator::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 4
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void swap(SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~SliceAllocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:103,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: flatbuffers::grpc::SliceAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: flatbuffers::grpc::SliceAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:118,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:120,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: ::grpc::Slice::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: flatbuffers::grpc::SliceAllocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - memcpy_downward
    - begin
    - ::grpc::Slice::begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: flatbuffers::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '&get_slice(uint8_t *p, size_t size)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::begin
    - FLATBUFFERS_ASSERT
    - flatbuffers::size
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &get_slice(uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(uoffset_t initial_size = 1024)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '&operator=(const MessageBuilder &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(MessageBuilder &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:171,1
    - Dst: FlatBufferBuilder::SwapBufAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:172,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:173,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:174,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:175,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:176,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - capacity
    - ::grpc::Slice
    - scratch_data
    - FlatBufferBuilder::SwapBufAllocator
    - FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: "void MessageBuilder(FlatBufferBuilder &&src,\n                          void
      (*dealloc)(void *,\n                                          size_t) = &DefaultAllocator::dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '&operator=(FlatBufferBuilder &&src)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(FlatBufferBuilder &&src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: '&operator=(MessageBuilder &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(MessageBuilder &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:200,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:201,1
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: flatbuffers::grpc::MessageBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - swap_allocator
    - flatbuffers::FlatBufferBuilder::Swap
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ReleaseRaw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:214,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - offset
    - slice
    argTypes:
    - size_t
    - size_t
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - flatbuffers::FlatBufferBuilder::ReleaseRaw
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset, ::grpc::Slice &slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~MessageBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:226,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:227,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:228,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:229,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:231,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:232,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:233,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:234,1
    - Dst: get_slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:239,1
    - Dst: ::grpc::Slice::sub
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: flatbuffers::grpc::MessageBuilder::GetMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 1
    functionsReached:
    - capacity
    - size
    - data
    - get_slice
    - scratch_data
    - ::grpc::Slice::sub
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> GetMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::GetMessage
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:248,1
    - Dst: Reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::GetMessage
    - Reset
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> ReleaseMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - slice
    argTypes:
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(::grpc::Slice slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const Message &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(Message &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::grpc::Message::mutable_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::grpc::Message::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::Message::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::grpc::Message::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 3
    functionsReached:
    - flatbuffers::grpc::Message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: flatbuffers::grpc::Message::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    - Dst: flatbuffers::grpc::Message::mutable_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::grpc::Message::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::mutable_data
    - flatbuffers::GetMutableRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    - Dst: flatbuffers::grpc::Message::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::grpc::Message::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::data
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&BorrowSlice() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &BorrowSlice() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(const SliceAllocator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '&operator=(SliceAllocator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: flatbuffers::grpc::SliceAllocator::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 6
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void swap(SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~SliceAllocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:103,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: flatbuffers::grpc::SliceAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: flatbuffers::grpc::SliceAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:118,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:120,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: ::grpc::Slice::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: flatbuffers::grpc::SliceAllocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - memcpy_downward
    - begin
    - ::grpc::Slice::begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '&get_slice(uint8_t *p, size_t size)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &get_slice(uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(uoffset_t initial_size = 1024)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '&operator=(const MessageBuilder &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(MessageBuilder &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:171,1
    - Dst: FlatBufferBuilder::SwapBufAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:172,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:173,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:174,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:175,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:176,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - capacity
    - ::grpc::Slice
    - scratch_data
    - FlatBufferBuilder::SwapBufAllocator
    - FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: "void MessageBuilder(FlatBufferBuilder &&src,\n                          void
      (*dealloc)(void *,\n                                          size_t) = &DefaultAllocator::dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '&operator=(FlatBufferBuilder &&src)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(FlatBufferBuilder &&src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: '&operator=(MessageBuilder &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(MessageBuilder &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:200,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:201,1
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: flatbuffers::grpc::MessageBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 3
    functionsReached:
    - swap_allocator
    - flatbuffers::FlatBufferBuilder::Swap
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ReleaseRaw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:214,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - offset
    - slice
    argTypes:
    - size_t
    - size_t
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - flatbuffers::FlatBufferBuilder::ReleaseRaw
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset, ::grpc::Slice &slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~MessageBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:226,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:227,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:228,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:229,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:231,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:232,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:233,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:234,1
    - Dst: get_slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:239,1
    - Dst: ::grpc::Slice::sub
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: flatbuffers::grpc::MessageBuilder::GetMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 2
    functionsReached:
    - capacity
    - size
    - data
    - get_slice
    - scratch_data
    - ::grpc::Slice::sub
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> GetMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::GetMessage
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:248,1
    - Dst: Reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::GetMessage
    - Reset
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> ReleaseMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - slice
    argTypes:
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(::grpc::Slice slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '&operator=(const Message &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: flatbuffers::grpc::Message::Message
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Message(const Message &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '&operator=(Message &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Message
    signature: Message &operator=(Message &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: flatbuffers::grpc::Message::mutable_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 3
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::grpc::Message::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 3
    functionsReached:
    - begin
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::Message::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::grpc::Message::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 4
    functionsReached:
    - flatbuffers::grpc::Message::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: flatbuffers::grpc::Message::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool Verify() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    - Dst: flatbuffers::grpc::Message::mutable_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::grpc::Message::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::mutable_data
    - flatbuffers::GetMutableRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    - Dst: flatbuffers::grpc::Message::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::grpc::Message::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message::data
    - flatbuffers::GetRoot<T>
    linkageType: ''
    returnType: T
    signature: T *GetRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&BorrowSlice() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &BorrowSlice() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '&operator=(const SliceAllocator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(const SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: flatbuffers::grpc::SliceAllocator::SliceAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void SliceAllocator(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '&operator=(SliceAllocator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: SliceAllocator
    signature: SliceAllocator &operator=(SliceAllocator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::SliceAllocator::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - SliceAllocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: flatbuffers::grpc::SliceAllocator::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 8
    functionsReached:
    - flatbuffers::grpc::SliceAllocator::swap
    linkageType: ''
    returnType: void
    signature: void swap(SliceAllocator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~SliceAllocator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SliceAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:102,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:103,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: flatbuffers::grpc::SliceAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:108,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:109,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: flatbuffers::grpc::SliceAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t size) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:116,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:117,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:118,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:120,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: ::grpc::Slice::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:121,1
    - Dst: memcpy_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: flatbuffers::grpc::SliceAllocator::reallocate_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - size
    - const_cast<uint8_t *>
    - memcpy_downward
    - begin
    - ::grpc::Slice::begin
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *reallocate_downward(uint8_t *old_p, size_t old_size,\n                                       size_t
      new_size, size_t in_use_back,\n                                       size_t
      in_use_front) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:130,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '&get_slice(uint8_t *p, size_t size)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - begin
    - size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: ::grpc::Slice
    signature: ::grpc::Slice &get_slice(uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(uoffset_t initial_size = 1024)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: '&operator=(const MessageBuilder &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(const MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void MessageBuilder(MessageBuilder &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:171,1
    - Dst: FlatBufferBuilder::SwapBufAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:172,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:173,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:174,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:175,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:176,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: flatbuffers::grpc::MessageBuilder::MessageBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - capacity
    - ::grpc::Slice
    - scratch_data
    - FlatBufferBuilder::SwapBufAllocator
    - FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: "void MessageBuilder(FlatBufferBuilder &&src,\n                          void
      (*dealloc)(void *,\n                                          size_t) = &DefaultAllocator::dealloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: '&operator=(FlatBufferBuilder &&src)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(FlatBufferBuilder &&src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: '&operator=(MessageBuilder &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: MessageBuilder
    signature: MessageBuilder &operator=(MessageBuilder &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:200,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:201,1
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - MessageBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: flatbuffers::grpc::MessageBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 4
    functionsReached:
    - swap_allocator
    - flatbuffers::FlatBufferBuilder::Swap
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MessageBuilder &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ReleaseRaw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:214,1
    - Dst: ::grpc::Slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - offset
    - slice
    argTypes:
    - size_t
    - size_t
    - ::grpc::Slice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ::grpc::Slice
    - flatbuffers::FlatBufferBuilder::ReleaseRaw
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset, ::grpc::Slice &slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~MessageBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:226,1
    - Dst: capacity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:227,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:228,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:229,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:231,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:232,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:233,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:234,1
    - Dst: get_slice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:239,1
    - Dst: ::grpc::Slice::sub
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: flatbuffers::grpc::MessageBuilder::GetMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 3
    functionsReached:
    - capacity
    - size
    - data
    - get_slice
    - scratch_data
    - ::grpc::Slice::sub
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> GetMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::grpc::MessageBuilder::GetMessage
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:248,1
    - Dst: Reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: flatbuffers::grpc::MessageBuilder::ReleaseMessage
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::MessageBuilder::GetMessage
    - Reset
    linkageType: ''
    returnType: Message<T>
    signature: Message<T> ReleaseMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:268,1
    - Dst: flatbuffers::grpc::Message<T>::BorrowSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - msg
    - buffer
    - own_buffer
    argTypes:
    - flatbuffers::grpc::Message<T>
    - ByteBuffer*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Serialize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ByteBuffer
    - flatbuffers::grpc::Message<T>::BorrowSlice
    linkageType: ''
    returnType: grpc::Status
    signature: "grpc::Status Serialize(const flatbuffers::grpc::Message<T> &msg,\n
      \                               ByteBuffer *buffer, bool *own_buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteBuffer*::TrySingleSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:277,1
    - Dst: ByteBuffer*::DumpToSingleSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:278,1
    - Dst: ByteBuffer*::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:279,1
    - Dst: ::grpc::Status
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:280,1
    - Dst: flatbuffers::grpc::Message<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:283,1
    - Dst: ByteBuffer*::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:284,1
    - Dst: flatbuffers::grpc::Message<T>*::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:288,1
    - Dst: ::grpc::Status
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - ByteBuffer*
    - flatbuffers::grpc::Message<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 295
    functionName: grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Deserialize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message<T>*::Verify
    - ByteBuffer*::Clear
    - flatbuffers::grpc::Message<T>
    - ByteBuffer*::TrySingleSlice
    - ::grpc::Status
    - ByteBuffer*::DumpToSingleSlice
    linkageType: ''
    returnType: grpc::Status
    signature: "grpc::Status Deserialize(ByteBuffer *buf,\n                                  flatbuffers::grpc::Message<T>
      *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:268,1
    - Dst: flatbuffers::grpc::Message<T>::BorrowSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - msg
    - buffer
    - own_buffer
    argTypes:
    - flatbuffers::grpc::Message<T>
    - ByteBuffer*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Serialize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - ByteBuffer
    - flatbuffers::grpc::Message<T>::BorrowSlice
    linkageType: ''
    returnType: grpc::Status
    signature: "grpc::Status Serialize(const flatbuffers::grpc::Message<T> &msg,\n
      \                               ByteBuffer *buffer, bool *own_buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteBuffer*::TrySingleSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:277,1
    - Dst: ByteBuffer*::DumpToSingleSlice
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:278,1
    - Dst: ByteBuffer*::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:279,1
    - Dst: ::grpc::Status
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:280,1
    - Dst: flatbuffers::grpc::Message<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:283,1
    - Dst: ByteBuffer*::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:284,1
    - Dst: flatbuffers::grpc::Message<T>*::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:288,1
    - Dst: ::grpc::Status
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - msg
    argTypes:
    - ByteBuffer*
    - flatbuffers::grpc::Message<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 295
    functionName: grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Deserialize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    functionUses: 0
    functionsReached:
    - flatbuffers::grpc::Message<T>*::Verify
    - ByteBuffer*::Clear
    - flatbuffers::grpc::Message<T>
    - ByteBuffer*::TrySingleSlice
    - ::grpc::Status
    - ByteBuffer*::DumpToSingleSlice
    linkageType: ''
    returnType: grpc::Status
    signature: "grpc::Status Deserialize(ByteBuffer *buf,\n                                  flatbuffers::grpc::Message<T>
      *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - i
    argTypes:
    - Data
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator(Data data, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator(const VectorIterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '&operator=(const VectorIterator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator=(const VectorIterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '&operator=(VectorIterator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator=(VectorIterator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: operator==(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: operator<(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: operator!=(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: operator-(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - SADFRead
    linkageType: ''
    returnType: IT
    signature: IT operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator->() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - SADFRead
    linkageType: ''
    returnType: IT
    signature: IT operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '&operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VectorIterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator+(const uoffset_t &offset) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VectorIterator
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator+(const uoffset_t &offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '&operator+=(const uoffset_t &offset)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator+=(const uoffset_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '&operator--()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator--(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VectorIterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: operator-(const uoffset_t &offset) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VectorIterator
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator-(const uoffset_t &offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '&operator-=(const uoffset_t &offset)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator-=(const uoffset_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: flatbuffers::VectorReverseIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorReverseIterator(Iterator iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename Iterator::value_type
    signature: typename Iterator::value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator->() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename Iterator::value_type
    signature: typename Iterator::value_type operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: flatbuffers::Vector::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Length
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: flatbuffers::Vector::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::size
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"use size() instead\")]])\n
      \ uoffset_t Length() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:174,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:174,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:175,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: flatbuffers::Vector::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::size
    - SADFRead
    - flatbuffers::Vector::Data
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type Get(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: operator[](uoffset_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:184,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::Vector::GetEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - static_cast<E>
    - flatbuffers::Vector::Get
    linkageType: ''
    returnType: E
    signature: E GetEnum(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const U *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:190,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: flatbuffers::Vector::GetAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Get
    - reinterpret_cast<const U *>
    linkageType: ''
    returnType: U
    signature: U *GetAs(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:196,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: flatbuffers::Vector::GetAsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Get
    - reinterpret_cast<const String *>
    linkageType: ''
    returnType: String
    signature: String *GetAsString(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const void *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:200,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: flatbuffers::Vector::GetStructFromOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Data
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void *GetStructFromOffset(size_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:203,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: flatbuffers::Vector::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Data
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:204,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: flatbuffers::Vector::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Data
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: flatbuffers::Vector::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::size
    - flatbuffers::Vector::Data
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: flatbuffers::Vector::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:209,1
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: flatbuffers::Vector::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:211,1
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: flatbuffers::Vector::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:214,1
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: flatbuffers::Vector::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reverse_iterator
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:216,1
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: flatbuffers::Vector::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: flatbuffers::Vector::cbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: flatbuffers::Vector::cend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::rbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: flatbuffers::Vector::crbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::rbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::rend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: flatbuffers::Vector::crend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::rend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:230,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:230,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:231,1
    - Dst: flatbuffers::Vector::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: flatbuffers::Vector::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    - flatbuffers::Vector::data
    linkageType: ''
    returnType: void
    signature: void Mutate(uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:238,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:238,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:240,1
    - Dst: flatbuffers::Vector::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:240,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:241,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: flatbuffers::Vector::MutateOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Vector::data
    - static_cast<uoffset_t>
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void MutateOffset(uoffset_t i, const uint8_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:246,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:246,1
    - Dst: const_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: flatbuffers::Vector::GetMutableObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - const_cast<mutable_return_type>
    - SADFRead
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type GetMutableObject(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: flatbuffers::Vector::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: flatbuffers::Vector::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:258,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: flatbuffers::Vector::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Vector::Data
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:259,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: flatbuffers::Vector::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::Vector::Data
    linkageType: ''
    returnType: T
    signature: T *data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::bsearch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:262,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:263,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:263,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:269,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: flatbuffers::Vector::LookupByKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - SADFRead
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - std::bsearch
    linkageType: ''
    returnType: return_type
    signature: return_type LookupByKey(K key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:275,1
    - Dst: flatbuffers::Vector::LookupByKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: flatbuffers::Vector::MutableLookupByKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::LookupByKey
    - const_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type MutableLookupByKey(K key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const K *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:292,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:293,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:294,1
    - Dst: auto::KeyCompareWithValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: flatbuffers::Vector::KeyCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - auto::KeyCompareWithValue
    - reinterpret_cast<const K *>
    - SADFRead
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: int
    signature: int KeyCompare(const void *ap, const void *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    - Dst: Vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: flatbuffers::span<U> make_span(Vector<U> &vec)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<U>
    - Vector<U>::size
    - Vector<U>::data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U> make_span(Vector<U>
      &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    - Dst: Vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: "flatbuffers::span<const U> make_span(\n    const Vector<U> &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::size
    - Vector<U>::data
    - span<const U>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U> make_span(\n
      \   const Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    - Dst: Vector<U>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: "flatbuffers::span<uint8_t> make_bytes_span(\n    Vector<U> &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::size
    - Vector<U>::Data
    - span<uint8_t>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<uint8_t> make_bytes_span(\n
      \   Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    - Dst: Vector<U>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: "flatbuffers::span<const uint8_t> make_bytes_span(\n    const Vector<U>
      &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::Data
    - Vector<U>::size
    - span<const uint8_t>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const uint8_t> make_bytes_span(\n
      \   const Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:341,1
    - Dst: span<U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<U>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: flatbuffers::span<U> make_span(Vector<U> *ptr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<U>
    - make_span
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U> make_span(Vector<U>
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:349,1
    - Dst: span<const U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<U>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: "flatbuffers::span<const U> make_span(\n    const Vector<U> *ptr)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<const U>
    - make_span
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U> make_span(\n
      \   const Vector<U> *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: flatbuffers::VectorOfAny::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: flatbuffers::VectorOfAny::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: flatbuffers::VectorOfAny::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Vector<Offset<T>> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<Offset<U>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: flatbuffers::VectorCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Vector<Offset<T>> *>
    linkageType: ''
    returnType: Vector<Offset<T>>
    signature: Vector<Offset<T>> *VectorCast(Vector<Offset<U>> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Vector<Offset<T>> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<Offset<U>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: flatbuffers::VectorCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Vector<Offset<T>> *>
    linkageType: ''
    returnType: Vector<Offset<T>>
    signature: Vector<Offset<T>> *VectorCast(const Vector<Offset<U>> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: flatbuffers::VectorLength
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<T>*::size
    linkageType: ''
    returnType: size_t
    signature: size_t VectorLength(const Vector<T> *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - i
    argTypes:
    - Data
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator(Data data, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator(const VectorIterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: flatbuffers::VectorIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '&operator=(const VectorIterator &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator=(const VectorIterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '&operator=(VectorIterator &&other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator=(VectorIterator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: operator==(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: operator<(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: operator!=(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: operator-(const VectorIterator &other) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const VectorIterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - SADFRead
    linkageType: ''
    returnType: IT
    signature: IT operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator->() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - SADFRead
    linkageType: ''
    returnType: IT
    signature: IT operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '&operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorIterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator+(const uoffset_t &offset) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - VectorIterator
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator+(const uoffset_t &offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: '&operator+=(const uoffset_t &offset)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator+=(const uoffset_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: '&operator--()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: operator--(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorIterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: operator-(const uoffset_t &offset) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - VectorIterator
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator operator-(const uoffset_t &offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: '&operator-=(const uoffset_t &offset)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator &operator-=(const uoffset_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: flatbuffers::VectorReverseIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorReverseIterator(Iterator iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename Iterator::value_type
    signature: typename Iterator::value_type operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: operator->() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename Iterator::value_type
    signature: typename Iterator::value_type operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: flatbuffers::Vector::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 8
    functionsReached:
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Length
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: flatbuffers::Vector::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::size
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"use size() instead\")]])\n
      \ uoffset_t Length() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:174,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:174,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:175,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: flatbuffers::Vector::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 3
    functionsReached:
    - flatbuffers::Vector::size
    - SADFRead
    - flatbuffers::Vector::Data
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: return_type
    signature: return_type Get(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: operator[](uoffset_t i) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: return_type
    signature: return_type operator[](uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:184,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::Vector::GetEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - static_cast<E>
    - flatbuffers::Vector::Get
    linkageType: ''
    returnType: E
    signature: E GetEnum(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const U *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:190,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: flatbuffers::Vector::GetAs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Get
    - reinterpret_cast<const U *>
    linkageType: ''
    returnType: U
    signature: U *GetAs(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:196,1
    - Dst: flatbuffers::Vector::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: flatbuffers::Vector::GetAsString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Get
    - reinterpret_cast<const String *>
    linkageType: ''
    returnType: String
    signature: String *GetAsString(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const void *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:200,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: flatbuffers::Vector::GetStructFromOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::Data
    - reinterpret_cast<const void *>
    linkageType: ''
    returnType: void
    signature: void *GetStructFromOffset(size_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:203,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: flatbuffers::Vector::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 3
    functionsReached:
    - flatbuffers::Vector::Data
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:204,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: flatbuffers::Vector::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 3
    functionsReached:
    - flatbuffers::Vector::Data
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: flatbuffers::Vector::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 3
    functionsReached:
    - flatbuffers::Vector::size
    - flatbuffers::Vector::Data
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: flatbuffers::Vector::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 3
    functionsReached:
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:209,1
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: flatbuffers::Vector::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Vector::end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:211,1
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: flatbuffers::Vector::rbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Vector::end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:214,1
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: flatbuffers::Vector::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 1
    functionsReached:
    - reverse_iterator
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:216,1
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: flatbuffers::Vector::rend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: flatbuffers::Vector::cbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: flatbuffers::Vector::cend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::rbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: flatbuffers::Vector::crbegin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::rbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Vector::rend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: flatbuffers::Vector::crend
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::rend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:230,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:230,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:231,1
    - Dst: flatbuffers::Vector::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: flatbuffers::Vector::Mutate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    - flatbuffers::Vector::data
    linkageType: ''
    returnType: void
    signature: void Mutate(uoffset_t i, const T &val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:238,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:238,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:240,1
    - Dst: flatbuffers::Vector::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:240,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:241,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - val
    argTypes:
    - uoffset_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: flatbuffers::Vector::MutateOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Vector::data
    - static_cast<uoffset_t>
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void MutateOffset(uoffset_t i, const uint8_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:246,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:246,1
    - Dst: const_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: flatbuffers::Vector::GetMutableObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - const_cast<mutable_return_type>
    - SADFRead
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type GetMutableObject(uoffset_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: flatbuffers::Vector::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 19
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: flatbuffers::Vector::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 19
    functionsReached:
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:258,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: flatbuffers::Vector::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 4
    functionsReached:
    - flatbuffers::Vector::Data
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:259,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 259
    functionName: flatbuffers::Vector::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::Vector::Data
    linkageType: ''
    returnType: T
    signature: T *data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::bsearch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:262,1
    - Dst: flatbuffers::Vector::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:263,1
    - Dst: flatbuffers::Vector::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:263,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:269,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: flatbuffers::Vector::LookupByKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - SADFRead
    - flatbuffers::Vector::Data
    - flatbuffers::Vector::size
    - std::bsearch
    linkageType: ''
    returnType: return_type
    signature: return_type LookupByKey(K key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:275,1
    - Dst: flatbuffers::Vector::LookupByKey
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: flatbuffers::Vector::MutableLookupByKey
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Vector::LookupByKey
    - const_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type MutableLookupByKey(K key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const K *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:292,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:293,1
    - Dst: SADFRead
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:294,1
    - Dst: auto::KeyCompareWithValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: flatbuffers::Vector::KeyCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - auto::KeyCompareWithValue
    - reinterpret_cast<const K *>
    - SADFRead
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: int
    signature: int KeyCompare(const void *ap, const void *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    - Dst: Vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: flatbuffers::span<U> make_span(Vector<U> &vec)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<U>
    - Vector<U>::size
    - Vector<U>::data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U> make_span(Vector<U>
      &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    - Dst: Vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: "flatbuffers::span<const U> make_span(\n    const Vector<U> &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::size
    - Vector<U>::data
    - span<const U>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U> make_span(\n
      \   const Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    - Dst: Vector<U>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: "flatbuffers::span<uint8_t> make_bytes_span(\n    Vector<U> &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::size
    - Vector<U>::Data
    - span<uint8_t>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<uint8_t> make_bytes_span(\n
      \   Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    - Dst: Vector<U>::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    - Dst: Vector<U>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: "flatbuffers::span<const uint8_t> make_bytes_span(\n    const Vector<U>
      &vec)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<U>::Data
    - Vector<U>::size
    - span<const uint8_t>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const uint8_t> make_bytes_span(\n
      \   const Vector<U> &vec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:341,1
    - Dst: span<U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<U>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: flatbuffers::span<U> make_span(Vector<U> *ptr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<U>
    - make_span
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<U> make_span(Vector<U>
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:349,1
    - Dst: span<const U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<U>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: "flatbuffers::span<const U> make_span(\n    const Vector<U> *ptr)"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - span<const U>
    - make_span
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: "FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const U> make_span(\n
      \   const Vector<U> *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 356
    functionName: flatbuffers::VectorOfAny::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: flatbuffers::VectorOfAny::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: flatbuffers::VectorOfAny::Data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Vector<Offset<T>> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<Offset<U>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: flatbuffers::VectorCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Vector<Offset<T>> *>
    linkageType: ''
    returnType: Vector<Offset<T>>
    signature: Vector<Offset<T>> *VectorCast(Vector<Offset<U>> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Vector<Offset<T>> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Vector<Offset<U>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: flatbuffers::VectorCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const Vector<Offset<T>> *>
    linkageType: ''
    returnType: Vector<Offset<T>>
    signature: Vector<Offset<T>> *VectorCast(const Vector<Offset<U>> *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: flatbuffers::VectorLength
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    functionUses: 0
    functionsReached:
    - Vector<T>*::size
    linkageType: ''
    returnType: size_t
    signature: size_t VectorLength(const Vector<T> *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:45,1
    - Dst: static_cast<unsigned int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:48,1
    - Dst: static_cast<unsigned int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - char
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: flatbuffers::check_ascii_range
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool check_ascii_range(char x, char a, char b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: flatbuffers::is_alpha
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: flatbuffers::is_alpha_upper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_alpha_upper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:62,1
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - alpha
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: flatbuffers::is_alpha_char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - flatbuffers::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha_char(char c, char alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: flatbuffers::is_digit
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_digit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:76,1
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: flatbuffers::is_xdigit
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::is_digit
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_xdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:80,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::is_alnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::is_digit
    - flatbuffers::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool is_alnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    - Dst: dumb_toupper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: flatbuffers::CharToUpper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<char>
    - dumb_toupper
    linkageType: ''
    returnType: char
    signature: char CharToUpper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    - Dst: cu_strtolower
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: flatbuffers::CharToLower
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - cu_strtolower
    - static_cast<char>
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char CharToLower(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<T>::epsilon
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: flatbuffers::IntToDigitCount
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - std::numeric_limits<T>::epsilon
    linkageType: ''
    returnType: size_t
    signature: size_t IntToDigitCount(T t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IntToDigitCount
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: flatbuffers::NumToStringWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IntToDigitCount
    linkageType: ''
    returnType: size_t
    signature: size_t NumToStringWidth(T t, int precision = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToStringWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:117,1
    - Dst: snprintf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: const_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: std::string::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - fmt
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: flatbuffers::NumToStringImplWrapper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - std::string::size
    - snprintf
    - const_cast<char *>
    - std::string::data
    - flatbuffers::NumToStringWidth
    linkageType: ''
    returnType: std::string
    signature: std::string NumToStringImplWrapper(T t, const char *fmt, int precision
      = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:134,1
    - Dst: static_cast<long long>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:136,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 4
    functionsReached:
    - static_cast<long long>
    - std::stringstream::str
    - flatbuffers::NumToStringImplWrapper
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:143,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<signed char>(signed char t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:146,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<unsigned char>(unsigned char t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:149,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<char>(char t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:163,1
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:165,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:167,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:168,1
    - Dst: auto::find_last_not_of
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:172,1
    - Dst: auto::resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - precision
    argTypes:
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: flatbuffers::FloatToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - auto::resize
    - std::setprecision
    - std::stringstream::str
    - flatbuffers::NumToStringImplWrapper
    - auto::find_last_not_of
    - static_cast<double>
    linkageType: ''
    returnType: std::string
    signature: std::string FloatToString(T t, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FloatToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 7
    functionsReached:
    - flatbuffers::FloatToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<double>(double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FloatToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 7
    functionsReached:
    - flatbuffers::FloatToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<float>(float t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:191,1
    - Dst: std::setw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:196,1
    - Dst: std::setfill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:196,1
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:198,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - i
    - xdigits
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: flatbuffers::IntToStringHex
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::stringstream::str
    - std::setw
    - flatbuffers::NumToStringImplWrapper
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: std::string
    signature: std::string IntToStringHex(int i, int xdigits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: flatbuffers::ClassicLocale::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: locale_type
    signature: locale_type Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtoll_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - val
    - str
    - endptr
    - base
    argTypes:
    - int64_t*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - __strtoll_impl
    linkageType: ''
    returnType: void
    signature: "void strtoval_impl(int64_t *val, const char *str, char **endptr,\n
      \                                int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtoull_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - val
    - str
    - endptr
    - base
    argTypes:
    - uint64_t*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - __strtoull_impl
    linkageType: ''
    returnType: void
    signature: "void strtoval_impl(uint64_t *val, const char *str, char **endptr,\n
      \                                int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtod_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - str
    - endptr
    argTypes:
    - double*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - __strtod_impl
    linkageType: ''
    returnType: void
    signature: void strtoval_impl(double *val, const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtof_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - str
    - endptr
    argTypes:
    - float*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - __strtof_impl
    linkageType: ''
    returnType: void
    signature: void strtoval_impl(float *val, const char *str, char **endptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:287,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:290,1
    - Dst: flatbuffers::is_alpha_char
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:291,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:292,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:294,1
    - Dst: flatbuffers::strtoval_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:298,1
    - Dst: const_cast<char **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: flatbuffers::StringToIntegerImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - flatbuffers::is_digit
    - const_cast<char **>
    - FLATBUFFERS_ASSERT
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::is_alpha_char
    - flatbuffers::strtoval_impl
    linkageType: ''
    returnType: bool
    signature: "bool StringToIntegerImpl(T *val, const char *const str,\n                                const
      int base = 0,\n                                const bool check_errno = true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:312,1
    - Dst: flatbuffers::strtoval_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:314,1
    - Dst: const_cast<char **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:314,1
    - Dst: std::isnan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:317,1
    - Dst: std::numeric_limits<T>::quiet_NaN
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: flatbuffers::StringToFloatImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - const_cast<char **>
    - FLATBUFFERS_ASSERT
    - std::isnan
    - std::numeric_limits<T>::quiet_NaN
    - flatbuffers::strtoval_impl
    linkageType: ''
    returnType: bool
    signature: bool StringToFloatImpl(T *val, const char *const str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:331,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:334,1
    - Dst: flatbuffers::numeric_limits<T>::lowest
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:336,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:338,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:344,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 352
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::numeric_limits<T>::lowest
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, T *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber<int64_t>(const char *str, int64_t *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:360,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::is_digit
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber<uint64_t>(const char *str, uint64_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToFloatImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToFloatImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, float *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToFloatImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToFloatImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, double *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: flatbuffers::StringToInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringToInt(const char *s, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: flatbuffers::StringToUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StringToUInt(const char *s, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: flatbuffers::StringIsFlatbufferNan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferNan(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: flatbuffers::StringIsFlatbufferPositiveInfinity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferPositiveInfinity(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: flatbuffers::StringIsFlatbufferNegativeInfinity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferNegativeInfinity(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::SaveFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - buf
    - binary
    argTypes:
    - char*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: flatbuffers::SaveFile
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - flatbuffers::SaveFile
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool SaveFile(const char *name, const std::string &buf, bool binary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:495,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:499,1
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:504,1
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:508,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ucc
    - out
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: flatbuffers::ToUTF8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<char>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: int
    signature: int ToUTF8(uint32_t ucc, std::string *out)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:532,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - in
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 563
    functionName: flatbuffers::FromUTF8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int FromUTF8(const char **in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    - Dst: length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - in
    - max_length
    - wrapped_line_prefix
    - wrapped_line_suffix
    argTypes:
    - std::string
    - size_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 591
    functionName: flatbuffers::WordWrap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string WordWrap(const std::string in, size_t max_length,\n                            const
      std::string wrapped_line_prefix,\n                            const std::string
      wrapped_line_suffix)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FromUTF8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:614,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:618,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:618,1
    - Dst: std::string::append
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:637,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:637,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:641,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:649,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:651,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:654,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 5
    argNames:
    - s
    - length
    - _text
    - allow_non_utf8
    - natural_utf8
    argTypes:
    - char*
    - size_t
    - std::string*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 662
    functionName: flatbuffers::EscapeString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - std::string::append
    - flatbuffers::IntToStringHex
    - static_cast<uoffset_t>
    - flatbuffers::FromUTF8
    - static_cast<size_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool EscapeString(const char *s, size_t length, std::string *_text,\n
      \                        bool allow_non_utf8, bool natural_utf8)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:670,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:675,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:675,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:679,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:679,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - max_length
    - wrapped_line_prefix
    - wrapped_line_suffix
    argTypes:
    - void*
    - size_t
    - size_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 688
    functionName: flatbuffers::BufferToHexText
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - flatbuffers::IntToStringHex
    - static_cast<uint8_t>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string BufferToHexText(const void *buffer, size_t buffer_size,\n
      \                                  size_t max_length,\n                                   const
      std::string &wrapped_line_prefix,\n                                   const
      std::string &wrapped_line_suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:45,1
    - Dst: static_cast<unsigned int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:48,1
    - Dst: static_cast<unsigned int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - a
    - b
    argTypes:
    - char
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: flatbuffers::check_ascii_range
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned int>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool check_ascii_range(char x, char a, char b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: flatbuffers::is_alpha
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 4
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: flatbuffers::is_alpha_upper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_alpha_upper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:62,1
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - alpha
    argTypes:
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: flatbuffers::is_alpha_char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - FLATBUFFERS_ASSERT
    - flatbuffers::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha_char(char c, char alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: flatbuffers::is_digit
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 4
    functionsReached:
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_digit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:76,1
    - Dst: flatbuffers::check_ascii_range
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: flatbuffers::is_xdigit
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::is_digit
    - flatbuffers::check_ascii_range
    linkageType: ''
    returnType: bool
    signature: bool is_xdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::is_alpha
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:80,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::is_alnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::is_digit
    - flatbuffers::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool is_alnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    - Dst: dumb_toupper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: flatbuffers::CharToUpper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<char>
    - dumb_toupper
    linkageType: ''
    returnType: char
    signature: char CharToUpper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    - Dst: cu_strtolower
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: flatbuffers::CharToLower
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - cu_strtolower
    - static_cast<char>
    - static_cast<unsigned char>
    linkageType: ''
    returnType: char
    signature: char CharToLower(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<T>::epsilon
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: flatbuffers::IntToDigitCount
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - std::numeric_limits<T>::epsilon
    linkageType: ''
    returnType: size_t
    signature: size_t IntToDigitCount(T t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IntToDigitCount
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: flatbuffers::NumToStringWidth
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - flatbuffers::IntToDigitCount
    linkageType: ''
    returnType: size_t
    signature: size_t NumToStringWidth(T t, int precision = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToStringWidth
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:117,1
    - Dst: snprintf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: const_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: std::string::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - fmt
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: flatbuffers::NumToStringImplWrapper
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 3
    functionsReached:
    - std::string::size
    - snprintf
    - const_cast<char *>
    - std::string::data
    - flatbuffers::NumToStringWidth
    linkageType: ''
    returnType: std::string
    signature: std::string NumToStringImplWrapper(T t, const char *fmt, int precision
      = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:134,1
    - Dst: static_cast<long long>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:136,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 7
    functionsReached:
    - static_cast<long long>
    - std::stringstream::str
    - flatbuffers::NumToStringImplWrapper
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString(T t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:143,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<signed char>(signed char t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:146,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<unsigned char>(unsigned char t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:149,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - flatbuffers::NumToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<char>(char t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setprecision
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:163,1
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:165,1
    - Dst: static_cast<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:167,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:168,1
    - Dst: auto::find_last_not_of
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:172,1
    - Dst: auto::resize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - precision
    argTypes:
    - T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: flatbuffers::FloatToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - auto::resize
    - std::setprecision
    - std::stringstream::str
    - flatbuffers::NumToStringImplWrapper
    - auto::find_last_not_of
    - static_cast<double>
    linkageType: ''
    returnType: std::string
    signature: std::string FloatToString(T t, int precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FloatToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 10
    functionsReached:
    - flatbuffers::FloatToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<double>(double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FloatToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::NumToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 10
    functionsReached:
    - flatbuffers::FloatToString
    linkageType: ''
    returnType: std::string
    signature: std::string NumToString<float>(float t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:191,1
    - Dst: std::setw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:196,1
    - Dst: std::setfill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:196,1
    - Dst: std::stringstream::str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:198,1
    - Dst: flatbuffers::NumToStringImplWrapper
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - i
    - xdigits
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: flatbuffers::IntToStringHex
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - std::setfill
    - std::stringstream::str
    - std::setw
    - flatbuffers::NumToStringImplWrapper
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: std::string
    signature: std::string IntToStringHex(int i, int xdigits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: flatbuffers::ClassicLocale::Get
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: locale_type
    signature: locale_type Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: __strtod_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtod_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: __strtof_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtof_impl(s, pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: __strtoull_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoull_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pe
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: __strtoll_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __strtoll_impl(s, pe, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtoll_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - val
    - str
    - endptr
    - base
    argTypes:
    - int64_t*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - __strtoll_impl
    linkageType: ''
    returnType: void
    signature: "void strtoval_impl(int64_t *val, const char *str, char **endptr,\n
      \                                int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtoull_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - val
    - str
    - endptr
    - base
    argTypes:
    - uint64_t*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - __strtoull_impl
    linkageType: ''
    returnType: void
    signature: "void strtoval_impl(uint64_t *val, const char *str, char **endptr,\n
      \                                int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtod_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - str
    - endptr
    argTypes:
    - double*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - __strtod_impl
    linkageType: ''
    returnType: void
    signature: void strtoval_impl(double *val, const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __strtof_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - str
    - endptr
    argTypes:
    - float*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: flatbuffers::strtoval_impl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - __strtof_impl
    linkageType: ''
    returnType: void
    signature: void strtoval_impl(float *val, const char *str, char **endptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:287,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:290,1
    - Dst: flatbuffers::is_alpha_char
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:291,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:292,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:294,1
    - Dst: flatbuffers::strtoval_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:298,1
    - Dst: const_cast<char **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: flatbuffers::StringToIntegerImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 7
    functionsReached:
    - flatbuffers::is_digit
    - const_cast<char **>
    - FLATBUFFERS_ASSERT
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::is_alpha_char
    - flatbuffers::strtoval_impl
    linkageType: ''
    returnType: bool
    signature: "bool StringToIntegerImpl(T *val, const char *const str,\n                                const
      int base = 0,\n                                const bool check_errno = true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:312,1
    - Dst: flatbuffers::strtoval_impl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:314,1
    - Dst: const_cast<char **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:314,1
    - Dst: std::isnan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:317,1
    - Dst: std::numeric_limits<T>::quiet_NaN
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - val
    - str
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: flatbuffers::StringToFloatImpl
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - const_cast<char **>
    - FLATBUFFERS_ASSERT
    - std::isnan
    - std::numeric_limits<T>::quiet_NaN
    - flatbuffers::strtoval_impl
    linkageType: ''
    returnType: bool
    signature: bool StringToFloatImpl(T *val, const char *const str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:331,1
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:334,1
    - Dst: flatbuffers::numeric_limits<T>::lowest
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:336,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:338,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:344,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 352
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::numeric_limits<T>::lowest
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, T *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber<int64_t>(const char *str, int64_t *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:360,1
    - Dst: flatbuffers::is_digit
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - str
    - val
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    - flatbuffers::is_digit
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber<uint64_t>(const char *str, uint64_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToFloatImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToFloatImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, float *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToFloatImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - val
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: flatbuffers::StringToNumber
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToFloatImpl
    linkageType: ''
    returnType: bool
    signature: bool StringToNumber(const char *s, double *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: flatbuffers::StringToInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringToInt(const char *s, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::StringToIntegerImpl
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: flatbuffers::StringToUInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::StringToIntegerImpl
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StringToUInt(const char *s, int base = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: flatbuffers::StringIsFlatbufferNan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferNan(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: flatbuffers::StringIsFlatbufferPositiveInfinity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferPositiveInfinity(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: flatbuffers::StringIsFlatbufferNegativeInfinity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StringIsFlatbufferNegativeInfinity(const std::string &s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::SaveFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - buf
    - binary
    argTypes:
    - char*
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: flatbuffers::SaveFile
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - flatbuffers::SaveFile
    - std::string::size
    - std::string::c_str
    linkageType: ''
    returnType: bool
    signature: bool SaveFile(const char *name, const std::string &buf, bool binary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:495,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:499,1
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:504,1
    - Dst: static_cast<char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:508,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ucc
    - out
    argTypes:
    - uint32_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: flatbuffers::ToUTF8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<char>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: int
    signature: int ToUTF8(uint32_t ucc, std::string *out)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:532,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - in
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 563
    functionName: flatbuffers::FromUTF8
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int FromUTF8(const char **in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    - Dst: length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - in
    - max_length
    - wrapped_line_prefix
    - wrapped_line_suffix
    argTypes:
    - std::string
    - size_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 591
    functionName: flatbuffers::WordWrap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string WordWrap(const std::string in, size_t max_length,\n                            const
      std::string wrapped_line_prefix,\n                            const std::string
      wrapped_line_suffix)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FromUTF8
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:614,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:618,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:618,1
    - Dst: std::string::append
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:637,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:637,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:641,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:649,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:651,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:654,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 5
    argNames:
    - s
    - length
    - _text
    - allow_non_utf8
    - natural_utf8
    argTypes:
    - char*
    - size_t
    - std::string*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 662
    functionName: flatbuffers::EscapeString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 2
    functionsReached:
    - std::string::append
    - flatbuffers::IntToStringHex
    - static_cast<uoffset_t>
    - flatbuffers::FromUTF8
    - static_cast<size_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool EscapeString(const char *s, size_t length, std::string *_text,\n
      \                        bool allow_non_utf8, bool natural_utf8)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:670,1
    - Dst: flatbuffers::IntToStringHex
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:675,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:675,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:679,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:679,1
    - Dst: std::string::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - max_length
    - wrapped_line_prefix
    - wrapped_line_suffix
    argTypes:
    - void*
    - size_t
    - size_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 664
    functionDepth: 4
    functionLinenumber: 664
    functionLinenumberEnd: 688
    functionName: flatbuffers::BufferToHexText
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - flatbuffers::IntToStringHex
    - static_cast<uint8_t>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string BufferToHexText(const void *buffer, size_t buffer_size,\n
      \                                  size_t max_length,\n                                   const
      std::string &wrapped_line_prefix,\n                                   const
      std::string &wrapped_line_suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: (&EnumValuesBaseType())[19]
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseType
    signature: BaseType (&EnumValuesBaseType())[19]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: reflection::EnumNamesBaseType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesBaseType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:122,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:123,1
    - Dst: reflection::EnumNamesBaseType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: reflection::EnumNameBaseType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reflection::EnumNamesBaseType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameBaseType(BaseType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: (&EnumValuesAdvancedFeatures())[4]
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvancedFeatures
    signature: AdvancedFeatures (&EnumValuesAdvancedFeatures())[4]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: reflection::EnumNamesAdvancedFeatures
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesAdvancedFeatures()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:161,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:162,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:162,1
    - Dst: reflection::EnumNamesAdvancedFeatures
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - AdvancedFeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: reflection::EnumNameAdvancedFeatures
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reflection::EnumNamesAdvancedFeatures
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameAdvancedFeatures(AdvancedFeatures e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:183,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:186,1
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:190,1
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:194,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:197,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:198,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:199,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:200,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:201,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:202,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:203,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - VerifyField<int32_t>
    - GetField<int32_t>
    - VerifyField<int8_t>
    - GetField<int8_t>
    - EndTable
    - GetField<uint16_t>
    - VerifyField<uint16_t>
    - VerifyField<uint32_t>
    - GetField<uint32_t>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Type
    signature: struct Type ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: reflection::base_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - GetField<int8_t>
    linkageType: ''
    returnType: reflection::BaseType
    signature: reflection::BaseType base_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: reflection::element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - GetField<int8_t>
    linkageType: ''
    returnType: reflection::BaseType
    signature: reflection::BaseType element() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: reflection::index
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: reflection::fixed_length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t fixed_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: reflection::base_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t base_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: reflection::element_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t element_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:197,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:198,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:199,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:200,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:201,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:202,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:203,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyField<int32_t>
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<uint32_t>
    - VerifyField<int8_t>
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:213,1
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_type
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: reflection::add_base_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_base_type(reflection::BaseType base_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:216,1
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: reflection::add_element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_element(reflection::BaseType element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: reflection::add_index
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_index(int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed_length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: reflection::add_fixed_length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_fixed_length(uint16_t fixed_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: reflection::add_base_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_base_size(uint32_t base_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: reflection::add_element_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_element_size(uint32_t element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: reflection::TypeBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void TypeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:235,1
    - Dst: ::flatbuffers::Offset<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Type>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Type>
    signature: ::flatbuffers::Offset<Type> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeBuilder::add_element_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:250,1
    - Dst: TypeBuilder::add_base_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:251,1
    - Dst: TypeBuilder::add_index
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:252,1
    - Dst: TypeBuilder::add_fixed_length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:253,1
    - Dst: TypeBuilder::add_element
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:254,1
    - Dst: TypeBuilder::add_base_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:255,1
    - Dst: TypeBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: reflection::CreateType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - TypeBuilder::add_fixed_length
    - TypeBuilder::add_index
    - TypeBuilder::add_base_type
    - TypeBuilder::add_base_size
    - TypeBuilder::add_element
    - TypeBuilder::Finish
    - TypeBuilder::add_element_size
    linkageType: ''
    returnType: ::flatbuffers::Offset<Type>
    signature: "::flatbuffers::Offset<Type> CreateType(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    reflection::BaseType base_type = reflection::None,\n    reflection::BaseType
      element = reflection::None,\n    int32_t index = -1,\n    uint16_t fixed_length
      = 0,\n    uint32_t base_size = 4,\n    uint32_t element_size = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:266,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:275,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:278,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:279,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:281,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - strcmp
    - key
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyString
    - VerifyOffset
    - value
    - VerifyTableStart
    linkageType: ''
    returnType: struct KeyValue
    signature: struct KeyValue ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: reflection::key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: KeyValue*::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - KeyValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::key
    - KeyValue*::key
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const KeyValue * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::key
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: reflection::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:278,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:279,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:281,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::key
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - reflection::value
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: reflection::add_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_key(::flatbuffers::Offset<::flatbuffers::String> key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: reflection::add_value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_value(::flatbuffers::Offset<::flatbuffers::String> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: reflection::KeyValueBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void KeyValueBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:302,1
    - Dst: ::flatbuffers::Offset<KeyValue>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:303,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<KeyValue>
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: ::flatbuffers::Offset<KeyValue> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyValueBuilder::add_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:314,1
    - Dst: KeyValueBuilder::add_key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:315,1
    - Dst: KeyValueBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: reflection::CreateKeyValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - KeyValueBuilder::add_value
    - KeyValueBuilder::add_key
    - KeyValueBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: "::flatbuffers::Offset<KeyValue> CreateKeyValue(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> key = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      value = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:323,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:324,1
    - Dst: reflection::CreateKeyValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: reflection::CreateKeyValueDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::CreateKeyValue
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: "::flatbuffers::Offset<KeyValue> CreateKeyValueDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *key = nullptr,\n    const char *value = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:341,1
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:344,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:353,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:356,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:359,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:362,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:363,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:365,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:366,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:368,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:371,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 376
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - value
    - VerifyTable
    - VerifyVector
    - GetField<int64_t>
    - VerifyString
    - documentation
    - union_type
    - VerifyVectorOfTables
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - VerifyField<int64_t>
    - attributes
    - static_cast<int>
    - VerifyTableStart
    linkageType: ''
    returnType: struct EnumVal
    signature: struct EnumVal ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: reflection::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetField<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: EnumVal*::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - EnumVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - EnumVal*::value
    - reflection::value
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const EnumVal * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reflection::value
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(int64_t _value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: reflection::union_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *union_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:362,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:363,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:365,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:366,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: reflection::union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:368,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:371,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - reflection::union_type
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<int64_t>
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: reflection::add_value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_value(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - union_type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: reflection::add_union_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_union_type(::flatbuffers::Offset<reflection::Type> union_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: reflection::EnumValBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void EnumValBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:402,1
    - Dst: ::flatbuffers::Offset<EnumVal>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:403,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<EnumVal>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: ::flatbuffers::Offset<EnumVal> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnumValBuilder::add_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:417,1
    - Dst: EnumValBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:418,1
    - Dst: EnumValBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:419,1
    - Dst: EnumValBuilder::add_union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:420,1
    - Dst: EnumValBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:421,1
    - Dst: EnumValBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: reflection::CreateEnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - EnumValBuilder::add_value
    - EnumValBuilder::add_name
    - EnumValBuilder::add_union_type
    - EnumValBuilder::Finish
    - EnumValBuilder::add_attributes
    - EnumValBuilder::add_documentation
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: "::flatbuffers::Offset<EnumVal> CreateEnumVal(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    int64_t
      value = 0,\n    ::flatbuffers::Offset<reflection::Type> union_type = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:432,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:433,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:434,1
    - Dst: reflection::CreateEnumVal
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: reflection::CreateEnumValDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateEnumVal
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: "::flatbuffers::Offset<EnumVal> CreateEnumValDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    int64_t value = 0,\n    ::flatbuffers::Offset<reflection::Type>
      union_type = 0,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:456,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:465,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:468,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:471,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:474,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:477,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:481,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:484,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:485,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:487,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:490,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:491,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:493,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:496,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:499,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:501,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 503
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - values
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
      *>
    - GetField<uint8_t>
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - declaration_file
    - underlying_type
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Enum
    signature: struct Enum ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: Enum*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Enum*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Enum * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: reflection::values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>> *values()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: reflection::is_union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool is_union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: reflection::underlying_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *underlying_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:484,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:485,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:487,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: reflection::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: reflection::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:490,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:491,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: reflection::underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:493,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:496,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:499,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:501,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - reflection::underlying_type
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::values
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: reflection::add_values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_values(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
      values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:516,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_union
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: reflection::add_is_union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_is_union(bool is_union)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - underlying_type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: reflection::add_underlying_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_underlying_type(::flatbuffers::Offset<reflection::Type> underlying_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: reflection::EnumBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void EnumBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:535,1
    - Dst: ::flatbuffers::Offset<Enum>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:536,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:537,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:538,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Enum>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: ::flatbuffers::Offset<Enum> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnumBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:554,1
    - Dst: EnumBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:555,1
    - Dst: EnumBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:556,1
    - Dst: EnumBuilder::add_underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:557,1
    - Dst: EnumBuilder::add_values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:558,1
    - Dst: EnumBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:559,1
    - Dst: EnumBuilder::add_is_union
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:560,1
    - Dst: EnumBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 562
    functionName: reflection::CreateEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - EnumBuilder::add_attributes
    - EnumBuilder::add_values
    - EnumBuilder::add_declaration_file
    - EnumBuilder::add_documentation
    - EnumBuilder::add_name
    - EnumBuilder::add_is_union
    - EnumBuilder::Finish
    - EnumBuilder::add_underlying_type
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: "::flatbuffers::Offset<Enum> CreateEnum(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
      values = 0,\n    bool is_union = false,\n    ::flatbuffers::Offset<reflection::Type>
      underlying_type = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:573,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:574,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:575,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:576,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:577,1
    - Dst: reflection::CreateEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 587
    functionName: reflection::CreateEnumDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - reflection::CreateEnum
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: "::flatbuffers::Offset<Enum> CreateEnumDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::EnumVal>>
      *values = nullptr,\n    bool is_union = false,\n    ::flatbuffers::Offset<reflection::Type>
      underlying_type = 0,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:607,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:616,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:619,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:622,1
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:625,1
    - Dst: GetField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:628,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:631,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:634,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:637,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:640,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:643,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:646,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:650,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:653,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:654,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:656,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:658,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:659,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:660,1
    - Dst: VerifyField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:661,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:662,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:663,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:664,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:665,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:668,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:671,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:672,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:673,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 675
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyField<double>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - GetField<int64_t>
    - VerifyString
    - documentation
    - GetField<uint16_t>
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - type
    - name
    - GetField<double>
    - VerifyField<uint16_t>
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - VerifyField<int64_t>
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Field
    signature: struct Field ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: Field*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Field*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Field * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: reflection::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 620
    functionName: reflection::id
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: reflection::offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: reflection::default_integer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t default_integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: reflection::default_real
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<double>
    linkageType: ''
    returnType: double
    signature: double default_real() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: reflection::deprecated
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool deprecated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 635
    functionName: reflection::required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool required() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: reflection::key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: reflection::optional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool optional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: reflection::padding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t padding() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:653,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:654,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:656,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: reflection::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:658,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:659,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:660,1
    - Dst: VerifyField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:661,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:662,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:663,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:664,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:665,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:668,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:671,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:672,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:673,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - VerifyField<double>
    - reflection::type
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<int64_t>
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: reflection::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_type(::flatbuffers::Offset<reflection::Type> type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: reflection::add_id
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_id(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: reflection::add_offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_offset(uint16_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_integer
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: reflection::add_default_integer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_default_integer(int64_t default_integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_real
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: reflection::add_default_real
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_default_real(double default_real)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - deprecated
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: reflection::add_deprecated
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_deprecated(bool deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - required
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: reflection::add_required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_required(bool required)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:706,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: reflection::add_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_key(bool key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:715,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optional
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: reflection::add_optional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_optional(bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - padding
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: reflection::add_padding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_padding(uint16_t padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: reflection::FieldBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void FieldBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:725,1
    - Dst: ::flatbuffers::Offset<Field>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:726,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:727,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Field>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: ::flatbuffers::Offset<Field> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldBuilder::add_default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:749,1
    - Dst: FieldBuilder::add_default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:750,1
    - Dst: FieldBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:751,1
    - Dst: FieldBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:752,1
    - Dst: FieldBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:753,1
    - Dst: FieldBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:754,1
    - Dst: FieldBuilder::add_padding
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:755,1
    - Dst: FieldBuilder::add_offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:756,1
    - Dst: FieldBuilder::add_id
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:757,1
    - Dst: FieldBuilder::add_optional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:758,1
    - Dst: FieldBuilder::add_key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:759,1
    - Dst: FieldBuilder::add_required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:760,1
    - Dst: FieldBuilder::add_deprecated
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:761,1
    - Dst: FieldBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 763
    functionName: reflection::CreateField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - FieldBuilder::add_default_integer
    - FieldBuilder::add_offset
    - FieldBuilder::add_default_real
    - FieldBuilder::add_name
    - FieldBuilder::add_documentation
    - FieldBuilder::add_optional
    - FieldBuilder::add_type
    - FieldBuilder::add_deprecated
    - FieldBuilder::add_id
    - FieldBuilder::add_padding
    - FieldBuilder::add_required
    - FieldBuilder::add_attributes
    - FieldBuilder::add_key
    - FieldBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: "::flatbuffers::Offset<Field> CreateField(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<reflection::Type>
      type = 0,\n    uint16_t id = 0,\n    uint16_t offset = 0,\n    int64_t default_integer
      = 0,\n    double default_real = 0.0,\n    bool deprecated = false,\n    bool
      required = false,\n    bool key = false,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    bool optional = false,\n    uint16_t padding = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:780,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:781,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:782,1
    - Dst: reflection::CreateField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 798
    functionName: reflection::CreateFieldDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateField
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: "::flatbuffers::Offset<Field> CreateFieldDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    ::flatbuffers::Offset<reflection::Type>
      type = 0,\n    uint16_t id = 0,\n    uint16_t offset = 0,\n    int64_t default_integer
      = 0,\n    double default_real = 0.0,\n    bool deprecated = false,\n    bool
      required = false,\n    bool key = false,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    bool optional = false,\n    uint16_t padding
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:813,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:822,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:825,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:828,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:831,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:834,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:837,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:841,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:844,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:845,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:847,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:850,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:851,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:852,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:853,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:856,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:859,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:861,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 863
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetField<int32_t>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - fields
    - VerifyOffset
    - VerifyVector
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - VerifyField<int32_t>
    - declaration_file
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Object
    signature: struct Object ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 7
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: Object*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Object*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Object * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: reflection::fields
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>> *fields()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: reflection::is_struct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool is_struct() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: reflection::minalign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t minalign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: reflection::bytesize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t bytesize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:844,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:845,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:847,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: reflection::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: reflection::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:850,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:851,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:852,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:853,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:856,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:859,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:861,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 862
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - VerifyField<int32_t>
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::fields
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fields
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: reflection::add_fields
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_fields(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
      fields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:876,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_struct
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 877
    functionName: reflection::add_is_struct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_is_struct(bool is_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minalign
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: reflection::add_minalign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_minalign(int32_t minalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytesize
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: reflection::add_bytesize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_bytesize(int32_t bytesize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: reflection::ObjectBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ObjectBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:898,1
    - Dst: ::flatbuffers::Offset<Object>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:899,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:900,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 903
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Object>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: ::flatbuffers::Offset<Object> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:917,1
    - Dst: ObjectBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:918,1
    - Dst: ObjectBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:919,1
    - Dst: ObjectBuilder::add_bytesize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:920,1
    - Dst: ObjectBuilder::add_minalign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:921,1
    - Dst: ObjectBuilder::add_fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:922,1
    - Dst: ObjectBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:923,1
    - Dst: ObjectBuilder::add_is_struct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:924,1
    - Dst: ObjectBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 926
    functionName: reflection::CreateObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ObjectBuilder::add_bytesize
    - ObjectBuilder::add_documentation
    - ObjectBuilder::add_is_struct
    - ObjectBuilder::add_minalign
    - ObjectBuilder::add_attributes
    - ObjectBuilder::add_fields
    - ObjectBuilder::Finish
    - ObjectBuilder::add_declaration_file
    - ObjectBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: "::flatbuffers::Offset<Object> CreateObject(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
      fields = 0,\n    bool is_struct = false,\n    int32_t minalign = 0,\n    int32_t
      bytesize = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:938,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:939,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:940,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:941,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:942,1
    - Dst: reflection::CreateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 953
    functionName: reflection::CreateObjectDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateObject
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: "::flatbuffers::Offset<Object> CreateObjectDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::Field>>
      *fields = nullptr,\n    bool is_struct = false,\n    int32_t minalign = 0,\n
      \   int32_t bytesize = 0,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:965,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:974,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:977,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:980,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:983,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:986,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:987,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:989,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:991,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:993,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:996,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:999,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1001
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetPointer<const reflection::Object *>
    - name
    - response
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - request
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct RPCCall
    signature: struct RPCCall ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 966
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 10
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: RPCCall*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - RPCCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - RPCCall*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const RPCCall * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: reflection::request
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *request() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: reflection::response
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *response() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:986,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:987,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:989,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: reflection::request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:991,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: reflection::response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:993,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:996,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:999,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::response
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::request
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: reflection::add_request
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_request(::flatbuffers::Offset<reflection::Object> request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: reflection::add_response
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_response(::flatbuffers::Offset<reflection::Object> response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: reflection::RPCCallBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void RPCCallBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1027,1
    - Dst: ::flatbuffers::Offset<RPCCall>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1028,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1029,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1030,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1033
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<RPCCall>
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: ::flatbuffers::Offset<RPCCall> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCCallBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1044,1
    - Dst: RPCCallBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1045,1
    - Dst: RPCCallBuilder::add_response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1046,1
    - Dst: RPCCallBuilder::add_request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1047,1
    - Dst: RPCCallBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1048,1
    - Dst: RPCCallBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1050
    functionName: reflection::CreateRPCCall
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - RPCCallBuilder::add_response
    - RPCCallBuilder::add_name
    - RPCCallBuilder::add_request
    - RPCCallBuilder::Finish
    - RPCCallBuilder::add_attributes
    - RPCCallBuilder::add_documentation
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: "::flatbuffers::Offset<RPCCall> CreateRPCCall(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<reflection::Object>
      request = 0,\n    ::flatbuffers::Offset<reflection::Object> response = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1059,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1060,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1061,1
    - Dst: reflection::CreateRPCCall
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1069
    functionName: reflection::CreateRPCCallDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - reflection::CreateRPCCall
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: "::flatbuffers::Offset<RPCCall> CreateRPCCallDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    ::flatbuffers::Offset<reflection::Object>
      request = 0,\n    ::flatbuffers::Offset<reflection::Object> response = 0,\n
      \   std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,\n
      \   const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1081,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1090,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1093,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1096,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1100,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1103,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1104,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1106,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1109,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1112,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1115,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1119
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyOffsetRequired
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
      *>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - name
    - EndTable
    - VerifyString
    - documentation
    - VerifyOffset
    - attributes
    - declaration_file
    - VerifyVectorOfStrings
    - VerifyVector
    - calls
    - VerifyTableStart
    linkageType: ''
    returnType: struct Service
    signature: struct Service ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1082
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 13
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: Service*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Service*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Service * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: reflection::calls
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>> *calls()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1094
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 5
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 5
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 2
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1103,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1104,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1106,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: reflection::calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: reflection::calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1109,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1112,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1115,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::calls
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - calls
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: reflection::add_calls
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_calls(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
      calls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1139
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: reflection::ServiceBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ServiceBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1145,1
    - Dst: ::flatbuffers::Offset<Service>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1146,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Service>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: ::flatbuffers::Offset<Service> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServiceBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1160,1
    - Dst: ServiceBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1161,1
    - Dst: ServiceBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1162,1
    - Dst: ServiceBuilder::add_calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1163,1
    - Dst: ServiceBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1164,1
    - Dst: ServiceBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1166
    functionName: reflection::CreateService
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ServiceBuilder::Finish
    - ServiceBuilder::add_declaration_file
    - ServiceBuilder::add_attributes
    - ServiceBuilder::add_calls
    - ServiceBuilder::add_documentation
    - ServiceBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: "::flatbuffers::Offset<Service> CreateService(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
      calls = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1175,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1176,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1177,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1178,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1179,1
    - Dst: reflection::CreateService
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1187
    functionName: reflection::CreateServiceDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - reflection::CreateService
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: "::flatbuffers::Offset<Service> CreateServiceDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::RPCCall>>
      *calls = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1200,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1210,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1213,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1214,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1216,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1221
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyOffsetRequired
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyString
    - VerifyOffset
    - included_filenames
    - filename
    - VerifyVector
    - VerifyVectorOfStrings
    - VerifyTableStart
    linkageType: ''
    returnType: struct SchemaFile
    signature: struct SchemaFile ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1201
    functionName: reflection::filename
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: SchemaFile*::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - SchemaFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::filename
    - SchemaFile*::filename
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const SchemaFile * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::filename
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_filename) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: reflection::included_filenames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *included_filenames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1213,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1214,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1216,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: reflection::included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: reflection::included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - reflection::filename
    - reflection::included_filenames
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: reflection::add_filename
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_filename(::flatbuffers::Offset<::flatbuffers::String> filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - included_filenames
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: reflection::add_included_filenames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_included_filenames(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      included_filenames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: reflection::SchemaFileBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void SchemaFileBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1238,1
    - Dst: ::flatbuffers::Offset<SchemaFile>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1239,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1242
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<SchemaFile>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: ::flatbuffers::Offset<SchemaFile> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SchemaFileBuilder::add_included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1250,1
    - Dst: SchemaFileBuilder::add_filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1251,1
    - Dst: SchemaFileBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1253
    functionName: reflection::CreateSchemaFile
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - SchemaFileBuilder::add_included_filenames
    - SchemaFileBuilder::add_filename
    - SchemaFileBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: "::flatbuffers::Offset<SchemaFile> CreateSchemaFile(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> filename = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      included_filenames = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1259,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1260,1
    - Dst: reflection::CreateSchemaFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 4
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: reflection::CreateSchemaFileDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateSchemaFile
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: "::flatbuffers::Offset<SchemaFile> CreateSchemaFileDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *filename = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *included_filenames = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1280,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1283,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1286,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1289,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1292,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1295,1
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1303,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1306,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1307,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1310,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1313,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1315,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1317,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1319,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1322,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1323,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1326,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1328
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - root_table
    - VerifyField<uint64_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
      *>
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - enums
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
      *>
    - file_ident
    - static_cast<reflection::AdvancedFeatures>
    - VerifyString
    - services
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
      *>
    - GetPointer<const reflection::Object *>
    - objects
    - fbs_files
    - VerifyOffsetRequired
    - GetField<uint64_t>
    - file_ext
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Schema
    signature: struct Schema ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: reflection::objects
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>> *objects()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: reflection::enums
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>> *enums()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: reflection::file_ident
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *file_ident() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1290
    functionName: reflection::file_ext
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *file_ext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1293
    functionName: reflection::root_table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *root_table() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: reflection::services
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>> *services()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: reflection::advanced_features
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - GetField<uint64_t>
    linkageType: ''
    returnType: reflection::AdvancedFeatures
    signature: reflection::AdvancedFeatures advanced_features() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1304
    functionName: reflection::fbs_files
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *fbs_files() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1306,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1307,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: reflection::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: reflection::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1310,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: reflection::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: reflection::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1313,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: reflection::file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1315,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: reflection::file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1317,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: reflection::root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1319,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: reflection::services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: reflection::services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1322,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1323,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: reflection::fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: reflection::fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1326,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1327
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::file_ident
    - reflection::services
    - reflection::enums
    - VerifyField<uint64_t>
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - reflection::objects
    - reflection::root_table
    - ::flatbuffers::Verifier::EndTable
    - reflection::fbs_files
    - reflection::file_ext
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1336
    functionName: reflection::add_objects
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_objects(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
      objects)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enums
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1339
    functionName: reflection::add_enums
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_enums(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
      enums)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_ident
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1342
    functionName: reflection::add_file_ident
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_file_ident(::flatbuffers::Offset<::flatbuffers::String> file_ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_ext
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: reflection::add_file_ext
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_file_ext(::flatbuffers::Offset<::flatbuffers::String> file_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_table
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1348
    functionName: reflection::add_root_table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_root_table(::flatbuffers::Offset<reflection::Object> root_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1351
    functionName: reflection::add_services
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_services(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
      services)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1353,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - advanced_features
    argTypes:
    - reflection::AdvancedFeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: reflection::add_advanced_features
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_advanced_features(reflection::AdvancedFeatures advanced_features)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fbs_files
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1357
    functionName: reflection::add_fbs_files
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_fbs_files(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
      fbs_files)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: reflection::SchemaBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void SchemaBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1363,1
    - Dst: ::flatbuffers::Offset<Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1364,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1365,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1368
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Schema>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: ::flatbuffers::Offset<Schema> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1379,1
    - Dst: SchemaBuilder::add_advanced_features
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1382,1
    - Dst: SchemaBuilder::add_fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1383,1
    - Dst: SchemaBuilder::add_services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1384,1
    - Dst: SchemaBuilder::add_root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1385,1
    - Dst: SchemaBuilder::add_file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1386,1
    - Dst: SchemaBuilder::add_file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1387,1
    - Dst: SchemaBuilder::add_enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1388,1
    - Dst: SchemaBuilder::add_objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1389,1
    - Dst: SchemaBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1391
    functionName: reflection::CreateSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - SchemaBuilder::add_root_table
    - SchemaBuilder::add_file_ext
    - SchemaBuilder::add_file_ident
    - SchemaBuilder::Finish
    - SchemaBuilder::add_enums
    - SchemaBuilder::add_fbs_files
    - SchemaBuilder::add_services
    - SchemaBuilder::add_advanced_features
    - SchemaBuilder::add_objects
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: "::flatbuffers::Offset<Schema> CreateSchema(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
      objects = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
      enums = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> file_ident = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> file_ext = 0,\n    ::flatbuffers::Offset<reflection::Object>
      root_table = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
      services = 0,\n    reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
      fbs_files = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1401,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1403,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1404,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1405,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1406,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1407,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1408,1
    - Dst: reflection::CreateSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1419
    functionName: reflection::CreateSchemaDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - reflection::CreateSchema
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: "::flatbuffers::Offset<Schema> CreateSchemaDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    std::vector<::flatbuffers::Offset<reflection::Object>> *objects
      = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::Enum>> *enums
      = nullptr,\n    const char *file_ident = nullptr,\n    const char *file_ext
      = nullptr,\n    ::flatbuffers::Offset<reflection::Object> root_table = 0,\n
      \   std::vector<::flatbuffers::Offset<reflection::Service>> *services = nullptr,\n
      \   reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),\n
      \   std::vector<::flatbuffers::Offset<reflection::SchemaFile>> *fbs_files =
      nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<reflection::Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1423
    functionName: reflection::GetSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<reflection::Schema>
    linkageType: ''
    returnType: reflection::Schema
    signature: reflection::Schema *GetSchema(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<reflection::Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1427
    functionName: reflection::GetSizePrefixedSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<reflection::Schema>
    linkageType: ''
    returnType: reflection::Schema
    signature: reflection::Schema *GetSizePrefixedSchema(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1431
    functionName: reflection::SchemaIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SchemaIdentifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1434,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1436
    functionName: reflection::SchemaBufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: bool
    signature: bool SchemaBufferHasIdentifier(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1439,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1441
    functionName: reflection::SizePrefixedSchemaBufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: bool
    signature: bool SizePrefixedSchemaBufferHasIdentifier(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1445,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1446
    functionName: reflection::VerifySchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    - reflection::SchemaIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool VerifySchemaBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1450,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1451
    functionName: reflection::VerifySizePrefixedSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    - reflection::SchemaIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedSchemaBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: reflection::SchemaExtension
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SchemaExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1460,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<reflection::Schema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1461
    functionName: reflection::FinishSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishSchemaBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<reflection::Schema> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1466,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<reflection::Schema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1467
    functionName: reflection::FinishSizePrefixedSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedSchemaBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<reflection::Schema> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: (&EnumValuesBaseType())[19]
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BaseType
    signature: BaseType (&EnumValuesBaseType())[19]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: reflection::EnumNamesBaseType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesBaseType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:122,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:123,1
    - Dst: reflection::EnumNamesBaseType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: reflection::EnumNameBaseType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reflection::EnumNamesBaseType
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameBaseType(BaseType e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: (&EnumValuesAdvancedFeatures())[4]
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AdvancedFeatures
    signature: AdvancedFeatures (&EnumValuesAdvancedFeatures())[4]
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: reflection::EnumNamesAdvancedFeatures
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const *EnumNamesAdvancedFeatures()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IsOutRange
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:161,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:162,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:162,1
    - Dst: reflection::EnumNamesAdvancedFeatures
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - AdvancedFeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: reflection::EnumNameAdvancedFeatures
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - reflection::EnumNamesAdvancedFeatures
    - flatbuffers::IsOutRange
    linkageType: ''
    returnType: char
    signature: char *EnumNameAdvancedFeatures(AdvancedFeatures e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:183,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:186,1
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:190,1
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:194,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:197,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:198,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:199,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:200,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:201,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:202,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:203,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - VerifyField<int32_t>
    - GetField<int32_t>
    - VerifyField<int8_t>
    - GetField<int8_t>
    - EndTable
    - GetField<uint16_t>
    - VerifyField<uint16_t>
    - VerifyField<uint32_t>
    - GetField<uint32_t>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Type
    signature: struct Type ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: reflection::base_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - GetField<int8_t>
    linkageType: ''
    returnType: reflection::BaseType
    signature: reflection::BaseType base_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::BaseType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    - Dst: GetField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: reflection::element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::BaseType>
    - GetField<int8_t>
    linkageType: ''
    returnType: reflection::BaseType
    signature: reflection::BaseType element() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: reflection::index
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: reflection::fixed_length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t fixed_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: reflection::base_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t base_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: reflection::element_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t element_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:197,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:198,1
    - Dst: VerifyField<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:199,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:200,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:201,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:202,1
    - Dst: VerifyField<uint32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:203,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyField<int32_t>
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<uint32_t>
    - VerifyField<int8_t>
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:213,1
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_type
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: reflection::add_base_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_base_type(reflection::BaseType base_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:216,1
    - Dst: static_cast<int8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: reflection::add_element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_element(reflection::BaseType element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: reflection::add_index
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_index(int32_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed_length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: reflection::add_fixed_length
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_fixed_length(uint16_t fixed_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: reflection::add_base_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_base_size(uint32_t base_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: reflection::add_element_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_element_size(uint32_t element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: reflection::TypeBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void TypeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:235,1
    - Dst: ::flatbuffers::Offset<Type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Type>
    - EndTable
    linkageType: ''
    returnType: ::flatbuffers::Offset<Type>
    signature: ::flatbuffers::Offset<Type> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeBuilder::add_element_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:250,1
    - Dst: TypeBuilder::add_base_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:251,1
    - Dst: TypeBuilder::add_index
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:252,1
    - Dst: TypeBuilder::add_fixed_length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:253,1
    - Dst: TypeBuilder::add_element
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:254,1
    - Dst: TypeBuilder::add_base_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:255,1
    - Dst: TypeBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: reflection::CreateType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - TypeBuilder::add_fixed_length
    - TypeBuilder::add_index
    - TypeBuilder::add_base_type
    - TypeBuilder::add_base_size
    - TypeBuilder::add_element
    - TypeBuilder::Finish
    - TypeBuilder::add_element_size
    linkageType: ''
    returnType: ::flatbuffers::Offset<Type>
    signature: "::flatbuffers::Offset<Type> CreateType(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    reflection::BaseType base_type = reflection::None,\n    reflection::BaseType
      element = reflection::None,\n    int32_t index = -1,\n    uint16_t fixed_length
      = 0,\n    uint32_t base_size = 4,\n    uint32_t element_size = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:266,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:275,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:278,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:279,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:281,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - strcmp
    - key
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyString
    - VerifyOffset
    - value
    - VerifyTableStart
    linkageType: ''
    returnType: struct KeyValue
    signature: struct KeyValue ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: reflection::key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    - Dst: KeyValue*::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - KeyValue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::key
    - KeyValue*::key
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const KeyValue * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::key
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: reflection::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:278,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:279,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: reflection::key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:280,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:281,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:282,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::key
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - reflection::value
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: reflection::add_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_key(::flatbuffers::Offset<::flatbuffers::String> key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: reflection::add_value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_value(::flatbuffers::Offset<::flatbuffers::String> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: reflection::KeyValueBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void KeyValueBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:302,1
    - Dst: ::flatbuffers::Offset<KeyValue>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:303,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<KeyValue>
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: ::flatbuffers::Offset<KeyValue> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyValueBuilder::add_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:314,1
    - Dst: KeyValueBuilder::add_key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:315,1
    - Dst: KeyValueBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: reflection::CreateKeyValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - KeyValueBuilder::add_value
    - KeyValueBuilder::add_key
    - KeyValueBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: "::flatbuffers::Offset<KeyValue> CreateKeyValue(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> key = 0,\n    ::flatbuffers::Offset<::flatbuffers::String>
      value = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:323,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:324,1
    - Dst: reflection::CreateKeyValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: reflection::CreateKeyValueDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::CreateKeyValue
    - ::flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: ::flatbuffers::Offset<KeyValue>
    signature: "::flatbuffers::Offset<KeyValue> CreateKeyValueDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *key = nullptr,\n    const char *value = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:341,1
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:344,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:353,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:356,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:359,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:362,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:363,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:365,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:366,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:368,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:371,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 376
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - value
    - VerifyTable
    - VerifyVector
    - GetField<int64_t>
    - VerifyString
    - documentation
    - union_type
    - VerifyVectorOfTables
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - VerifyField<int64_t>
    - attributes
    - static_cast<int>
    - VerifyTableStart
    linkageType: ''
    returnType: struct EnumVal
    signature: struct EnumVal ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 16
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: reflection::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 4
    functionsReached:
    - GetField<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    - Dst: EnumVal*::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - EnumVal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - EnumVal*::value
    - reflection::value
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const EnumVal * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    - Dst: reflection::value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - reflection::value
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(int64_t _value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: reflection::union_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *union_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 6
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 6
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:362,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:363,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:364,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:365,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:366,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: reflection::union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:367,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:368,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:369,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:370,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:371,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:372,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:373,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - reflection::union_type
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<int64_t>
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: reflection::add_value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_value(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - union_type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: reflection::add_union_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_union_type(::flatbuffers::Offset<reflection::Type> union_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: reflection::EnumValBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void EnumValBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:402,1
    - Dst: ::flatbuffers::Offset<EnumVal>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:403,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<EnumVal>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: ::flatbuffers::Offset<EnumVal> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnumValBuilder::add_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:417,1
    - Dst: EnumValBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:418,1
    - Dst: EnumValBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:419,1
    - Dst: EnumValBuilder::add_union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:420,1
    - Dst: EnumValBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:421,1
    - Dst: EnumValBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: reflection::CreateEnumVal
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - EnumValBuilder::add_value
    - EnumValBuilder::add_name
    - EnumValBuilder::add_union_type
    - EnumValBuilder::Finish
    - EnumValBuilder::add_attributes
    - EnumValBuilder::add_documentation
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: "::flatbuffers::Offset<EnumVal> CreateEnumVal(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    int64_t
      value = 0,\n    ::flatbuffers::Offset<reflection::Type> union_type = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:432,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:433,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:434,1
    - Dst: reflection::CreateEnumVal
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: reflection::CreateEnumValDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateEnumVal
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<EnumVal>
    signature: "::flatbuffers::Offset<EnumVal> CreateEnumValDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    int64_t value = 0,\n    ::flatbuffers::Offset<reflection::Type>
      union_type = 0,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:456,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:465,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:468,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:471,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:474,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:477,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:481,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:484,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:485,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:487,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:490,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:491,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:493,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:496,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:499,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:501,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 503
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - values
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
      *>
    - GetField<uint8_t>
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - declaration_file
    - underlying_type
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Enum
    signature: struct Enum ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 17
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    - Dst: Enum*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Enum*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Enum * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: reflection::values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>> *values()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: reflection::is_union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool is_union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: reflection::underlying_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *underlying_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 7
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 7
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:484,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:485,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:486,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:487,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: reflection::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:488,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: reflection::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:489,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:490,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:491,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: reflection::underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:492,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:493,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:494,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:495,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:496,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:497,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:498,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:499,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:500,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:501,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - reflection::underlying_type
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::values
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: reflection::add_values
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_values(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
      values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:516,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_union
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: reflection::add_is_union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_is_union(bool is_union)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - underlying_type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: reflection::add_underlying_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_underlying_type(::flatbuffers::Offset<reflection::Type> underlying_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: reflection::EnumBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void EnumBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:535,1
    - Dst: ::flatbuffers::Offset<Enum>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:536,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:537,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:538,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Enum>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: ::flatbuffers::Offset<Enum> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnumBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:554,1
    - Dst: EnumBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:555,1
    - Dst: EnumBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:556,1
    - Dst: EnumBuilder::add_underlying_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:557,1
    - Dst: EnumBuilder::add_values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:558,1
    - Dst: EnumBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:559,1
    - Dst: EnumBuilder::add_is_union
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:560,1
    - Dst: EnumBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 562
    functionName: reflection::CreateEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - EnumBuilder::add_attributes
    - EnumBuilder::add_values
    - EnumBuilder::add_declaration_file
    - EnumBuilder::add_documentation
    - EnumBuilder::add_name
    - EnumBuilder::add_is_union
    - EnumBuilder::Finish
    - EnumBuilder::add_underlying_type
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: "::flatbuffers::Offset<Enum> CreateEnum(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::EnumVal>>>
      values = 0,\n    bool is_union = false,\n    ::flatbuffers::Offset<reflection::Type>
      underlying_type = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:573,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:574,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:575,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:576,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:577,1
    - Dst: reflection::CreateEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 587
    functionName: reflection::CreateEnumDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - reflection::CreateEnum
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Enum>
    signature: "::flatbuffers::Offset<Enum> CreateEnumDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::EnumVal>>
      *values = nullptr,\n    bool is_union = false,\n    ::flatbuffers::Offset<reflection::Type>
      underlying_type = 0,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:607,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:616,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:619,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:622,1
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:625,1
    - Dst: GetField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:628,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:631,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:634,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:637,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:640,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:643,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:646,1
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:650,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:653,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:654,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:656,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:658,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:659,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:660,1
    - Dst: VerifyField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:661,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:662,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:663,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:664,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:665,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:668,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:671,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:672,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:673,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 675
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyField<double>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - GetField<int64_t>
    - VerifyString
    - documentation
    - GetField<uint16_t>
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - type
    - name
    - GetField<double>
    - VerifyField<uint16_t>
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - GetPointer<const reflection::Type *>
    - VerifyField<int64_t>
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Field
    signature: struct Field ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 20
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    - Dst: Field*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Field*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Field*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Field * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Type *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: reflection::type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Type *>
    linkageType: ''
    returnType: reflection::Type
    signature: reflection::Type *type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 620
    functionName: reflection::id
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 623
    functionName: reflection::offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: reflection::default_integer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: int64_t default_integer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 629
    functionName: reflection::default_real
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<double>
    linkageType: ''
    returnType: double
    signature: double default_real() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: reflection::deprecated
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool deprecated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 635
    functionName: reflection::required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool required() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 638
    functionName: reflection::key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 6
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 8
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 8
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: reflection::optional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool optional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: reflection::padding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t padding() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:653,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:654,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:655,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:656,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: reflection::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:657,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:658,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:659,1
    - Dst: VerifyField<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:660,1
    - Dst: VerifyField<double>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:661,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:662,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:663,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:664,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:665,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:666,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:667,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:668,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:669,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:670,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:671,1
    - Dst: VerifyField<uint16_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:672,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:673,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 674
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - VerifyField<double>
    - reflection::type
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - VerifyField<uint16_t>
    - ::flatbuffers::Verifier::EndTable
    - VerifyField<int64_t>
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ::flatbuffers::Offset<reflection::Type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: reflection::add_type
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_type(::flatbuffers::Offset<reflection::Type> type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: reflection::add_id
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_id(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: reflection::add_offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_offset(uint16_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_integer
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 695
    functionName: reflection::add_default_integer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_default_integer(int64_t default_integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_real
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: reflection::add_default_real
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_default_real(double default_real)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - deprecated
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: reflection::add_deprecated
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_deprecated(bool deprecated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:703,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - required
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: reflection::add_required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_required(bool required)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:706,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: reflection::add_key
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_key(bool key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 713
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:715,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optional
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: reflection::add_optional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_optional(bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - padding
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: reflection::add_padding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_padding(uint16_t padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: reflection::FieldBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void FieldBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:725,1
    - Dst: ::flatbuffers::Offset<Field>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:726,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:727,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Field>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: ::flatbuffers::Offset<Field> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldBuilder::add_default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:749,1
    - Dst: FieldBuilder::add_default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:750,1
    - Dst: FieldBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:751,1
    - Dst: FieldBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:752,1
    - Dst: FieldBuilder::add_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:753,1
    - Dst: FieldBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:754,1
    - Dst: FieldBuilder::add_padding
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:755,1
    - Dst: FieldBuilder::add_offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:756,1
    - Dst: FieldBuilder::add_id
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:757,1
    - Dst: FieldBuilder::add_optional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:758,1
    - Dst: FieldBuilder::add_key
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:759,1
    - Dst: FieldBuilder::add_required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:760,1
    - Dst: FieldBuilder::add_deprecated
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:761,1
    - Dst: FieldBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 763
    functionName: reflection::CreateField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - FieldBuilder::add_default_integer
    - FieldBuilder::add_offset
    - FieldBuilder::add_default_real
    - FieldBuilder::add_name
    - FieldBuilder::add_documentation
    - FieldBuilder::add_optional
    - FieldBuilder::add_type
    - FieldBuilder::add_deprecated
    - FieldBuilder::add_id
    - FieldBuilder::add_padding
    - FieldBuilder::add_required
    - FieldBuilder::add_attributes
    - FieldBuilder::add_key
    - FieldBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: "::flatbuffers::Offset<Field> CreateField(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<reflection::Type>
      type = 0,\n    uint16_t id = 0,\n    uint16_t offset = 0,\n    int64_t default_integer
      = 0,\n    double default_real = 0.0,\n    bool deprecated = false,\n    bool
      required = false,\n    bool key = false,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    bool optional = false,\n    uint16_t padding = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:780,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:781,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:782,1
    - Dst: reflection::CreateField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 798
    functionName: reflection::CreateFieldDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateField
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Field>
    signature: "::flatbuffers::Offset<Field> CreateFieldDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    ::flatbuffers::Offset<reflection::Type>
      type = 0,\n    uint16_t id = 0,\n    uint16_t offset = 0,\n    int64_t default_integer
      = 0,\n    double default_real = 0.0,\n    bool deprecated = false,\n    bool
      required = false,\n    bool key = false,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    bool optional = false,\n    uint16_t padding
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:813,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:822,1
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:825,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:828,1
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:831,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:834,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:837,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:841,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:844,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:845,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:847,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:850,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:851,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:852,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:853,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:856,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:859,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:861,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 863
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetField<int32_t>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - VerifyField<uint8_t>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - fields
    - VerifyOffset
    - VerifyVector
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetField<uint8_t>
    - name
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - VerifyField<int32_t>
    - declaration_file
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct Object
    signature: struct Object ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 814
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 23
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    - Dst: Object*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Object*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Object * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: reflection::fields
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>> *fields()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: reflection::is_struct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool is_struct() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: reflection::minalign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t minalign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: reflection::bytesize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetField<int32_t>
    linkageType: ''
    returnType: int32_t
    signature: int32_t bytesize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 9
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 9
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 4
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:844,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:845,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:846,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:847,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: reflection::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:848,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: reflection::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:849,1
    - Dst: VerifyField<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:850,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:851,1
    - Dst: VerifyField<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:852,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:853,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:854,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:855,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:856,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:857,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:858,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:859,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:860,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:861,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 862
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - VerifyField<int32_t>
    - VerifyField<uint8_t>
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::fields
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fields
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 874
    functionName: reflection::add_fields
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_fields(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
      fields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:876,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_struct
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 877
    functionName: reflection::add_is_struct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_is_struct(bool is_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minalign
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: reflection::add_minalign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_minalign(int32_t minalign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytesize
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: reflection::add_bytesize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_bytesize(int32_t bytesize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: reflection::ObjectBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ObjectBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:898,1
    - Dst: ::flatbuffers::Offset<Object>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:899,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:900,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 903
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Object>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: ::flatbuffers::Offset<Object> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjectBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:917,1
    - Dst: ObjectBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:918,1
    - Dst: ObjectBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:919,1
    - Dst: ObjectBuilder::add_bytesize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:920,1
    - Dst: ObjectBuilder::add_minalign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:921,1
    - Dst: ObjectBuilder::add_fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:922,1
    - Dst: ObjectBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:923,1
    - Dst: ObjectBuilder::add_is_struct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:924,1
    - Dst: ObjectBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 926
    functionName: reflection::CreateObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - ObjectBuilder::add_bytesize
    - ObjectBuilder::add_documentation
    - ObjectBuilder::add_is_struct
    - ObjectBuilder::add_minalign
    - ObjectBuilder::add_attributes
    - ObjectBuilder::add_fields
    - ObjectBuilder::Finish
    - ObjectBuilder::add_declaration_file
    - ObjectBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: "::flatbuffers::Offset<Object> CreateObject(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Field>>>
      fields = 0,\n    bool is_struct = false,\n    int32_t minalign = 0,\n    int32_t
      bytesize = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:938,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:939,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:940,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:941,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:942,1
    - Dst: reflection::CreateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 953
    functionName: reflection::CreateObjectDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateObject
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<Object>
    signature: "::flatbuffers::Offset<Object> CreateObjectDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::Field>>
      *fields = nullptr,\n    bool is_struct = false,\n    int32_t minalign = 0,\n
      \   int32_t bytesize = 0,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:965,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:974,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:977,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:980,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:983,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:986,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:987,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:989,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:991,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:993,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:996,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:999,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1001
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - VerifyString
    - documentation
    - VerifyVectorOfTables
    - GetPointer<const reflection::Object *>
    - name
    - response
    - VerifyVectorOfStrings
    - VerifyOffsetRequired
    - request
    - attributes
    - VerifyTableStart
    linkageType: ''
    returnType: struct RPCCall
    signature: struct RPCCall ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 966
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 26
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    - Dst: RPCCall*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - RPCCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - RPCCall*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const RPCCall * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 972
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 975
    functionName: reflection::request
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *request() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: reflection::response
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *response() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 10
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 10
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:986,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:987,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:988,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:989,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: reflection::request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:990,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:991,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: reflection::response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:992,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:993,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:994,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:995,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:996,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:997,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:998,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:999,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::response
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::request
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: reflection::add_request
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_request(::flatbuffers::Offset<reflection::Object> request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: reflection::add_response
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_response(::flatbuffers::Offset<reflection::Object> response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: reflection::RPCCallBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void RPCCallBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1027,1
    - Dst: ::flatbuffers::Offset<RPCCall>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1028,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1029,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1030,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1033
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<RPCCall>
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: ::flatbuffers::Offset<RPCCall> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RPCCallBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1044,1
    - Dst: RPCCallBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1045,1
    - Dst: RPCCallBuilder::add_response
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1046,1
    - Dst: RPCCallBuilder::add_request
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1047,1
    - Dst: RPCCallBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1048,1
    - Dst: RPCCallBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1050
    functionName: reflection::CreateRPCCall
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - RPCCallBuilder::add_response
    - RPCCallBuilder::add_name
    - RPCCallBuilder::add_request
    - RPCCallBuilder::Finish
    - RPCCallBuilder::add_attributes
    - RPCCallBuilder::add_documentation
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: "::flatbuffers::Offset<RPCCall> CreateRPCCall(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<reflection::Object>
      request = 0,\n    ::flatbuffers::Offset<reflection::Object> response = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1059,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1060,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1061,1
    - Dst: reflection::CreateRPCCall
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1069
    functionName: reflection::CreateRPCCallDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - reflection::CreateRPCCall
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    linkageType: ''
    returnType: ::flatbuffers::Offset<RPCCall>
    signature: "::flatbuffers::Offset<RPCCall> CreateRPCCallDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    ::flatbuffers::Offset<reflection::Object>
      request = 0,\n    ::flatbuffers::Offset<reflection::Object> response = 0,\n
      \   std::vector<::flatbuffers::Offset<reflection::KeyValue>> *attributes = nullptr,\n
      \   const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *documentation
      = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1081,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1090,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1093,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1096,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1100,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1103,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1104,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1106,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1109,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1112,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1115,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1119
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyOffsetRequired
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
      *>
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    - GetPointer<const ::flatbuffers::String *>
    - name
    - EndTable
    - VerifyString
    - documentation
    - VerifyOffset
    - attributes
    - declaration_file
    - VerifyVectorOfStrings
    - VerifyVector
    - calls
    - VerifyTableStart
    linkageType: ''
    returnType: struct Service
    signature: struct Service ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1082
    functionName: reflection::name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 29
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    - Dst: Service*::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - Service*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Service*::name
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const Service * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::name
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: reflection::calls
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>> *calls()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1094
    functionName: reflection::attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 11
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: reflection::documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 11
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: reflection::declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 5
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *declaration_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1103,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1104,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: reflection::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1105,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1106,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: reflection::calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1107,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: reflection::calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1108,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1109,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1110,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: reflection::attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1111,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1112,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1113,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: reflection::documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1114,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1115,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: reflection::declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1116,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::attributes
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - reflection::calls
    - ::flatbuffers::Verifier::VerifyVector
    - reflection::documentation
    - VerifyOffset
    - reflection::declaration_file
    - ::flatbuffers::Verifier::EndTable
    - VerifyTableStart
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - reflection::name
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1127
    functionName: reflection::add_name
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_name(::flatbuffers::Offset<::flatbuffers::String> name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - calls
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: reflection::add_calls
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_calls(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
      calls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: reflection::add_attributes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_attributes(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - documentation
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: reflection::add_documentation
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_documentation(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - declaration_file
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1139
    functionName: reflection::add_declaration_file
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_declaration_file(::flatbuffers::Offset<::flatbuffers::String>
      declaration_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: reflection::ServiceBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void ServiceBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1145,1
    - Dst: ::flatbuffers::Offset<Service>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1146,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - Required
    - EndTable
    - ::flatbuffers::Offset<Service>
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: ::flatbuffers::Offset<Service> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServiceBuilder::add_declaration_file
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1160,1
    - Dst: ServiceBuilder::add_documentation
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1161,1
    - Dst: ServiceBuilder::add_attributes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1162,1
    - Dst: ServiceBuilder::add_calls
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1163,1
    - Dst: ServiceBuilder::add_name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1164,1
    - Dst: ServiceBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1166
    functionName: reflection::CreateService
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - ServiceBuilder::Finish
    - ServiceBuilder::add_declaration_file
    - ServiceBuilder::add_attributes
    - ServiceBuilder::add_calls
    - ServiceBuilder::add_documentation
    - ServiceBuilder::add_name
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: "::flatbuffers::Offset<Service> CreateService(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> name = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::RPCCall>>>
      calls = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::KeyValue>>>
      attributes = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      documentation = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> declaration_file
      = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1175,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1176,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1177,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1178,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1179,1
    - Dst: reflection::CreateService
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1187
    functionName: reflection::CreateServiceDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - reflection::CreateService
    linkageType: ''
    returnType: ::flatbuffers::Offset<Service>
    signature: "::flatbuffers::Offset<Service> CreateServiceDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *name = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::RPCCall>>
      *calls = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::KeyValue>>
      *attributes = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *documentation = nullptr,\n    const char *declaration_file = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1200,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1210,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1213,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1214,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1216,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1192
    functionDepth: 3
    functionLinenumber: 1192
    functionLinenumberEnd: 1221
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    - strcmp
    - VerifyOffsetRequired
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - VerifyString
    - VerifyOffset
    - included_filenames
    - filename
    - VerifyVector
    - VerifyVectorOfStrings
    - VerifyTableStart
    linkageType: ''
    returnType: struct SchemaFile
    signature: struct SchemaFile ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1201
    functionName: reflection::filename
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 3
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    - Dst: SchemaFile*::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - SchemaFile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    functionName: reflection::KeyCompareLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::filename
    - SchemaFile*::filename
    linkageType: ''
    returnType: bool
    signature: bool KeyCompareLessThan(const SchemaFile * const o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: reflection::KeyCompareWithValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - strcmp
    - reflection::filename
    linkageType: ''
    returnType: int
    signature: int KeyCompareWithValue(const char *_filename) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: reflection::included_filenames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>
      *included_filenames() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1213,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1214,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: reflection::filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1215,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1216,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: reflection::included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1217,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: reflection::included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1218,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1220
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - ::flatbuffers::Verifier::VerifyVectorOfStrings
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - reflection::filename
    - reflection::included_filenames
    - ::flatbuffers::Verifier::EndTable
    - ::flatbuffers::Verifier::VerifyString
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: reflection::add_filename
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_filename(::flatbuffers::Offset<::flatbuffers::String> filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - included_filenames
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: reflection::add_included_filenames
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_included_filenames(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      included_filenames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: reflection::SchemaFileBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void SchemaFileBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1238,1
    - Dst: ::flatbuffers::Offset<SchemaFile>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1239,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1242
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<SchemaFile>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: ::flatbuffers::Offset<SchemaFile> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SchemaFileBuilder::add_included_filenames
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1250,1
    - Dst: SchemaFileBuilder::add_filename
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1251,1
    - Dst: SchemaFileBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1253
    functionName: reflection::CreateSchemaFile
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - SchemaFileBuilder::add_included_filenames
    - SchemaFileBuilder::add_filename
    - SchemaFileBuilder::Finish
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: "::flatbuffers::Offset<SchemaFile> CreateSchemaFile(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::String> filename = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>>
      included_filenames = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1259,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1260,1
    - Dst: reflection::CreateSchemaFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 4
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: reflection::CreateSchemaFileDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::FlatBufferBuilder::CreateVector
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - reflection::CreateSchemaFile
    linkageType: ''
    returnType: ::flatbuffers::Offset<SchemaFile>
    signature: "::flatbuffers::Offset<SchemaFile> CreateSchemaFileDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    const char *filename = nullptr,\n    const std::vector<::flatbuffers::Offset<::flatbuffers::String>>
      *included_filenames = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1280,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1283,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1286,1
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1289,1
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1292,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1295,1
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1303,1
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1306,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1307,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1310,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1313,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1315,1
    - Dst: VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1317,1
    - Dst: VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1319,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1322,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1323,1
    - Dst: VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1326,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1328
    functionName: ::flatbuffers::Table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - root_table
    - VerifyField<uint64_t>
    - GetPointer<const ::flatbuffers::String *>
    - EndTable
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
      *>
    - VerifyOffset
    - VerifyTable
    - VerifyVector
    - enums
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
      *>
    - file_ident
    - static_cast<reflection::AdvancedFeatures>
    - VerifyString
    - services
    - VerifyVectorOfTables
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
      *>
    - GetPointer<const reflection::Object *>
    - objects
    - fbs_files
    - VerifyOffsetRequired
    - GetField<uint64_t>
    - file_ext
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *>
    - VerifyTableStart
    linkageType: ''
    returnType: struct Schema
    signature: struct Schema ::flatbuffers::Table
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: reflection::objects
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>> *objects()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: reflection::enums
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>> *enums()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: reflection::file_ident
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *file_ident() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1290
    functionName: reflection::file_ext
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::String *>
    linkageType: ''
    returnType: ::flatbuffers::String
    signature: ::flatbuffers::String *file_ext() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const reflection::Object *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1293
    functionName: reflection::root_table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const reflection::Object *>
    linkageType: ''
    returnType: reflection::Object
    signature: reflection::Object *root_table() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1296
    functionName: reflection::services
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>> *services()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    - Dst: GetField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: reflection::advanced_features
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - GetField<uint64_t>
    linkageType: ''
    returnType: reflection::AdvancedFeatures
    signature: reflection::AdvancedFeatures advanced_features() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
        *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1304
    functionName: reflection::fbs_files
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *>
    linkageType: ''
    returnType: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
    signature: ::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>
      *fbs_files() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1306,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1307,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: reflection::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1308,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: reflection::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1309,1
    - Dst: VerifyOffsetRequired
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1310,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: reflection::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1311,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: reflection::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1312,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1313,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: reflection::file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1314,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1315,1
    - Dst: ::flatbuffers::Verifier::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: reflection::file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1316,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1317,1
    - Dst: ::flatbuffers::Verifier::VerifyTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: reflection::root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1318,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1319,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: reflection::services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1320,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: reflection::services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1321,1
    - Dst: VerifyField<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1322,1
    - Dst: VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1323,1
    - Dst: ::flatbuffers::Verifier::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: reflection::fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1324,1
    - Dst: ::flatbuffers::Verifier::VerifyVectorOfTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: reflection::fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1325,1
    - Dst: ::flatbuffers::Verifier::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1326,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1327
    functionName: reflection::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - VerifyOffsetRequired
    - reflection::file_ident
    - reflection::services
    - reflection::enums
    - VerifyField<uint64_t>
    - ::flatbuffers::Verifier::VerifyVector
    - VerifyOffset
    - reflection::objects
    - reflection::root_table
    - ::flatbuffers::Verifier::EndTable
    - reflection::fbs_files
    - reflection::file_ext
    - ::flatbuffers::Verifier::VerifyVectorOfTables
    - ::flatbuffers::Verifier::VerifyString
    - ::flatbuffers::Verifier::VerifyTable
    - VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool Verify(::flatbuffers::Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - objects
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1336
    functionName: reflection::add_objects
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_objects(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
      objects)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enums
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1339
    functionName: reflection::add_enums
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_enums(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
      enums)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_ident
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1342
    functionName: reflection::add_file_ident
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_file_ident(::flatbuffers::Offset<::flatbuffers::String> file_ident)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_ext
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1345
    functionName: reflection::add_file_ext
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_file_ext(::flatbuffers::Offset<::flatbuffers::String> file_ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root_table
    argTypes:
    - ::flatbuffers::Offset<reflection::Object>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1348
    functionName: reflection::add_root_table
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_root_table(::flatbuffers::Offset<reflection::Object> root_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - services
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1351
    functionName: reflection::add_services
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_services(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
      services)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1353,1
    - Dst: static_cast<uint64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - advanced_features
    argTypes:
    - reflection::AdvancedFeatures
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: reflection::add_advanced_features
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - AddElement
    linkageType: ''
    returnType: void
    signature: void add_advanced_features(reflection::AdvancedFeatures advanced_features)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fbs_files
    argTypes:
    - ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1357
    functionName: reflection::add_fbs_files
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - AddOffset
    linkageType: ''
    returnType: void
    signature: void add_fbs_files(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
      fbs_files)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StartTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: reflection::SchemaBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - StartTable
    linkageType: ''
    returnType: void
    signature: void SchemaBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1363,1
    - Dst: ::flatbuffers::Offset<Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1364,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1365,1
    - Dst: Required
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1368
    functionName: reflection::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Offset<Schema>
    - EndTable
    - Required
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: ::flatbuffers::Offset<Schema> Finish()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1379,1
    - Dst: SchemaBuilder::add_advanced_features
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1382,1
    - Dst: SchemaBuilder::add_fbs_files
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1383,1
    - Dst: SchemaBuilder::add_services
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1384,1
    - Dst: SchemaBuilder::add_root_table
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1385,1
    - Dst: SchemaBuilder::add_file_ext
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1386,1
    - Dst: SchemaBuilder::add_file_ident
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1387,1
    - Dst: SchemaBuilder::add_enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1388,1
    - Dst: SchemaBuilder::add_objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1389,1
    - Dst: SchemaBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1391
    functionName: reflection::CreateSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 1
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - SchemaBuilder::add_root_table
    - SchemaBuilder::add_file_ext
    - SchemaBuilder::add_file_ident
    - SchemaBuilder::Finish
    - SchemaBuilder::add_enums
    - SchemaBuilder::add_fbs_files
    - SchemaBuilder::add_services
    - SchemaBuilder::add_advanced_features
    - SchemaBuilder::add_objects
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: "::flatbuffers::Offset<Schema> CreateSchema(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Object>>>
      objects = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Enum>>>
      enums = 0,\n    ::flatbuffers::Offset<::flatbuffers::String> file_ident = 0,\n
      \   ::flatbuffers::Offset<::flatbuffers::String> file_ext = 0,\n    ::flatbuffers::Offset<reflection::Object>
      root_table = 0,\n    ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::Service>>>
      services = 0,\n    reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),\n
      \   ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<reflection::SchemaFile>>>
      fbs_files = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<reflection::AdvancedFeatures>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1401,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1403,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1404,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1405,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1406,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1407,1
    - Dst: ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1408,1
    - Dst: reflection::CreateSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _fbb
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1419
    functionName: reflection::CreateSchemaDirect
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - static_cast<reflection::AdvancedFeatures>
    - ::flatbuffers::FlatBufferBuilder::CreateString
    - ::flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - reflection::CreateSchema
    linkageType: ''
    returnType: ::flatbuffers::Offset<Schema>
    signature: "::flatbuffers::Offset<Schema> CreateSchemaDirect(\n    ::flatbuffers::FlatBufferBuilder
      &_fbb,\n    std::vector<::flatbuffers::Offset<reflection::Object>> *objects
      = nullptr,\n    std::vector<::flatbuffers::Offset<reflection::Enum>> *enums
      = nullptr,\n    const char *file_ident = nullptr,\n    const char *file_ext
      = nullptr,\n    ::flatbuffers::Offset<reflection::Object> root_table = 0,\n
      \   std::vector<::flatbuffers::Offset<reflection::Service>> *services = nullptr,\n
      \   reflection::AdvancedFeatures advanced_features = static_cast<reflection::AdvancedFeatures>(0),\n
      \   std::vector<::flatbuffers::Offset<reflection::SchemaFile>> *fbs_files =
      nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetRoot<reflection::Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1423
    functionName: reflection::GetSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetRoot<reflection::Schema>
    linkageType: ''
    returnType: reflection::Schema
    signature: reflection::Schema *GetSchema(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::GetSizePrefixedRoot<reflection::Schema>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1427
    functionName: reflection::GetSizePrefixedSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::GetSizePrefixedRoot<reflection::Schema>
    linkageType: ''
    returnType: reflection::Schema
    signature: reflection::Schema *GetSizePrefixedSchema(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1431
    functionName: reflection::SchemaIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SchemaIdentifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1434,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1436
    functionName: reflection::SchemaBufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: bool
    signature: bool SchemaBufferHasIdentifier(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1439,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1441
    functionName: reflection::SizePrefixedSchemaBufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: bool
    signature: bool SizePrefixedSchemaBufferHasIdentifier(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1445,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1446
    functionName: reflection::VerifySchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifyBuffer
    - reflection::SchemaIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool VerifySchemaBuffer(\n    ::flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::Verifier::VerifySizePrefixedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1450,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - ::flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1451
    functionName: reflection::VerifySizePrefixedSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - ::flatbuffers::Verifier::VerifySizePrefixedBuffer
    - reflection::SchemaIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool VerifySizePrefixedSchemaBuffer(\n    ::flatbuffers::Verifier
      &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: reflection::SchemaExtension
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SchemaExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1460,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<reflection::Schema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1461
    functionName: reflection::FinishSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - ::flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishSchemaBuffer(\n    ::flatbuffers::FlatBufferBuilder &fbb,\n
      \   ::flatbuffers::Offset<reflection::Schema> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1466,1
    - Dst: reflection::SchemaIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h:1466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - root
    argTypes:
    - ::flatbuffers::FlatBufferBuilder
    - ::flatbuffers::Offset<reflection::Schema>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1467
    functionName: reflection::FinishSizePrefixedSchemaBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    functionUses: 0
    functionsReached:
    - reflection::SchemaIdentifier
    - ::flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixedSchemaBuffer(\n    ::flatbuffers::FlatBufferBuilder
      &fbb,\n    ::flatbuffers::Offset<reflection::Schema> root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadScalar<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: flatbuffers::Table::GetVTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - ReadScalar<soffset_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetVTable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetVTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:37,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:39,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: flatbuffers::Table::GetOptionalFieldOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Table::GetVTable
    - ReadScalar<voffset_t>
    linkageType: ''
    returnType: voffset_t
    signature: voffset_t GetOptionalFieldOffset(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:46,1
    - Dst: ReadScalar<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - defaultval
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: flatbuffers::Table::GetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - ReadScalar<T>
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: T
    signature: T GetField(voffset_t field, T defaultval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:51,1
    - Dst: reinterpret_cast<P>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:53,1
    - Dst: ReadScalar<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: flatbuffers::Table::GetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<P>
    - flatbuffers::Table::GetOptionalFieldOffset
    - ReadScalar<uoffset_t>
    linkageType: ''
    returnType: P
    signature: P GetPointer(voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: flatbuffers::Table::GetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - const_cast<Table *>
    linkageType: ''
    returnType: P
    signature: P GetPointer(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:61,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:62,1
    - Dst: reinterpret_cast<P>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: flatbuffers::Table::GetStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<P>
    - flatbuffers::Table::GetOptionalFieldOffset
    - const_cast<uint8_t *>
    linkageType: ''
    returnType: P
    signature: P GetStruct(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:68,1
    - Dst: Optional<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: static_cast<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: ReadScalar<Raw>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: Optional<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: flatbuffers::Table::GetOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - static_cast<Face>
    - ReadScalar<Raw>
    - flatbuffers::Table::GetOptionalFieldOffset
    - Optional<Face>
    linkageType: ''
    returnType: flatbuffers::Optional<Face>
    signature: flatbuffers::Optional<Face> GetOptional(voffset_t field) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:75,1
    - Dst: IsTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:76,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - val
    - def
    argTypes:
    - voffset_t
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: flatbuffers::Table::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    - IsTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool SetField(voffset_t field, T val, T def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:81,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - val
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: flatbuffers::Table::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool SetField(voffset_t field, T val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:88,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:90,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - val
    argTypes:
    - voffset_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: flatbuffers::Table::SetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: bool
    signature: bool SetPointer(voffset_t field, const uint8_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: flatbuffers::Table::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: flatbuffers::Table::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - const_cast<Table *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: flatbuffers::Table::CheckField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool CheckField(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: flatbuffers::Table::VerifyTableStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool VerifyTableStart(Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:119,1
    - Dst: Verifier::VerifyField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - verifier
    - field
    - align
    argTypes:
    - Verifier
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: flatbuffers::Table::VerifyField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyField
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: "bool VerifyField(const Verifier &verifier, voffset_t field,\n                   size_t
      align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:128,1
    - Dst: Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:129,1
    - Dst: Verifier::VerifyField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - verifier
    - field
    - align
    argTypes:
    - Verifier
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: flatbuffers::Table::VerifyFieldRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyField
    - flatbuffers::Table::GetOptionalFieldOffset
    - Verifier::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFieldRequired(const Verifier &verifier, voffset_t field,\n
      \                          size_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:135,1
    - Dst: Verifier::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - verifier
    - field
    argTypes:
    - Verifier
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: flatbuffers::Table::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyOffset
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool VerifyOffset(const Verifier &verifier, voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:140,1
    - Dst: Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:141,1
    - Dst: Verifier::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - verifier
    - field
    argTypes:
    - Verifier
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: flatbuffers::Table::VerifyOffsetRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyOffset
    - flatbuffers::Table::GetOptionalFieldOffset
    - Verifier::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyOffsetRequired(const Verifier &verifier, voffset_t field)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:160,1
    - Dst: Optional<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:162,1
    - Dst: ReadScalar<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:162,1
    - Dst: Optional<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: "Table::GetOptional<uint8_t, bool>(\n    voffset_t field) const"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Optional<bool>
    - ReadScalar<uint8_t>
    - GetOptionalFieldOffset
    linkageType: ''
    returnType: flatbuffers::Optional<bool>
    signature: "flatbuffers::Optional<bool> Table::GetOptional<uint8_t, bool>(\n    voffset_t
      field) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadScalar<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: flatbuffers::Table::GetVTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 1
    functionsReached:
    - ReadScalar<soffset_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetVTable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetVTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:37,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:39,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: flatbuffers::Table::GetOptionalFieldOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 13
    functionsReached:
    - flatbuffers::Table::GetVTable
    - ReadScalar<voffset_t>
    linkageType: ''
    returnType: voffset_t
    signature: voffset_t GetOptionalFieldOffset(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:46,1
    - Dst: ReadScalar<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - defaultval
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: flatbuffers::Table::GetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - ReadScalar<T>
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: T
    signature: T GetField(voffset_t field, T defaultval) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:51,1
    - Dst: reinterpret_cast<P>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:53,1
    - Dst: ReadScalar<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: flatbuffers::Table::GetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<P>
    - flatbuffers::Table::GetOptionalFieldOffset
    - ReadScalar<uoffset_t>
    linkageType: ''
    returnType: P
    signature: P GetPointer(voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: flatbuffers::Table::GetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - const_cast<Table *>
    linkageType: ''
    returnType: P
    signature: P GetPointer(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:61,1
    - Dst: const_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:62,1
    - Dst: reinterpret_cast<P>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: flatbuffers::Table::GetStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<P>
    - flatbuffers::Table::GetOptionalFieldOffset
    - const_cast<uint8_t *>
    linkageType: ''
    returnType: P
    signature: P GetStruct(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:68,1
    - Dst: Optional<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: static_cast<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: ReadScalar<Raw>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:70,1
    - Dst: Optional<Face>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: flatbuffers::Table::GetOptional
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - static_cast<Face>
    - ReadScalar<Raw>
    - flatbuffers::Table::GetOptionalFieldOffset
    - Optional<Face>
    linkageType: ''
    returnType: flatbuffers::Optional<Face>
    signature: flatbuffers::Optional<Face> GetOptional(voffset_t field) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:75,1
    - Dst: IsTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:76,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - val
    - def
    argTypes:
    - voffset_t
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: flatbuffers::Table::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    - IsTheSameAs
    linkageType: ''
    returnType: bool
    signature: bool SetField(voffset_t field, T val, T def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:81,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - val
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: flatbuffers::Table::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool SetField(voffset_t field, T val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:88,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:90,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - field
    - val
    argTypes:
    - voffset_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: flatbuffers::Table::SetPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - WriteScalar
    - flatbuffers::Table::GetOptionalFieldOffset
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: bool
    signature: bool SetPointer(voffset_t field, const uint8_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: flatbuffers::Table::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: flatbuffers::Table::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - const_cast<Table *>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: flatbuffers::Table::CheckField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool CheckField(voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Verifier::VerifyTableStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: flatbuffers::Table::VerifyTableStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyTableStart
    linkageType: ''
    returnType: bool
    signature: bool VerifyTableStart(Verifier &verifier) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:119,1
    - Dst: Verifier::VerifyField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - verifier
    - field
    - align
    argTypes:
    - Verifier
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: flatbuffers::Table::VerifyField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyField
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: "bool VerifyField(const Verifier &verifier, voffset_t field,\n                   size_t
      align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:128,1
    - Dst: Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:129,1
    - Dst: Verifier::VerifyField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - verifier
    - field
    - align
    argTypes:
    - Verifier
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: flatbuffers::Table::VerifyFieldRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyField
    - flatbuffers::Table::GetOptionalFieldOffset
    - Verifier::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFieldRequired(const Verifier &verifier, voffset_t field,\n
      \                          size_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:135,1
    - Dst: Verifier::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - verifier
    - field
    argTypes:
    - Verifier
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: flatbuffers::Table::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyOffset
    - flatbuffers::Table::GetOptionalFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool VerifyOffset(const Verifier &verifier, voffset_t field) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Table::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:140,1
    - Dst: Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:141,1
    - Dst: Verifier::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - verifier
    - field
    argTypes:
    - Verifier
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: flatbuffers::Table::VerifyOffsetRequired
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Verifier::VerifyOffset
    - flatbuffers::Table::GetOptionalFieldOffset
    - Verifier::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyOffsetRequired(const Verifier &verifier, voffset_t field)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:160,1
    - Dst: Optional<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:162,1
    - Dst: ReadScalar<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:162,1
    - Dst: Optional<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: "Table::GetOptional<uint8_t, bool>(\n    voffset_t field) const"
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
    functionUses: 0
    functionsReached:
    - Optional<bool>
    - ReadScalar<uint8_t>
    - GetOptionalFieldOffset
    linkageType: ''
    returnType: flatbuffers::Optional<bool>
    signature: "flatbuffers::Optional<bool> Table::GetOptional<uint8_t, bool>(\n    voffset_t
      field) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:30,1
    - Dst: VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:30,1
    - Dst: flatbuffers::Vector<uint8_t>*::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    - Dst: flatbuffers::Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    - Dst: flatbuffers::Verifier::GetFlexReuseTracker
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nested
    - verifier
    argTypes:
    - flatbuffers::Vector<uint8_t>*
    - flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: flexbuffers::VerifyNestedFlexBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Verifier::GetFlexReuseTracker
    - flatbuffers::Vector<uint8_t>*::data
    - flatbuffers::Verifier::Check
    - flatbuffers::Vector<uint8_t>*::size
    - VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyNestedFlexBuffer(\n    const flatbuffers::Vector<uint8_t>
      *const nested,\n    flatbuffers::Verifier &verifier)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verifier::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:30,1
    - Dst: VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:30,1
    - Dst: flatbuffers::Vector<uint8_t>*::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    - Dst: flatbuffers::Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    - Dst: flatbuffers::Verifier::GetFlexReuseTracker
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nested
    - verifier
    argTypes:
    - flatbuffers::Vector<uint8_t>*
    - flatbuffers::Verifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: flexbuffers::VerifyNestedFlexBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Verifier::GetFlexReuseTracker
    - flatbuffers::Vector<uint8_t>*::data
    - flatbuffers::Verifier::Check
    - flatbuffers::Vector<uint8_t>*::size
    - VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: "bool VerifyNestedFlexBuffer(\n    const flatbuffers::Vector<uint8_t>
      *const nested,\n    flatbuffers::Verifier &verifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file_identifier
    - schema_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: flatbuffers::Registry::Register
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Register(const char *file_identifier, const char *schema_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:49,1
    - Dst: flatbuffers::Registry::LoadSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:53,1
    - Dst: GenerateText
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - flatbuf
    - len
    - dest
    argTypes:
    - uint8_t*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: flatbuffers::Registry::FlatBufferToText
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - flatbuffers::Registry::LoadSchema
    - GenerateText
    linkageType: ''
    returnType: bool
    signature: bool FlatBufferToText(const uint8_t *flatbuf, size_t len, std::string
      *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Registry::LoadSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:69,1
    - Dst: DetachedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:69,1
    - Dst: Parser::Parse
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:71,1
    - Dst: DetachedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:73,1
    - Dst: Parser::builder_::Release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - text
    - file_identifier
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: flatbuffers::Registry::TextToFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - Parser::builder_::Release
    - DetachedBuffer
    - flatbuffers::Registry::LoadSchema
    - Parser::Parse
    linkageType: ''
    returnType: DetachedBuffer
    signature: "DetachedBuffer TextToFlatBuffer(const char *text,\n                                  const
      char *file_identifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - IDLOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::Registry::SetOptions
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOptions(const IDLOptions &opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: flatbuffers::Registry::AddIncludeDirectory
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void AddIncludeDirectory(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&GetLastError()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &GetLastError()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:92,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:93,1
    - Dst: LoadFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:101,1
    - Dst: auto::path_::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:101,1
    - Dst: Parser*::Parse
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: auto::path_::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ident
    - parser
    argTypes:
    - std::string
    - Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: flatbuffers::Registry::LoadSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 2
    functionsReached:
    - find
    - data
    - Parser*::Parse
    - end
    - LoadFile
    - std::string::c_str
    - auto::path_::c_str
    linkageType: ''
    returnType: bool
    signature: bool LoadSchema(const std::string &ident, Parser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file_identifier
    - schema_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: flatbuffers::Registry::Register
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Register(const char *file_identifier, const char *schema_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:49,1
    - Dst: flatbuffers::Registry::LoadSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:53,1
    - Dst: GenerateText
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - flatbuf
    - len
    - dest
    argTypes:
    - uint8_t*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: flatbuffers::Registry::FlatBufferToText
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    - flatbuffers::Registry::LoadSchema
    - GenerateText
    linkageType: ''
    returnType: bool
    signature: bool FlatBufferToText(const uint8_t *flatbuf, size_t len, std::string
      *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Registry::LoadSchema
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:69,1
    - Dst: DetachedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:69,1
    - Dst: Parser::Parse
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:71,1
    - Dst: DetachedBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:73,1
    - Dst: Parser::builder_::Release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - text
    - file_identifier
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: flatbuffers::Registry::TextToFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - Parser::builder_::Release
    - DetachedBuffer
    - flatbuffers::Registry::LoadSchema
    - Parser::Parse
    linkageType: ''
    returnType: DetachedBuffer
    signature: "DetachedBuffer TextToFlatBuffer(const char *text,\n                                  const
      char *file_identifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - IDLOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: flatbuffers::Registry::SetOptions
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOptions(const IDLOptions &opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: flatbuffers::Registry::AddIncludeDirectory
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void AddIncludeDirectory(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: '&GetLastError()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &GetLastError()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:92,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:93,1
    - Dst: LoadFile
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:101,1
    - Dst: auto::path_::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:101,1
    - Dst: Parser*::Parse
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:107,1
    - Dst: auto::path_::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ident
    - parser
    argTypes:
    - std::string
    - Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: flatbuffers::Registry::LoadSchema
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    functionUses: 4
    functionsReached:
    - find
    - data
    - Parser*::Parse
    - end
    - LoadFile
    - std::string::c_str
    - auto::path_::c_str
    linkageType: ''
    returnType: bool
    signature: bool LoadSchema(const std::string &ident, Parser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~CodeGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: flatbuffers::CodeGenerator::CodeGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: flatbuffers::CodeGenerator::CodeGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeGenerator(const CodeGenerator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(const CodeGenerator &)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CodeGenerator
    signature: CodeGenerator &operator=(const CodeGenerator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~CodeGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CodeGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: flatbuffers::CodeGenerator::CodeGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: flatbuffers::CodeGenerator::CodeGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodeGenerator(const CodeGenerator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: '&operator=(const CodeGenerator &)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CodeGenerator
    signature: CodeGenerator &operator=(const CodeGenerator &)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~BfbsGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/bfbs_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BfbsGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~BfbsGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/bfbs_generator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BfbsGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:31,1
    - Dst: reinterpret_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:35,1
    - Dst: Struct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    - Struct
    - reinterpret_cast<T>
    linkageType: ''
    returnType: class Struct
    signature: class Struct FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: flatbuffers::GetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: "public:\n  template<typename T>"
    signature: "public:\n  template<typename T> GetField(uoffset_t o) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: flatbuffers::GetStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetStruct(uoffset_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(uoffset_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(uoffset_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:31,1
    - Dst: reinterpret_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:35,1
    - Dst: Struct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    - Struct
    - reinterpret_cast<T>
    linkageType: ''
    returnType: class Struct
    signature: class Struct FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: flatbuffers::GetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: "public:\n  template<typename T>"
    signature: "public:\n  template<typename T> GetField(uoffset_t o) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: flatbuffers::GetStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetStruct(uoffset_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: flatbuffers::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(uoffset_t o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::GetAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetAddressOf(uoffset_t o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unique_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unique_ptr(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void unique_ptr(std::unique_ptr<T>&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - unique_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void unique_ptr(unique_ptr&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:126,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '& operator=(std::unique_ptr<T>&& u)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - cu_error_msg_reset
    - release
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(std::unique_ptr<T>&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:130,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - unique_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '& operator=(unique_ptr&& u)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - cu_error_msg_reset
    - release
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(unique_ptr&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>::operator=
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '& operator=(T* p)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>::operator=
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: flatbuffers::FLATBUFFERS_CONSTEXPR_CPP11::nullopt_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FLATBUFFERS_CONSTEXPR_CPP11 nullopt_t(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Optional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:185,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:188,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:188,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:191,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:191,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:194,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:194,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:197,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:197,1
    - Dst: T
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:206,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:222,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:223,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 250
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    - Optional
    - flatbuffers::swap
    - value_
    - T
    - has_value_
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: class Optional
    signature: class Optional FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '&operator=(const Optional &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(const Optional &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: '&operator=(nullopt_t)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(nullopt_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: '&operator=(T val) FLATBUFFERS_NOEXCEPT'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(T val) FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:222,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: flatbuffers::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 3
    functionsReached:
    - flatbuffers::swap
    linkageType: ''
    returnType: void
    signature: void swap(Optional &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '& operator*() const FLATBUFFERS_NOEXCEPT'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 & operator*() const FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: flatbuffers::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: T
    signature: T & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: flatbuffers::value_or
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: T
    signature: T value_or(T default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:273,1
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:273,1
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: flatbuffers::internal::SpanIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanIterator(pointer ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator->()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: '& operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: operator== (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: flatbuffers::internal::SpanIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanIterator(pointer ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator->()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: '& operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: operator== (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:358,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:363,1
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:381,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:385,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:385,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:402,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:403,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:410,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:411,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:422,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:423,1
    - Dst: element_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:435,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 470
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - data_
    - count_
    - flatbuffers::size
    - element_type
    - span
    - Iterator
    - flatbuffers::data
    linkageType: ''
    returnType: class span
    signature: class span FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - flatbuffers::size
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - flatbuffers::size
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: flatbuffers::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 3
    functionsReached:
    - Iterator
    - flatbuffers::data
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: flatbuffers::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 2
    functionsReached:
    - Iterator
    - flatbuffers::size
    - flatbuffers::data
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: operator[](size_type idx) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - flatbuffers::data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 operator[](size_type idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: '&operator=(const span &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(const span &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:476,1
    - Dst: span<ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, Extent>
    - ElementType
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - ElementType[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: flatbuffers::span<const ElementType, Extent> make_span(const ElementType(&arr)[Extent])
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, Extent>
      make_span(const ElementType(&arr)[Extent])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::array<ElementType, Extent>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: flatbuffers::span<ElementType, Extent> make_span(std::array<ElementType,
      Extent> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<ElementType, Extent>
      make_span(std::array<ElementType, Extent> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::array<ElementType, Extent>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: flatbuffers::span<const ElementType, Extent> make_span(const std::array<ElementType,
      Extent> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, Extent>
      make_span(const std::array<ElementType, Extent> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<ElementType, dynamic_extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - count
    argTypes:
    - ElementType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: flatbuffers::span<ElementType, dynamic_extent> make_span(ElementType
      *first, std::size_t count)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, dynamic_extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<ElementType, dynamic_extent>
      make_span(ElementType *first, std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, dynamic_extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - count
    argTypes:
    - ElementType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: flatbuffers::span<const ElementType, dynamic_extent> make_span(const
      ElementType *first, std::size_t count)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, dynamic_extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, dynamic_extent>
      make_span(const ElementType *first, std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unique_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unique_ptr(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void unique_ptr(std::unique_ptr<T>&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - unique_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: flatbuffers::unique_ptr::unique_ptr
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void unique_ptr(unique_ptr&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:126,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: '& operator=(std::unique_ptr<T>&& u)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - cu_error_msg_reset
    - release
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(std::unique_ptr<T>&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cu_error_msg_reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:130,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' u'
    argTypes:
    - unique_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: '& operator=(unique_ptr&& u)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - cu_error_msg_reset
    - release
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(unique_ptr&& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>::operator=
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: '& operator=(T* p)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<T>::operator=
    linkageType: ''
    returnType: unique_ptr
    signature: unique_ptr & operator=(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: flatbuffers::FLATBUFFERS_CONSTEXPR_CPP11::nullopt_t
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FLATBUFFERS_CONSTEXPR_CPP11 nullopt_t(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Optional
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:185,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:188,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:188,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:191,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:191,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:194,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:194,1
    - Dst: value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:197,1
    - Dst: has_value_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:197,1
    - Dst: T
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:206,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:222,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:223,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 250
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    - Optional
    - flatbuffers::swap
    - value_
    - T
    - has_value_
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: class Optional
    signature: class Optional FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - Optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: '&operator=(const Optional &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(const Optional &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: '&operator=(nullopt_t)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - T
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(nullopt_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: '&operator=(T val) FLATBUFFERS_NOEXCEPT'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(T val) FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:222,1
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - Optional
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: flatbuffers::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 5
    functionsReached:
    - flatbuffers::swap
    linkageType: ''
    returnType: void
    signature: void swap(Optional &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: '& operator*() const FLATBUFFERS_NOEXCEPT'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 & operator*() const FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: flatbuffers::value
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: T
    signature: T & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: flatbuffers::value_or
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: T
    signature: T value_or(T default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:273,1
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:273,1
    - Dst: static_cast<bool>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: flatbuffers::internal::SpanIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanIterator(pointer ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator->()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: '& operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: operator== (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 320
    functionName: flatbuffers::internal::SpanIterator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SpanIterator(pointer ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: operator*() const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: operator->()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: '& operator++()'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: operator++(int)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpanIterator
    signature: SpanIterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: operator== (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - SpanIterator
    - SpanIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:358,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:363,1
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:381,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:385,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:385,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:402,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:403,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:410,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:411,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:422,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:423,1
    - Dst: element_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:435,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:441,1
    - Dst: data_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: count_
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:451,1
    - Dst: span
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 470
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - data_
    - count_
    - flatbuffers::size
    - element_type
    - span
    - Iterator
    - flatbuffers::data
    linkageType: ''
    returnType: class span
    signature: class span FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - flatbuffers::size
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - flatbuffers::size
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: flatbuffers::begin
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 3
    functionsReached:
    - Iterator
    - flatbuffers::data
    linkageType: ''
    returnType: Iterator
    signature: Iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Iterator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: flatbuffers::end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 2
    functionsReached:
    - Iterator
    - flatbuffers::size
    - flatbuffers::data
    linkageType: ''
    returnType: Iterator
    signature: Iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: operator[](size_type idx) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 operator[](size_type idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: '&operator=(const span &other)'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP14
    signature: FLATBUFFERS_CONSTEXPR_CPP14 &operator=(const span &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ElementType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:476,1
    - Dst: span<ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: flatbuffers::FLATBUFFERS_NOEXCEPT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, Extent>
    - ElementType
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 FLATBUFFERS_NOEXCEPT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (arr)
    argTypes:
    - ElementType[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: flatbuffers::span<const ElementType, Extent> make_span(const ElementType(&arr)[Extent])
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, Extent>
      make_span(const ElementType(&arr)[Extent])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::array<ElementType, Extent>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: flatbuffers::span<ElementType, Extent> make_span(std::array<ElementType,
      Extent> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<ElementType, Extent>
      make_span(std::array<ElementType, Extent> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, Extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - std::array<ElementType, Extent>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: flatbuffers::span<const ElementType, Extent> make_span(const std::array<ElementType,
      Extent> &arr)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, Extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, Extent>
      make_span(const std::array<ElementType, Extent> &arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<ElementType, dynamic_extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - count
    argTypes:
    - ElementType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: flatbuffers::span<ElementType, dynamic_extent> make_span(ElementType
      *first, std::size_t count)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<ElementType, dynamic_extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<ElementType, dynamic_extent>
      make_span(ElementType *first, std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: span<const ElementType, dynamic_extent>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - count
    argTypes:
    - ElementType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: flatbuffers::span<const ElementType, dynamic_extent> make_span(const
      ElementType *first, std::size_t count)
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    functionUses: 0
    functionsReached:
    - span<const ElementType, dynamic_extent>
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR_CPP11
    signature: FLATBUFFERS_CONSTEXPR_CPP11 flatbuffers::span<const ElementType, dynamic_extent>
      make_span(const ElementType *first, std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::StartSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: flatbuffers::EndSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EndSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: flatbuffers::Field
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Field(size_t /*field_idx*/, size_t /*set_idx*/,\n                     ElementaryType
      /*type*/, bool /*is_vector*/,\n                     const TypeTable * /*type_table*/,
      const char * /*name*/,\n                     const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: flatbuffers::UType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UType(uint8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bool(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: flatbuffers::Char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Char(int8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::UChar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UChar(uint8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: flatbuffers::Short
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Short(int16_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: flatbuffers::UShort
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UShort(uint16_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: flatbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Int(int32_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: flatbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UInt(uint32_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: flatbuffers::Long
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Long(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: flatbuffers::ULong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ULong(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Float(float)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: flatbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Double(double)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const String *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: flatbuffers::Unknown
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown(const uint8_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: flatbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: flatbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EndVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: flatbuffers::Element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Element(size_t /*i*/, ElementaryType /*type*/,\n                       const
      TypeTable * /*type_table*/,\n                       const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~IterationVisitor()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IterationVisitor()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:92,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:93,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - type
    - type_table
    argTypes:
    - ElementaryType
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: flatbuffers::InlineSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t InlineSize(ElementaryType type, const TypeTable *type_table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - enum_val
    - values
    - num_values
    argTypes:
    - int64_t
    - int64_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: flatbuffers::LookupEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: "int64_t LookupEnum(int64_t enum_val, const int64_t *values,\n                          size_t
      num_values)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::LookupEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tval
    - type_table
    argTypes:
    - T
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: flatbuffers::EnumName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::LookupEnum
    - static_cast<int64_t>
    linkageType: ''
    returnType: char
    signature: char *EnumName(T tval, const TypeTable *type_table)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:126,1
    - Dst: IterationVisitor*::UType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:127,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:127,1
    - Dst: IterationVisitor*::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:131,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:131,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:135,1
    - Dst: IterationVisitor*::Char
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:136,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:136,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:140,1
    - Dst: IterationVisitor*::UChar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:141,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:145,1
    - Dst: IterationVisitor*::Short
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:146,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:146,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:150,1
    - Dst: IterationVisitor*::UShort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:151,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:151,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:155,1
    - Dst: IterationVisitor*::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:156,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:156,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:160,1
    - Dst: IterationVisitor*::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:161,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:161,1
    - Dst: IterationVisitor*::Long
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:165,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:165,1
    - Dst: IterationVisitor*::ULong
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:169,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:169,1
    - Dst: IterationVisitor*::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:173,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:173,1
    - Dst: IterationVisitor*::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:177,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:177,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:181,1
    - Dst: IterationVisitor*::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:182,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:188,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:189,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:191,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:193,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:194,1
    - Dst: reinterpret_cast<const Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:197,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:198,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:198,1
    - Dst: flatbuffers::LookupEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:201,1
    - Dst: static_cast<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:203,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:208,1
    - Dst: IterationVisitor*::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:212,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:212,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:214,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:217,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:221,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:226,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 6
    argNames:
    - type
    - val
    - type_table
    - prev_val
    - vector_index
    - visitor
    argTypes:
    - ElementaryType
    - uint8_t*
    - TypeTable*
    - uint8_t*
    - soffset_t
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 230
    functionName: flatbuffers::IterateValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::LookupEnum
    - IterationVisitor*::Unknown
    - flatbuffers::ReadScalar
    - IterationVisitor*::Short
    - reinterpret_cast<const String *>
    - IterationVisitor*::UType
    - auto::Get
    - IterationVisitor*::Int
    - IterationVisitor*::ULong
    - IterationVisitor*::Bool
    - flatbuffers::EnumName
    - IterationVisitor*::UShort
    - FLATBUFFERS_ASSERT
    - flatbuffers::IterateObject
    - IterationVisitor*::Long
    - reinterpret_cast<const Vector<uint8_t> *>
    - IterationVisitor*::Float
    - static_cast<int32_t>
    - IterationVisitor*::UInt
    - IterationVisitor*::Char
    - static_cast<uoffset_t>
    - IterationVisitor*::String
    - IterationVisitor*::UChar
    - IterationVisitor*::Double
    linkageType: ''
    returnType: void
    signature: "void IterateValue(ElementaryType type, const uint8_t *val,\n                         const
      TypeTable *type_table, const uint8_t *prev_val,\n                         soffset_t
      vector_index, IterationVisitor *visitor)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IterationVisitor*::StartSequence
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:234,1
    - Dst: static_cast<ElementaryType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:240,1
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:248,1
    - Dst: flatbuffers::FieldIndexToOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:249,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:249,1
    - Dst: IterationVisitor*::Field
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:253,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:261,1
    - Dst: reinterpret_cast<const Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:262,1
    - Dst: auto::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:263,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:264,1
    - Dst: IterationVisitor*::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:270,1
    - Dst: IterationVisitor*::Element
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:272,1
    - Dst: flatbuffers::IterateValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:273,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:273,1
    - Dst: flatbuffers::InlineSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:275,1
    - Dst: IterationVisitor*::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:277,1
    - Dst: flatbuffers::IterateValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:279,1
    - Dst: IterationVisitor*::EndSequence
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - obj
    - type_table
    - visitor
    argTypes:
    - uint8_t*
    - TypeTable*
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 285
    functionName: flatbuffers::IterateObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 1
    functionsReached:
    - static_cast<soffset_t>
    - IterationVisitor*::EndSequence
    - IterationVisitor*::StartSequence
    - flatbuffers::ReadScalar
    - reinterpret_cast<const Table *>
    - reinterpret_cast<const Vector<uint8_t> *>
    - flatbuffers::IterateValue
    - IterationVisitor*::Element
    - IterationVisitor*::EndVector
    - auto::Data
    - IterationVisitor*::Field
    - static_cast<voffset_t>
    - IterationVisitor*::StartVector
    - flatbuffers::InlineSize
    - flatbuffers::FieldIndexToOffset
    - static_cast<ElementaryType>
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void IterateObject(const uint8_t *obj, const TypeTable *type_table,\n
      \                         IterationVisitor *visitor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:290,1
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - type_table
    - callback
    argTypes:
    - uint8_t*
    - TypeTable*
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: flatbuffers::IterateFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetRoot
    - flatbuffers::IterateObject
    linkageType: ''
    returnType: void
    signature: "void IterateFlatBuffer(const uint8_t *buffer,\n                              const
      TypeTable *type_table,\n                              IterationVisitor *callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - delimiter
    - quotes
    - indent
    argTypes:
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: flatbuffers::ToStringVisitor
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ToStringVisitor(std::string delimiter, bool quotes, std::string
      indent,\n                  bool vdelimited = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: flatbuffers::ToStringVisitor
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToStringVisitor(std::string delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: flatbuffers::append_indent
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_indent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: flatbuffers::StartSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: flatbuffers::EndSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void EndSequence()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - set_idx
    - name
    - val
    argTypes:
    - size_t
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: flatbuffers::Field
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: "void Field(size_t /*field_idx*/, size_t set_idx, ElementaryType /*type*/,\n
      \            bool /*is_vector*/, const TypeTable * /*type_table*/,\n             const
      char *name, const uint8_t *val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: flatbuffers::Named
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Named(T x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: flatbuffers::UType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UType(uint8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: flatbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bool(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: flatbuffers::Char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Char(int8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: flatbuffers::UChar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UChar(uint8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: flatbuffers::Short
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Short(int16_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: flatbuffers::UShort
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UShort(uint16_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: flatbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Int(int32_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: flatbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UInt(uint32_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: flatbuffers::Long
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Long(int64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: flatbuffers::ULong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void ULong(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: flatbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Float(float x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: flatbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Double(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    - Dst: struct String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    - Dst: struct String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: flatbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - struct String*::c_str
    - flatbuffers::EscapeString
    - struct String*::size
    linkageType: ''
    returnType: void
    signature: void String(const struct String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: flatbuffers::Unknown
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown(const uint8_t *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: flatbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void StartVector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: flatbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void EndVector()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: flatbuffers::Element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: "void Element(size_t i, ElementaryType /*type*/,\n               const
      TypeTable * /*type_table*/, const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IterateFlatBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - type_table
    argTypes:
    - uint8_t*
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: flatbuffers::FlatBufferToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IterateFlatBuffer
    linkageType: ''
    returnType: std::string
    signature: "std::string FlatBufferToString(const uint8_t *buffer,\n                                      const
      TypeTable *type_table,\n                                      bool multi_line
      = false,\n                                      bool vector_delimited = true,\n
      \                                     const std::string& indent = \"\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: flatbuffers::StartSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: flatbuffers::EndSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EndSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: flatbuffers::Field
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Field(size_t /*field_idx*/, size_t /*set_idx*/,\n                     ElementaryType
      /*type*/, bool /*is_vector*/,\n                     const TypeTable * /*type_table*/,
      const char * /*name*/,\n                     const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: flatbuffers::UType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UType(uint8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: flatbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bool(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: flatbuffers::Char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Char(int8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: flatbuffers::UChar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UChar(uint8_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: flatbuffers::Short
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Short(int16_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: flatbuffers::UShort
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UShort(uint16_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: flatbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Int(int32_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: flatbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UInt(uint32_t, const char *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: flatbuffers::Long
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Long(int64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: flatbuffers::ULong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ULong(uint64_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: flatbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Float(float)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: flatbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Double(double)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: flatbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void String(const String *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: flatbuffers::Unknown
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown(const uint8_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: flatbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: flatbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EndVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: flatbuffers::Element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Element(size_t /*i*/, ElementaryType /*type*/,\n                       const
      TypeTable * /*type_table*/,\n                       const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~IterationVisitor()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IterationVisitor()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:92,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:93,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - type
    - type_table
    argTypes:
    - ElementaryType
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: flatbuffers::InlineSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t InlineSize(ElementaryType type, const TypeTable *type_table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - enum_val
    - values
    - num_values
    argTypes:
    - int64_t
    - int64_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: flatbuffers::LookupEnum
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 2
    functionsReached:
    - static_cast<int64_t>
    linkageType: ''
    returnType: int64_t
    signature: "int64_t LookupEnum(int64_t enum_val, const int64_t *values,\n                          size_t
      num_values)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::LookupEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:110,1
    - Dst: static_cast<int64_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tval
    - type_table
    argTypes:
    - T
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: flatbuffers::EnumName
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 1
    functionsReached:
    - flatbuffers::LookupEnum
    - static_cast<int64_t>
    linkageType: ''
    returnType: char
    signature: char *EnumName(T tval, const TypeTable *type_table)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:126,1
    - Dst: IterationVisitor*::UType
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:127,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:127,1
    - Dst: IterationVisitor*::Bool
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:131,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:131,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:135,1
    - Dst: IterationVisitor*::Char
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:136,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:136,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:140,1
    - Dst: IterationVisitor*::UChar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:141,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:145,1
    - Dst: IterationVisitor*::Short
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:146,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:146,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:150,1
    - Dst: IterationVisitor*::UShort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:151,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:151,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:155,1
    - Dst: IterationVisitor*::Int
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:156,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:156,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:160,1
    - Dst: IterationVisitor*::UInt
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:161,1
    - Dst: flatbuffers::EnumName
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:161,1
    - Dst: IterationVisitor*::Long
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:165,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:165,1
    - Dst: IterationVisitor*::ULong
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:169,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:169,1
    - Dst: IterationVisitor*::Float
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:173,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:173,1
    - Dst: IterationVisitor*::Double
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:177,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:177,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:181,1
    - Dst: IterationVisitor*::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:182,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:188,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:189,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:191,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:193,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:194,1
    - Dst: reinterpret_cast<const Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:197,1
    - Dst: auto::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:198,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:198,1
    - Dst: flatbuffers::LookupEnum
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:201,1
    - Dst: static_cast<int32_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:203,1
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:208,1
    - Dst: IterationVisitor*::String
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:212,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:212,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:214,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:217,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:221,1
    - Dst: IterationVisitor*::Unknown
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:226,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 6
    argNames:
    - type
    - val
    - type_table
    - prev_val
    - vector_index
    - visitor
    argTypes:
    - ElementaryType
    - uint8_t*
    - TypeTable*
    - uint8_t*
    - soffset_t
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 230
    functionName: flatbuffers::IterateValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 1
    functionsReached:
    - flatbuffers::LookupEnum
    - IterationVisitor*::Unknown
    - flatbuffers::ReadScalar
    - IterationVisitor*::Short
    - reinterpret_cast<const String *>
    - IterationVisitor*::UType
    - auto::Get
    - IterationVisitor*::Int
    - IterationVisitor*::ULong
    - IterationVisitor*::Bool
    - flatbuffers::EnumName
    - IterationVisitor*::UShort
    - FLATBUFFERS_ASSERT
    - flatbuffers::IterateObject
    - IterationVisitor*::Long
    - reinterpret_cast<const Vector<uint8_t> *>
    - IterationVisitor*::Float
    - static_cast<int32_t>
    - IterationVisitor*::UInt
    - IterationVisitor*::Char
    - static_cast<uoffset_t>
    - IterationVisitor*::String
    - IterationVisitor*::UChar
    - IterationVisitor*::Double
    linkageType: ''
    returnType: void
    signature: "void IterateValue(ElementaryType type, const uint8_t *val,\n                         const
      TypeTable *type_table, const uint8_t *prev_val,\n                         soffset_t
      vector_index, IterationVisitor *visitor)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IterationVisitor*::StartSequence
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:234,1
    - Dst: static_cast<ElementaryType>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:240,1
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:248,1
    - Dst: flatbuffers::FieldIndexToOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:249,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:249,1
    - Dst: IterationVisitor*::Field
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:253,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:261,1
    - Dst: reinterpret_cast<const Vector<uint8_t> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:262,1
    - Dst: auto::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:263,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:264,1
    - Dst: IterationVisitor*::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:270,1
    - Dst: IterationVisitor*::Element
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:272,1
    - Dst: flatbuffers::IterateValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:273,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:273,1
    - Dst: flatbuffers::InlineSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:275,1
    - Dst: IterationVisitor*::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:277,1
    - Dst: flatbuffers::IterateValue
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:279,1
    - Dst: IterationVisitor*::EndSequence
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - obj
    - type_table
    - visitor
    argTypes:
    - uint8_t*
    - TypeTable*
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 285
    functionName: flatbuffers::IterateObject
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 3
    functionsReached:
    - static_cast<soffset_t>
    - IterationVisitor*::EndSequence
    - IterationVisitor*::StartSequence
    - flatbuffers::ReadScalar
    - reinterpret_cast<const Table *>
    - reinterpret_cast<const Vector<uint8_t> *>
    - flatbuffers::IterateValue
    - IterationVisitor*::Element
    - IterationVisitor*::EndVector
    - auto::Data
    - IterationVisitor*::Field
    - static_cast<voffset_t>
    - IterationVisitor*::StartVector
    - flatbuffers::InlineSize
    - flatbuffers::FieldIndexToOffset
    - static_cast<ElementaryType>
    - auto::size
    linkageType: ''
    returnType: void
    signature: "void IterateObject(const uint8_t *obj, const TypeTable *type_table,\n
      \                         IterationVisitor *visitor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IterateObject
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:290,1
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - type_table
    - callback
    argTypes:
    - uint8_t*
    - TypeTable*
    - IterationVisitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: flatbuffers::IterateFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 1
    functionsReached:
    - flatbuffers::GetRoot
    - flatbuffers::IterateObject
    linkageType: ''
    returnType: void
    signature: "void IterateFlatBuffer(const uint8_t *buffer,\n                              const
      TypeTable *type_table,\n                              IterationVisitor *callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - delimiter
    - quotes
    - indent
    argTypes:
    - std::string
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: flatbuffers::ToStringVisitor
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ToStringVisitor(std::string delimiter, bool quotes, std::string
      indent,\n                  bool vdelimited = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - delimiter
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: flatbuffers::ToStringVisitor
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ToStringVisitor(std::string delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: flatbuffers::append_indent
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void append_indent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: flatbuffers::StartSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StartSequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: flatbuffers::EndSequence
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void EndSequence()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - set_idx
    - name
    - val
    argTypes:
    - size_t
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: flatbuffers::Field
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: "void Field(size_t /*field_idx*/, size_t set_idx, ElementaryType /*type*/,\n
      \            bool /*is_vector*/, const TypeTable * /*type_table*/,\n             const
      char *name, const uint8_t *val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - T
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: flatbuffers::Named
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 7
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Named(T x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: flatbuffers::UType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UType(uint8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: flatbuffers::Bool
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bool(bool x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: flatbuffers::Char
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Char(int8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 5
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: flatbuffers::UChar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UChar(uint8_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: flatbuffers::Short
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Short(int16_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: flatbuffers::UShort
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UShort(uint16_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 363
    functionName: flatbuffers::Int
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void Int(int32_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Named
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: flatbuffers::UInt
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Named
    linkageType: ''
    returnType: void
    signature: void UInt(uint32_t x, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: flatbuffers::Long
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Long(int64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 366
    functionName: flatbuffers::ULong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void ULong(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: flatbuffers::Float
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Float(float x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::NumToString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: flatbuffers::Double
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::NumToString
    linkageType: ''
    returnType: void
    signature: void Double(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EscapeString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    - Dst: struct String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    - Dst: struct String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: flatbuffers::String
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - struct String*::c_str
    - flatbuffers::EscapeString
    - struct String*::size
    linkageType: ''
    returnType: void
    signature: void String(const struct String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: flatbuffers::Unknown
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unknown(const uint8_t *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: flatbuffers::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void StartVector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: flatbuffers::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: void EndVector()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::append_indent
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: flatbuffers::Element
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::append_indent
    linkageType: ''
    returnType: void
    signature: "void Element(size_t i, ElementaryType /*type*/,\n               const
      TypeTable * /*type_table*/, const uint8_t * /*val*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::IterateFlatBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - type_table
    argTypes:
    - uint8_t*
    - TypeTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: flatbuffers::FlatBufferToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IterateFlatBuffer
    linkageType: ''
    returnType: std::string
    signature: "std::string FlatBufferToString(const uint8_t *buffer,\n                                      const
      TypeTable *type_table,\n                                      bool multi_line
      = false,\n                                      bool vector_delimited = true,\n
      \                                     const std::string& indent = \"\")"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: flatbuffers::DefaultAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: flatbuffers::DefaultAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: flatbuffers::DefaultAllocator::dealloc
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void dealloc(void *p, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:42,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocator
    - size
    argTypes:
    - Allocator*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: flatbuffers::Allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - Allocator*::allocate
    - DefaultAllocator
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Allocate(Allocator *allocator, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:48,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - allocator
    - p
    - size
    argTypes:
    - Allocator*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: flatbuffers::Deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - DefaultAllocator
    - Allocator*::deallocate
    linkageType: ''
    returnType: void
    signature: void Deallocate(Allocator *allocator, uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::reallocate_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:56,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - allocator
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - Allocator*
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: flatbuffers::ReallocateDownward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - Allocator*::reallocate_downward
    - DefaultAllocator
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *ReallocateDownward(Allocator *allocator, uint8_t *old_p,\n
      \                                  size_t old_size, size_t new_size,\n                                   size_t
      in_use_back, size_t in_use_front)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: flatbuffers::DefaultAllocator::allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *allocate(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: flatbuffers::DefaultAllocator::deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void deallocate(uint8_t *p, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: flatbuffers::DefaultAllocator::dealloc
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void dealloc(void *p, size_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:42,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocator
    - size
    argTypes:
    - Allocator*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: flatbuffers::Allocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - Allocator*::allocate
    - DefaultAllocator
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *Allocate(Allocator *allocator, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:48,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - allocator
    - p
    - size
    argTypes:
    - Allocator*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: flatbuffers::Deallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - DefaultAllocator
    - Allocator*::deallocate
    linkageType: ''
    returnType: void
    signature: void Deallocate(Allocator *allocator, uint8_t *p, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator*::reallocate_downward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:56,1
    - Dst: DefaultAllocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - allocator
    - old_p
    - old_size
    - new_size
    - in_use_back
    - in_use_front
    argTypes:
    - Allocator*
    - uint8_t*
    - size_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: flatbuffers::ReallocateDownward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
    functionUses: 0
    functionsReached:
    - Allocator*::reallocate_downward
    - DefaultAllocator
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *ReallocateDownward(Allocator *allocator, uint8_t *old_p,\n
      \                                  size_t old_size, size_t new_size,\n                                   size_t
      in_use_back, size_t in_use_front)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:42,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:61,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:80,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:84,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:99,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:106,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:112,1
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: flatbuffers::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: reinterpret_cast<const Vector<T> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:132,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:133,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:139,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:144,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:146,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:150,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:156,1
    - Dst: flatbuffers::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:167,1
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:168,1
    - Dst: __suppress_ubsan__
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:177,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:178,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::VerifyComplexity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:188,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:197,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:200,1
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:201,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:206,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:207,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:208,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:230,1
    - Dst: flatbuffers::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:234,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:237,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:242,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:244,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:248,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:249,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:251,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:256,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:271,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:291,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 313
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyBuffer
    - flatbuffers::VerifyBufferFromStart
    - flatbuffers::ReadScalar
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVector
    - reinterpret_cast<const Vector<T> *>
    - flatbuffers::Check
    - flatbuffers::size
    - Verifier::VerifyBuffer
    - flatbuffers::Verify
    - flatbuffers::VerifyString
    - flatbuffers::VerifyOffset
    - FLATBUFFERS_ASSERT
    - flatbuffers::data
    - flatbuffers::VerifyAlignment
    - static_cast<soffset_t>
    - reinterpret_cast<const T *>
    - Get
    - flatbuffers::VerifyVectorOrString
    - static_cast<size_t>
    - flatbuffers::VerifyComplexity
    - __suppress_ubsan__
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: class Verifier
    signature: class Verifier FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - opts
    argTypes:
    - uint8_t*
    - size_t
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: flatbuffers::Verifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: "void Verifier(const uint8_t *const buf, const size_t buf_len,\n                    const
      Options &opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: flatbuffers::Verifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Verifier(const uint8_t *const buf, const size_t buf_len,\n           const
      uoffset_t max_depth = 64, const uoffset_t max_tables = 1000000,\n           const
      bool check_alignment = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ok
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: flatbuffers::Check
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool Check(const bool ok) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - elem
    - elem_len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool Verify(const size_t elem, const size_t elem_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: flatbuffers::VerifyAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyAlignment(const size_t elem, const size_t align) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: bool Verify(const size_t elem) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: flatbuffers::VerifyFromPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: bool VerifyFromPointer(const uint8_t *const p, const size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:99,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - base
    - elem_off
    - elem_len
    - align
    argTypes:
    - uint8_t*
    - voffset_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: flatbuffers::VerifyFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFieldStruct(const uint8_t *const base, const voffset_t
      elem_off,\n                         const size_t elem_len, const size_t align)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:106,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - base
    - elem_off
    - align
    argTypes:
    - uint8_t*
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: flatbuffers::VerifyField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: "bool VerifyField(const uint8_t *const base, const voffset_t elem_off,\n
      \                  const size_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: flatbuffers::VerifyTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - T*::Verify
    linkageType: ''
    returnType: bool
    signature: bool VerifyTable(const T *const table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: flatbuffers::VerifyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVectorOrString
    linkageType: ''
    returnType: bool
    signature: bool VerifyVector(const Vector<T> *const vec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: reinterpret_cast<const Vector<T> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<const T *>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: flatbuffers::VerifyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - flatbuffers::VerifyVector
    - reinterpret_cast<const Vector<T> *>
    linkageType: ''
    returnType: bool
    signature: bool VerifyVector(const Vector<const T *> *const vec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:132,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: flatbuffers::VerifyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVectorOrString
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyString(const String *const str) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:139,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:144,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:146,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - vec
    - elem_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: flatbuffers::VerifyVectorOrString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyVectorOrString(const uint8_t *const vec, const size_t elem_size,\n
      \                           size_t *const end = nullptr) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Vector<Offset<String>>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:156,1
    - Dst: flatbuffers::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: Vector<Offset<String>>*::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<Offset<String>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: flatbuffers::VerifyVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyString
    - Vector<Offset<String>>*::size
    - Vector<Offset<String>>*::Get
    linkageType: ''
    returnType: bool
    signature: bool VerifyVectorOfStrings(const Vector<Offset<String>> *const vec)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Vector<Offset<T>>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:167,1
    - Dst: Vector<Offset<T>>*::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<Offset<T>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: flatbuffers::VerifyVectorOfTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - Vector<Offset<T>>*::Get
    - Vector<Offset<T>>*::size
    linkageType: ''
    returnType: bool
    signature: bool VerifyVectorOfTables(const Vector<Offset<T>> *const vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:177,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:178,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::VerifyComplexity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:188,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - table
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: flatbuffers::VerifyTableStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyAlignment
    - flatbuffers::Check
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - static_cast<size_t>
    - flatbuffers::VerifyComplexity
    linkageType: ''
    returnType: bool
    signature: "bool VerifyTableStart(\n      const uint8_t *const table)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:197,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:200,1
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:201,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:206,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:207,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - identifier
    - start
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: flatbuffers::VerifyBufferFromStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 1
    functionsReached:
    - flatbuffers::VerifyOffset
    - flatbuffers::BufferHasIdentifier
    - reinterpret_cast<const T *>
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyBufferFromStart(const char *const identifier, const size_t
      start)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: Vector<uint8_t>*::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - identifier
    argTypes:
    - Vector<uint8_t>*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: flatbuffers::VerifyNestedFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - Vector<uint8_t>*::data
    - Verifier::VerifyBuffer
    - Vector<uint8_t>*::size
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyNestedFlatBuffer(const Vector<uint8_t> *const buf,\n                              const
      char *const identifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: flatbuffers::VerifyBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - flatbuffers::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool VerifyBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: flatbuffers::VerifyBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - flatbuffers::VerifyBufferFromStart
    linkageType: ''
    returnType: bool
    signature: bool VerifyBuffer(const char *const identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:242,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: flatbuffers::VerifySizePrefixedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyBufferFromStart
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifySizePrefixedBuffer(const char *const identifier)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:248,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:249,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:251,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - start
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: flatbuffers::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - static_cast<soffset_t>
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t VerifyOffset(const size_t start) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - start
    argTypes:
    - uint8_t*
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: flatbuffers::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyOffset
    linkageType: ''
    returnType: uoffset_t
    signature: "uoffset_t VerifyOffset(const uint8_t *const base,\n                         const
      voffset_t start) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: flatbuffers::VerifyComplexity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyComplexity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: flatbuffers::EndTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: flatbuffers::GetComputedSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t GetComputedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: flatbuffers::GetFlexReuseTracker
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> *GetFlexReuseTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - std::vector<uint8_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: flatbuffers::SetFlexReuseTracker
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetFlexReuseTracker(std::vector<uint8_t> *const rt)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:42,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:61,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:80,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:84,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:99,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:106,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:112,1
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: flatbuffers::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: reinterpret_cast<const Vector<T> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:132,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:133,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:139,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:144,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:146,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:150,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:156,1
    - Dst: flatbuffers::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:167,1
    - Dst: Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:168,1
    - Dst: __suppress_ubsan__
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:174,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:177,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:178,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::VerifyComplexity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:188,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:197,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:200,1
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:201,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:206,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:207,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:208,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: flatbuffers::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:230,1
    - Dst: flatbuffers::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:234,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:237,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:242,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:244,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:248,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:249,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:251,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:256,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:271,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:291,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 313
    functionName: flatbuffers::FLATBUFFERS_FINAL_CLASS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyBuffer
    - flatbuffers::VerifyBufferFromStart
    - flatbuffers::ReadScalar
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVector
    - reinterpret_cast<const Vector<T> *>
    - flatbuffers::Check
    - flatbuffers::size
    - Verifier::VerifyBuffer
    - flatbuffers::Verify
    - flatbuffers::VerifyString
    - flatbuffers::VerifyOffset
    - FLATBUFFERS_ASSERT
    - flatbuffers::data
    - flatbuffers::VerifyAlignment
    - static_cast<soffset_t>
    - reinterpret_cast<const T *>
    - Get
    - flatbuffers::VerifyVectorOrString
    - static_cast<size_t>
    - flatbuffers::VerifyComplexity
    - __suppress_ubsan__
    - flatbuffers::BufferHasIdentifier
    linkageType: ''
    returnType: class Verifier
    signature: class Verifier FLATBUFFERS_FINAL_CLASS
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - opts
    argTypes:
    - uint8_t*
    - size_t
    - Options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: flatbuffers::Verifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: "void Verifier(const uint8_t *const buf, const size_t buf_len,\n                    const
      Options &opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: flatbuffers::Verifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Verifier(const uint8_t *const buf, const size_t buf_len,\n           const
      uoffset_t max_depth = 64, const uoffset_t max_tables = 1000000,\n           const
      bool check_alignment = true)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ok
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: flatbuffers::Check
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 12
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool Check(const bool ok) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - elem
    - elem_len
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 11
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool Verify(const size_t elem, const size_t elem_len) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: flatbuffers::VerifyAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 6
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyAlignment(const size_t elem, const size_t align) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: flatbuffers::Verify
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 12
    functionsReached:
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: bool Verify(const size_t elem) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: flatbuffers::VerifyFromPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: bool VerifyFromPointer(const uint8_t *const p, const size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:99,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - base
    - elem_off
    - elem_len
    - align
    argTypes:
    - uint8_t*
    - voffset_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: flatbuffers::VerifyFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: "bool VerifyFieldStruct(const uint8_t *const base, const voffset_t
      elem_off,\n                         const size_t elem_len, const size_t align)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:106,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - base
    - elem_off
    - align
    argTypes:
    - uint8_t*
    - voffset_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: flatbuffers::VerifyField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyAlignment
    - flatbuffers::Verify
    linkageType: ''
    returnType: bool
    signature: "bool VerifyField(const uint8_t *const base, const voffset_t elem_off,\n
      \                  const size_t align) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: flatbuffers::VerifyTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - T*::Verify
    linkageType: ''
    returnType: bool
    signature: bool VerifyTable(const T *const table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: flatbuffers::VerifyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVectorOrString
    linkageType: ''
    returnType: bool
    signature: bool VerifyVector(const Vector<T> *const vec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    - Dst: reinterpret_cast<const Vector<T> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<const T *>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: flatbuffers::VerifyVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 4
    functionsReached:
    - flatbuffers::VerifyVector
    - reinterpret_cast<const Vector<T> *>
    linkageType: ''
    returnType: bool
    signature: bool VerifyVector(const Vector<const T *> *const vec) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyVectorOrString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:130,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:132,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: flatbuffers::VerifyString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::VerifyVectorOrString
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyString(const String *const str) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:139,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:141,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:144,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:146,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - vec
    - elem_size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: flatbuffers::VerifyVectorOrString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyVectorOrString(const uint8_t *const vec, const size_t elem_size,\n
      \                           size_t *const end = nullptr) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Vector<Offset<String>>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:156,1
    - Dst: flatbuffers::VerifyString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    - Dst: Vector<Offset<String>>*::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<Offset<String>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: flatbuffers::VerifyVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyString
    - Vector<Offset<String>>*::size
    - Vector<Offset<String>>*::Get
    linkageType: ''
    returnType: bool
    signature: bool VerifyVectorOfStrings(const Vector<Offset<String>> *const vec)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Vector<Offset<T>>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:167,1
    - Dst: Vector<Offset<T>>*::Get
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - vec
    argTypes:
    - Vector<Offset<T>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: flatbuffers::VerifyVectorOfTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - Vector<Offset<T>>*::Get
    - Vector<Offset<T>>*::size
    linkageType: ''
    returnType: bool
    signature: bool VerifyVectorOfTables(const Vector<Offset<T>> *const vec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:177,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:178,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:182,1
    - Dst: flatbuffers::VerifyComplexity
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:184,1
    - Dst: flatbuffers::VerifyAlignment
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:185,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:188,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - table
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: flatbuffers::VerifyTableStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyAlignment
    - flatbuffers::Check
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - static_cast<size_t>
    - flatbuffers::VerifyComplexity
    linkageType: ''
    returnType: bool
    signature: "bool VerifyTableStart(\n      const uint8_t *const table)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:197,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:200,1
    - Dst: flatbuffers::BufferHasIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:201,1
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:206,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:207,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - identifier
    - start
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 215
    functionName: flatbuffers::VerifyBufferFromStart
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 4
    functionsReached:
    - flatbuffers::VerifyOffset
    - flatbuffers::BufferHasIdentifier
    - reinterpret_cast<const T *>
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyBufferFromStart(const char *const identifier, const size_t
      start)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:227,1
    - Dst: Vector<uint8_t>*::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Vector<uint8_t>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:229,1
    - Dst: Verifier::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - identifier
    argTypes:
    - Vector<uint8_t>*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: flatbuffers::VerifyNestedFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - Vector<uint8_t>*::data
    - Verifier::VerifyBuffer
    - Vector<uint8_t>*::size
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: "bool VerifyNestedFlatBuffer(const Vector<uint8_t> *const buf,\n                              const
      char *const identifier)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyBuffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: flatbuffers::VerifyBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 4
    functionsReached:
    - flatbuffers::VerifyBuffer
    linkageType: ''
    returnType: bool
    signature: bool VerifyBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: flatbuffers::VerifyBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 4
    functionsReached:
    - flatbuffers::VerifyBufferFromStart
    linkageType: ''
    returnType: bool
    signature: bool VerifyBuffer(const char *const identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:242,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:243,1
    - Dst: flatbuffers::VerifyBufferFromStart
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: flatbuffers::VerifySizePrefixedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - flatbuffers::VerifyBufferFromStart
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifySizePrefixedBuffer(const char *const identifier)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:248,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:249,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:251,1
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:253,1
    - Dst: flatbuffers::Verify
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - start
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: flatbuffers::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 5
    functionsReached:
    - static_cast<soffset_t>
    - flatbuffers::ReadScalar
    - flatbuffers::Verify
    - flatbuffers::Check
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t VerifyOffset(const size_t start) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::VerifyOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - start
    argTypes:
    - uint8_t*
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: flatbuffers::VerifyOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::VerifyOffset
    linkageType: ''
    returnType: uoffset_t
    signature: "uoffset_t VerifyOffset(const uint8_t *const base,\n                         const
      voffset_t start) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Check
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: flatbuffers::VerifyComplexity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 4
    functionsReached:
    - flatbuffers::Check
    linkageType: ''
    returnType: bool
    signature: bool VerifyComplexity()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: flatbuffers::EndTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndTable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: flatbuffers::GetComputedSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t GetComputedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: flatbuffers::GetFlexReuseTracker
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> *GetFlexReuseTracker()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rt
    argTypes:
    - std::vector<uint8_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: flatbuffers::SetFlexReuseTracker
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetFlexReuseTracker(std::vector<uint8_t> *const rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DetachedBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - allocator
    - own_allocator
    - buf
    - reserved
    - cur
    - sz
    argTypes:
    - Allocator*
    - bool
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DetachedBuffer(Allocator *allocator, bool own_allocator, uint8_t
      *buf,\n                 size_t reserved, uint8_t *cur, size_t sz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - DetachedBuffer::reset
    linkageType: ''
    returnType: void
    signature: void DetachedBuffer(DetachedBuffer &&other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:61,1
    - Dst: DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - other
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: '&operator=(DetachedBuffer &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - destroy
    - DetachedBuffer::reset
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer &operator=(DetachedBuffer &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~DetachedBuffer()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~DetachedBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::DetachedBuffer::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::DetachedBuffer::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: flatbuffers::DetachedBuffer::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:97,1
    - Dst: flatbuffers::DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: flatbuffers::DetachedBuffer::destroy
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - flatbuffers::DetachedBuffer::reset
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: flatbuffers::DetachedBuffer::reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DetachedBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - allocator
    - own_allocator
    - buf
    - reserved
    - cur
    - sz
    argTypes:
    - Allocator*
    - bool
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DetachedBuffer(Allocator *allocator, bool own_allocator, uint8_t
      *buf,\n                 size_t reserved, uint8_t *cur, size_t sz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: flatbuffers::DetachedBuffer::DetachedBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - DetachedBuffer::reset
    linkageType: ''
    returnType: void
    signature: void DetachedBuffer(DetachedBuffer &&other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:61,1
    - Dst: DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - other
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: '&operator=(DetachedBuffer &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - destroy
    - DetachedBuffer::reset
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer &operator=(DetachedBuffer &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~DetachedBuffer()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~DetachedBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: flatbuffers::DetachedBuffer::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::DetachedBuffer::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: flatbuffers::DetachedBuffer::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:97,1
    - Dst: flatbuffers::DetachedBuffer::reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: flatbuffers::DetachedBuffer::destroy
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 0
    functionsReached:
    - flatbuffers::DetachedBuffer::reset
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void destroy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: flatbuffers::DetachedBuffer::reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_id
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: flatbuffers::FieldIndexToOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - static_cast<voffset_t>
    linkageType: ''
    returnType: voffset_t
    signature: voffset_t FieldIndexToOffset(voffset_t field_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T, Alloc>::empty
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    - Dst: std::vector<T, Alloc>::front
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: flatbuffers::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - std::vector<T, Alloc>::empty
    - std::vector<T, Alloc>::front
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data(const std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T, Alloc>::empty
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    - Dst: std::vector<T, Alloc>::front
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: flatbuffers::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<T *>
    - std::vector<T, Alloc>::empty
    - std::vector<T, Alloc>::front
    linkageType: ''
    returnType: T
    signature: T *data(std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AlignOf<largest_scalar_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:87,1
    - Dst: EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: flatbuffers::FlatBufferBuilder::FlatBufferBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<largest_scalar_t>
    - EndianCheck
    linkageType: ''
    returnType: void
    signature: "void FlatBufferBuilder(\n      size_t initial_size = 1024, Allocator
      *allocator = nullptr,\n      bool own_allocator = false,\n      size_t buffer_minalign
      = AlignOf<largest_scalar_t>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AlignOf<largest_scalar_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:102,1
    - Dst: EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:111,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: flatbuffers::FlatBufferBuilder::FlatBufferBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<largest_scalar_t>
    - EndianCheck
    - flatbuffers::FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void FlatBufferBuilder(FlatBufferBuilder &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&operator=(FlatBufferBuilder &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: FlatBufferBuilder
    signature: FlatBufferBuilder &operator=(FlatBufferBuilder &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:128,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:129,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:130,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:131,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:132,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:133,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:134,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:135,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: flatbuffers::FlatBufferBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(FlatBufferBuilder &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: ~FlatBufferBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlatBufferBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:144,1
    - Dst: reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: flatbuffers::FlatBufferBuilder::Reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Clear
    - reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ClearOffsets
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:151,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:152,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: flatbuffers::FlatBufferBuilder::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ClearOffsets
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: flatbuffers::FlatBufferBuilder::GetSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:167,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: flatbuffers::FlatBufferBuilder::GetBufferPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finished
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetBufferPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:175,1
    - Dst: flatbuffers::span<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: flatbuffers::FlatBufferBuilder::GetBufferSpan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - size
    - flatbuffers::span<uint8_t>
    - flatbuffers::FlatBufferBuilder::Finished
    - data
    linkageType: ''
    returnType: flatbuffers::span<uint8_t>
    signature: flatbuffers::span<uint8_t> GetBufferSpan() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetCurrentBufferPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:189,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ReleaseBufferPointer
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - release
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"use Release() instead\")]])\n
      \ DetachedBuffer ReleaseBufferPointer()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:196,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: flatbuffers::FlatBufferBuilder::Release
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - release
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:210,1
    - Dst: release_raw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - offset
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: flatbuffers::FlatBufferBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - release_raw
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: flatbuffers::FlatBufferBuilder::GetBufferMinAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: size_t
    signature: size_t GetBufferMinAlignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: flatbuffers::FlatBufferBuilder::Finished
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void Finished() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: flatbuffers::FlatBufferBuilder::ForceDefaults
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceDefaults(bool fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dedup
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: flatbuffers::FlatBufferBuilder::DedupVtables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DedupVtables(bool dedup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: flatbuffers::FlatBufferBuilder::Pad
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: void Pad(size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - elem_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: flatbuffers::FlatBufferBuilder::TrackMinAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackMinAlign(size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:254,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    - Dst: PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: flatbuffers::FlatBufferBuilder::Align
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackMinAlign
    - fill
    - PaddingBytes
    - size
    linkageType: ''
    returnType: void
    signature: void Align(size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: flatbuffers::FlatBufferBuilder::PushFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushBytes
    linkageType: ''
    returnType: void
    signature: void PushFlatBuffer(const uint8_t *bytes, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: flatbuffers::FlatBufferBuilder::PushBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void PushBytes(const uint8_t *bytes, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: flatbuffers::FlatBufferBuilder::PopBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - pop
    linkageType: ''
    returnType: void
    signature: void PopBytes(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: flatbuffers::FlatBufferBuilder::AssertScalarT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertScalarT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:274,1
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:275,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:276,1
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:276,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - element
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: flatbuffers::FlatBufferBuilder::PushElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - push_small
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t PushElement(T element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:282,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: flatbuffers::FlatBufferBuilder::PushElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::ReferTo
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t PushElement(Offset<T> off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: flatbuffers::FlatBufferBuilder::TrackField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - scratch_push_small
    linkageType: ''
    returnType: void
    signature: void TrackField(voffset_t field, uoffset_t off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:297,1
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:298,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - field
    - e
    - def
    argTypes:
    - voffset_t
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: flatbuffers::FlatBufferBuilder::AddElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::TrackField
    - IsTheSameAs
    linkageType: ''
    returnType: void
    signature: void AddElement(voffset_t field, T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:302,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - e
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: flatbuffers::FlatBufferBuilder::AddElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::TrackField
    linkageType: ''
    returnType: void
    signature: void AddElement(voffset_t field, T e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Offset<T>::IsNull
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:306,1
    - Dst: flatbuffers::FlatBufferBuilder::AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: flatbuffers::FlatBufferBuilder::AddOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ReferTo
    - static_cast<uoffset_t>
    - flatbuffers::FlatBufferBuilder::AddElement
    - Offset<T>::IsNull
    linkageType: ''
    returnType: void
    signature: void AddOffset(voffset_t field, Offset<T> off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:312,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:312,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:313,1
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:314,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field
    - structptr
    argTypes:
    - voffset_t
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: flatbuffers::FlatBufferBuilder::AddStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::TrackField
    - flatbuffers::FlatBufferBuilder::GetSize
    - AlignOf<T>
    - push_small
    linkageType: ''
    returnType: void
    signature: void AddStruct(voffset_t field, const T *structptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: flatbuffers::FlatBufferBuilder::AddStructOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackField
    linkageType: ''
    returnType: void
    signature: void AddStructOffset(voffset_t field, uoffset_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:326,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:328,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:329,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: flatbuffers::FlatBufferBuilder::ReferTo
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - static_cast<uoffset_t>
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::Align
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t ReferTo(uoffset_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:342,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: flatbuffers::FlatBufferBuilder::NotNested
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void NotNested()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:350,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: flatbuffers::FlatBufferBuilder::StartTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::NotNested
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t StartTable()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:360,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:363,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:370,1
    - Dst: FieldIndexToOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:371,1
    - Dst: fill_big
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:372,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:375,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:376,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:376,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:377,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:378,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:378,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:380,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:381,1
    - Dst: reinterpret_cast<FieldLoc *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:382,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:383,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:385,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:386,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:386,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:387,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:387,1
    - Dst: flatbuffers::FlatBufferBuilder::ClearOffsets
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:389,1
    - Dst: reinterpret_cast<voffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:390,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:390,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:391,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:392,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:396,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:396,1
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:398,1
    - Dst: reinterpret_cast<voffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:399,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:399,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:400,1
    - Dst: memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:401,1
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:403,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:403,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:408,1
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:408,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:414,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:414,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:415,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - start
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 420
    functionName: flatbuffers::FlatBufferBuilder::EndTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - WriteScalar<voffset_t>
    - pop
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::PushElement
    - ReadScalar<voffset_t>
    - scratch_end
    - data
    - FieldIndexToOffset
    - reinterpret_cast<uoffset_t *>
    - fill_big
    - static_cast<voffset_t>
    - FLATBUFFERS_ASSERT
    - WriteScalar
    - static_cast<soffset_t>
    - memcmp
    - data_at
    - reinterpret_cast<FieldLoc *>
    - flatbuffers::FlatBufferBuilder::ClearOffsets
    - scratch_push_small
    - reinterpret_cast<voffset_t *>
    - scratch_data
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndTable(uoffset_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - EndTable
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndTable
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"call the version above instead\")]])\n
      \ uoffset_t EndTable(uoffset_t start, voffset_t /*numfields*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:432,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: flatbuffers::FlatBufferBuilder::StartStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::Align
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t StartStruct(size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: flatbuffers::FlatBufferBuilder::EndStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndStruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: flatbuffers::FlatBufferBuilder::ClearOffsets
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - scratch_pop
    linkageType: ''
    returnType: void
    signature: void ClearOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:448,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    - Dst: PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: flatbuffers::FlatBufferBuilder::PreAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackMinAlign
    - fill
    - PaddingBytes
    - flatbuffers::FlatBufferBuilder::GetSize
    linkageType: ''
    returnType: void
    signature: void PreAlign(size_t len, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:452,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:453,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: flatbuffers::FlatBufferBuilder::PreAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: void
    signature: void PreAlign(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:462,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:463,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:464,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:465,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:465,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:466,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:466,1
    - Dst: Offset<String>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:467,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 24
    functionsReached:
    - flatbuffers::FlatBufferBuilder::NotNested
    - static_cast<uoffset_t>
    - flatbuffers::FlatBufferBuilder::GetSize
    - fill
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::FlatBufferBuilder::PushElement
    - Offset<String>
    - flatbuffers::FlatBufferBuilder::PushBytes
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:474,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 25
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:481,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 26
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 27
    functionsReached:
    - std::string::length
    - flatbuffers::FlatBufferBuilder::CreateString
    - std::string::c_str
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    - Dst: flatbuffers::string_view::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    - Dst: flatbuffers::string_view::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flatbuffers::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 28
    functionsReached:
    - flatbuffers::string_view::size
    - flatbuffers::FlatBufferBuilder::CreateString
    - flatbuffers::string_view::data
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(flatbuffers::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    - Dst: String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 29
    functionsReached:
    - String*::size
    - String*::c_str
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    - Dst: T::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    - Dst: T::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 30
    functionsReached:
    - T::c_str
    - T::length
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const T &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:525,1
    - Dst: flatbuffers::FlatBufferBuilder::StringOffsetCompare
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:527,1
    - Dst: StringOffsetMap::StringOffsetMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:527,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:528,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:531,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:532,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:534,1
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:536,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:536,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 542
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - find
    - flatbuffers::FlatBufferBuilder::CreateString
    - size
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::StringOffsetCompare
    - end
    - pop
    - insert
    - StringOffsetMap::StringOffsetMap
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    - Dst: flatbuffers::string_view::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    - Dst: flatbuffers::string_view::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flatbuffers::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    - flatbuffers::string_view::size
    - flatbuffers::string_view::data
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const flatbuffers::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:562,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 3
    functionsReached:
    - std::string::length
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    - std::string::c_str
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    - Dst: String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - String*::size
    - String*::c_str
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:588,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:590,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: flatbuffers::FlatBufferBuilder::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - static_cast<uoffset_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndVector(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:594,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:596,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - len
    - elemsize
    - alignment
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: flatbuffers::FlatBufferBuilder::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: void
    signature: void StartVector(size_t len, size_t elemsize, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:601,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: flatbuffers::FlatBufferBuilder::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: void
    signature: void StartVector(size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:611,1
    - Dst: VerifyAlignmentRequirements
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:611,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - len
    - elemsize
    - alignment
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: flatbuffers::FlatBufferBuilder::ForceVectorAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - VerifyAlignmentRequirements
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ForceVectorAlignment(size_t len, size_t elemsize, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:618,1
    - Dst: VerifyAlignmentRequirements
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:618,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: flatbuffers::FlatBufferBuilder::ForceStringAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - VerifyAlignmentRequirements
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ForceStringAlignment(size_t len, size_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:634,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:635,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:636,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:636,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:639,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:639,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:642,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:642,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:645,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:650,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 651
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 20
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::PushBytes
    - Offset<Vector<T>>
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const T *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    - Dst: C::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    - Dst: C::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 21
    functionsReached:
    - C::data
    - C::size
    - flatbuffers::FlatBufferBuilder::CreateVector
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const C &array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    - Dst: std::initializer_list<T>::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    - Dst: std::initializer_list<T>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::initializer_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 22
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::initializer_list<T>::size
    - std::initializer_list<T>::begin
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(std::initializer_list<T> v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:676,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:677,1
    - Dst: Offset<Vector<Offset<T>>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:678,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - Offset<T>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 22
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - Offset<Vector<Offset<T>>>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: Offset<Vector<Offset<T>>> CreateVector(const Offset<T> *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    - Dst: std::vector<T, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 23
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::vector<T, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:696,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:696,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:697,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:698,1
    - Dst: Offset<Vector<uint8_t>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 23
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::PushElement
    - std::vector<bool>::size
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<uint8_t>>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Offset<Vector<uint8_t>>
    signature: Offset<Vector<uint8_t>> CreateVector(const std::vector<bool> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:713,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:715,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vector_size
    - f
    argTypes:
    - size_t
    - std::function<T(size_t i)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 24
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - f
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: "Offset<Vector<T>> CreateVector(size_t vector_size,\n                                 const
      std::function<T(size_t i)> &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:732,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:734,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vector_size
    - f
    - state
    argTypes:
    - size_t
    - F
    - S*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 25
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - f
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(size_t vector_size, F f, S *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    - Dst: std::vector<StringType, Alloc>::cbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    - Dst: std::vector<StringType, Alloc>::cend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<StringType, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - std::vector<StringType, Alloc>::cend
    - std::vector<StringType, Alloc>::cbegin
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    linkageType: ''
    returnType: Offset<Vector<Offset<String>>>
    signature: "Offset<Vector<Offset<String>>> CreateVectorOfStrings(\n      const
      std::vector<StringType, Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:761,1
    - Dst: ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:766,1
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:768,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:768,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:770,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:774,1
    - Dst: reinterpret_cast<Offset<String> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:774,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:775,1
    - Dst: scratch_pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:777,1
    - Dst: Offset<Vector<Offset<String>>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:778,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 779
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - scratch_pop
    - flatbuffers::FlatBufferBuilder::CreateString
    - scratch_push_small
    - flatbuffers::FlatBufferBuilder::StartVector
    - reinterpret_cast<Offset<String> *>
    - ensure_space
    - Offset<Vector<Offset<String>>>
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::EndVector
    - distance
    - scratch_end
    linkageType: ''
    returnType: Offset<Vector<Offset<String>>>
    signature: Offset<Vector<Offset<String>>> CreateVectorOfStrings(It begin, It end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:792,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:792,1
    - Dst: Offset<Vector<const T *>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:794,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 795
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - Offset<Vector<const T *>>
    - flatbuffers::FlatBufferBuilder::StartVector
    - reinterpret_cast<const uint8_t *>
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::PushBytes
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> CreateVectorOfStructs(const T *v, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:810,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:811,1
    - Dst: pack_func
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:812,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 814
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - pack_func
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      S *v, size_t len, T (*const pack_func)(const S &))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(const S *v,\n
      \                                                       size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:842,1
    - Dst: filler
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:844,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vector_size
    - filler
    argTypes:
    - size_t
    - std::function<void(size_t i, T *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 848
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - filler
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(\n      size_t vector_size,
      const std::function<void(size_t i, T *)> &filler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:862,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:864,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vector_size
    - f
    - state
    argTypes:
    - size_t
    - F
    - S*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 868
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - f
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(size_t vector_size,
      F f,\n                                                  S *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    - Dst: std::vector<T, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    - std::vector<T, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(\n      const std::vector<T,
      Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    - Dst: std::vector<S, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    - std::vector<S, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      std::vector<S, Alloc> &v, T (*const pack_func)(const S &))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    - Dst: std::vector<S, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 3
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    - std::vector<S, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      std::vector<S, Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::KeyCompareLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: operator()(const T &a, const T &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - T::KeyCompareLessThan
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T &a, const T &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    - Dst: std::vector<T, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - data
    - std::vector<T, Alloc>*::size
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedStructs(\n      std::vector<T,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    - Dst: std::vector<S, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    - std::vector<S, Alloc>*::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedNativeStructs(\n      std::vector<S,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:957,1
    - Dst: StructKeyComparator<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:957,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 4
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    - StructKeyComparator<T>
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> CreateVectorOfSortedStructs(T *v, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:974,1
    - Dst: Pack
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:975,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:976,1
    - Dst: StructKeyComparator<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:976,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 978
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - Pack
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - StructKeyComparator<T>
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedNativeStructs(S *v,\n
      \                                                             size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 982
    functionName: flatbuffers::FlatBufferBuilder::TableKeyComparator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableKeyComparator(vector_downward &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - TableKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: flatbuffers::FlatBufferBuilder::TableKeyComparator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableKeyComparator(const TableKeyComparator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:985,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:985,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:986,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:986,1
    - Dst: auto::KeyCompareLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Offset<T>
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: operator()(const Offset<T> &a, const Offset<T> &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - auto::KeyCompareLessThan
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Offset<T> &a, const Offset<T> &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1008,1
    - Dst: flatbuffers::FlatBufferBuilder::TableKeyComparator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1008,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - Offset<T>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 14
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TableKeyComparator
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: "Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(Offset<T> *v,\n
      \                                                      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    - Dst: std::vector<Offset<T>, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<Offset<T>, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 15
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - std::vector<Offset<T>, Alloc>*::size
    - data
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: "Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(\n      std::vector<Offset<T>,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1034,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1035,1
    - Dst: make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1036,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1037,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1038,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - len
    - elemsize
    - alignment
    - buf
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1032
    functionDepth: 3
    functionLinenumber: 1032
    functionLinenumberEnd: 1041
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::EndVector
    - make_space
    linkageType: ''
    returnType: uoffset_t
    signature: "uoffset_t CreateUninitializedVector(size_t len, size_t elemsize,\n
      \                                     size_t alignment, uint8_t **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - CreateUninitializedVector
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1047
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"call the version above instead\")]])\n
      \ uoffset_t CreateUninitializedVector(size_t len, size_t elemsize,\n                                      uint8_t
      **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1059,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1060,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1060,1
    - Dst: reinterpret_cast<uint8_t **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - T**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - AlignOf<T>
    - reinterpret_cast<uint8_t **>
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateUninitializedVector(size_t len, T **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1067,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1067,1
    - Dst: reinterpret_cast<uint8_t **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - T**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 4
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<T>
    - reinterpret_cast<uint8_t **>
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateUninitializedVectorOfStructs(size_t
      len,\n                                                               T **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1076,1
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1077,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1078,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1079,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1079,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1080,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - U*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorScalarCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<T>>
    - static_cast<T>
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVectorScalarCast(const U *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1085,1
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1086,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1086,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1087,1
    - Dst: Offset<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1088,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - structobj
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: flatbuffers::FlatBufferBuilder::CreateStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::NotNested
    - Offset<const T *>
    - flatbuffers::FlatBufferBuilder::GetSize
    - AlignOf<T>
    - push_small
    linkageType: ''
    returnType: Offset<const T *>
    signature: Offset<const T *> CreateStruct(const T &structobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: flatbuffers::FlatBufferBuilder::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 7
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: void Finish(Offset<T> root, const char *file_identifier = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixed(Offset<T> root,\n                          const
      char *file_identifier = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: flatbuffers::FlatBufferBuilder::SwapBufAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - swap_allocator
    linkageType: ''
    returnType: void
    signature: void SwapBufAllocator(FlatBufferBuilder &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1126,1
    - Dst: clear_scratch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1127,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1129,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1133,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1133,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1134,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1134,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1137,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1137,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1138,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - root
    - file_identifier
    - size_prefix
    argTypes:
    - uoffset_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1140
    functionName: flatbuffers::FlatBufferBuilder::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 8
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ReferTo
    - clear_scratch
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::PushElement
    - reinterpret_cast<const uint8_t *>
    - strlen
    - flatbuffers::FlatBufferBuilder::PushBytes
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void Finish(uoffset_t root, const char *file_identifier, bool size_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: flatbuffers::FlatBufferBuilder::StringOffsetCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOffsetCompare(const vector_downward &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1171,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1171,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1172,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1172,1
    - Dst: flatbuffers::StringLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Offset<String>
    - Offset<String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: operator()(const Offset<String> &a, const Offset<String> &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - flatbuffers::StringLessThan
    - reinterpret_cast<const String *>
    - auto::data
    - auto::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Offset<String> &a, const Offset<String> &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1188,1
    - Dst: make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vector_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<T *>
    - AlignOf<T>
    - make_space
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: T
    signature: T *StartVectorOfStructs(size_t vector_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Offset<Vector<const T *>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1195,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vector_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1196
    functionName: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<const T *>>
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> EndVectorOfStructs(size_t vector_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    - Dst: FlatBufferBuilder::GetCurrentBufferPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    - Dst: FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - offset
    argTypes:
    - FlatBufferBuilder
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: flatbuffers::GetMutableTemporaryPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - FlatBufferBuilder::GetSize
    - FlatBufferBuilder::GetCurrentBufferPointer
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T *GetMutableTemporaryPointer(FlatBufferBuilder &fbb, Offset<T> offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableTemporaryPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - offset
    argTypes:
    - FlatBufferBuilder
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: flatbuffers::GetTemporaryPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableTemporaryPointer
    linkageType: ''
    returnType: T
    signature: T *GetTemporaryPointer(FlatBufferBuilder &fbb, Offset<T> offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1216,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1216,1
    - Dst: auto::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1217,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Offset<T>
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1221
    functionName: flatbuffers::FlatBufferBuilder::Required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - auto::GetOptionalFieldOffset
    - reinterpret_cast<const Table *>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void FlatBufferBuilder::Required(Offset<T> table, voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field_id
    argTypes:
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: flatbuffers::FieldIndexToOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - static_cast<voffset_t>
    linkageType: ''
    returnType: voffset_t
    signature: voffset_t FieldIndexToOffset(voffset_t field_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T, Alloc>::empty
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    - Dst: std::vector<T, Alloc>::front
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: flatbuffers::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - std::vector<T, Alloc>::empty
    - std::vector<T, Alloc>::front
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T *data(const std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<T, Alloc>::empty
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    - Dst: std::vector<T, Alloc>::front
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: flatbuffers::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<T *>
    - std::vector<T, Alloc>::empty
    - std::vector<T, Alloc>::front
    linkageType: ''
    returnType: T
    signature: T *data(std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AlignOf<largest_scalar_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:87,1
    - Dst: EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: flatbuffers::FlatBufferBuilder::FlatBufferBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<largest_scalar_t>
    - EndianCheck
    linkageType: ''
    returnType: void
    signature: "void FlatBufferBuilder(\n      size_t initial_size = 1024, Allocator
      *allocator = nullptr,\n      bool own_allocator = false,\n      size_t buffer_minalign
      = AlignOf<largest_scalar_t>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AlignOf<largest_scalar_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:102,1
    - Dst: EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:111,1
    - Dst: flatbuffers::FlatBufferBuilder::Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: flatbuffers::FlatBufferBuilder::FlatBufferBuilder
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<largest_scalar_t>
    - EndianCheck
    - flatbuffers::FlatBufferBuilder::Swap
    linkageType: ''
    returnType: void
    signature: void FlatBufferBuilder(FlatBufferBuilder &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: '&operator=(FlatBufferBuilder &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - Swap
    linkageType: ''
    returnType: FlatBufferBuilder
    signature: FlatBufferBuilder &operator=(FlatBufferBuilder &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:128,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:129,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:130,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:131,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:132,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:133,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:134,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:135,1
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: flatbuffers::FlatBufferBuilder::Swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(FlatBufferBuilder &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: ~FlatBufferBuilder()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FlatBufferBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:144,1
    - Dst: reset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: flatbuffers::FlatBufferBuilder::Reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Clear
    - reset
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::ClearOffsets
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:151,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:152,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: flatbuffers::FlatBufferBuilder::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ClearOffsets
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: flatbuffers::FlatBufferBuilder::GetSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:167,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: flatbuffers::FlatBufferBuilder::GetBufferPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finished
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetBufferPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:175,1
    - Dst: flatbuffers::span<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: flatbuffers::FlatBufferBuilder::GetBufferSpan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - size
    - flatbuffers::span<uint8_t>
    - flatbuffers::FlatBufferBuilder::Finished
    - data
    linkageType: ''
    returnType: flatbuffers::span<uint8_t>
    signature: flatbuffers::span<uint8_t> GetBufferSpan() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *GetCurrentBufferPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:189,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ReleaseBufferPointer
    argTypes:
    - DetachedBuffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - release
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"use Release() instead\")]])\n
      \ DetachedBuffer ReleaseBufferPointer()"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:196,1
    - Dst: release
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: flatbuffers::FlatBufferBuilder::Release
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - release
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer Release()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:210,1
    - Dst: release_raw
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - size
    - offset
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: flatbuffers::FlatBufferBuilder::ReleaseRaw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - release_raw
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ReleaseRaw(size_t &size, size_t &offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finished
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: flatbuffers::FlatBufferBuilder::GetBufferMinAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finished
    linkageType: ''
    returnType: size_t
    signature: size_t GetBufferMinAlignment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: flatbuffers::FlatBufferBuilder::Finished
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 12
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void Finished() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: flatbuffers::FlatBufferBuilder::ForceDefaults
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ForceDefaults(bool fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dedup
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: flatbuffers::FlatBufferBuilder::DedupVtables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DedupVtables(bool dedup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: flatbuffers::FlatBufferBuilder::Pad
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: void Pad(size_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - elem_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: flatbuffers::FlatBufferBuilder::TrackMinAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackMinAlign(size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:254,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    - Dst: PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: flatbuffers::FlatBufferBuilder::Align
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackMinAlign
    - fill
    - PaddingBytes
    - size
    linkageType: ''
    returnType: void
    signature: void Align(size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: flatbuffers::FlatBufferBuilder::PushFlatBuffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushBytes
    linkageType: ''
    returnType: void
    signature: void PushFlatBuffer(const uint8_t *bytes, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 263
    functionName: flatbuffers::FlatBufferBuilder::PushBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void PushBytes(const uint8_t *bytes, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: flatbuffers::FlatBufferBuilder::PopBytes
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - pop
    linkageType: ''
    returnType: void
    signature: void PopBytes(size_t amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: flatbuffers::FlatBufferBuilder::AssertScalarT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertScalarT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:274,1
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:275,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:276,1
    - Dst: EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:276,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - element
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: flatbuffers::FlatBufferBuilder::PushElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 12
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - push_small
    - EndianScalar
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t PushElement(T element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:282,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: flatbuffers::FlatBufferBuilder::PushElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 13
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::ReferTo
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t PushElement(Offset<T> off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: flatbuffers::FlatBufferBuilder::TrackField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - scratch_push_small
    linkageType: ''
    returnType: void
    signature: void TrackField(voffset_t field, uoffset_t off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsTheSameAs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:297,1
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:298,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - field
    - e
    - def
    argTypes:
    - voffset_t
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: flatbuffers::FlatBufferBuilder::AddElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::TrackField
    - IsTheSameAs
    linkageType: ''
    returnType: void
    signature: void AddElement(voffset_t field, T e, T def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:302,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - e
    argTypes:
    - voffset_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: flatbuffers::FlatBufferBuilder::AddElement
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::TrackField
    linkageType: ''
    returnType: void
    signature: void AddElement(voffset_t field, T e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Offset<T>::IsNull
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:306,1
    - Dst: flatbuffers::FlatBufferBuilder::AddElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: flatbuffers::FlatBufferBuilder::AddOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ReferTo
    - static_cast<uoffset_t>
    - flatbuffers::FlatBufferBuilder::AddElement
    - Offset<T>::IsNull
    linkageType: ''
    returnType: void
    signature: void AddOffset(voffset_t field, Offset<T> off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:312,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:312,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:313,1
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:314,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field
    - structptr
    argTypes:
    - voffset_t
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: flatbuffers::FlatBufferBuilder::AddStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::TrackField
    - flatbuffers::FlatBufferBuilder::GetSize
    - AlignOf<T>
    - push_small
    linkageType: ''
    returnType: void
    signature: void AddStruct(voffset_t field, const T *structptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - 'off'
    argTypes:
    - voffset_t
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: flatbuffers::FlatBufferBuilder::AddStructOffset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackField
    linkageType: ''
    returnType: void
    signature: void AddStructOffset(voffset_t field, uoffset_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:326,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:328,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:329,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - 'off'
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: flatbuffers::FlatBufferBuilder::ReferTo
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - static_cast<uoffset_t>
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::Align
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t ReferTo(uoffset_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:342,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: flatbuffers::FlatBufferBuilder::NotNested
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void NotNested()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:350,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: flatbuffers::FlatBufferBuilder::StartTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::NotNested
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t StartTable()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:360,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:363,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:370,1
    - Dst: FieldIndexToOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:371,1
    - Dst: fill_big
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:372,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:375,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:376,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:376,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:377,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:378,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:378,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:380,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:381,1
    - Dst: reinterpret_cast<FieldLoc *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:382,1
    - Dst: static_cast<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:383,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:385,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:386,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:386,1
    - Dst: WriteScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:387,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:387,1
    - Dst: flatbuffers::FlatBufferBuilder::ClearOffsets
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:389,1
    - Dst: reinterpret_cast<voffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:390,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:390,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:391,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:392,1
    - Dst: scratch_data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:396,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:396,1
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:398,1
    - Dst: reinterpret_cast<voffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:399,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:399,1
    - Dst: ReadScalar<voffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:400,1
    - Dst: memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:401,1
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:403,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:403,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:408,1
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:408,1
    - Dst: WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:414,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:414,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:415,1
    - Dst: static_cast<soffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - start
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 420
    functionName: flatbuffers::FlatBufferBuilder::EndTable
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - WriteScalar<voffset_t>
    - pop
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::PushElement
    - ReadScalar<voffset_t>
    - scratch_end
    - data
    - FieldIndexToOffset
    - reinterpret_cast<uoffset_t *>
    - fill_big
    - static_cast<voffset_t>
    - FLATBUFFERS_ASSERT
    - WriteScalar
    - static_cast<soffset_t>
    - memcmp
    - data_at
    - reinterpret_cast<FieldLoc *>
    - flatbuffers::FlatBufferBuilder::ClearOffsets
    - scratch_push_small
    - reinterpret_cast<voffset_t *>
    - scratch_data
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndTable(uoffset_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::EndTable
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - EndTable
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndTable
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"call the version above instead\")]])\n
      \ uoffset_t EndTable(uoffset_t start, voffset_t /*numfields*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:432,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alignment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: flatbuffers::FlatBufferBuilder::StartStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::Align
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t StartStruct(size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: flatbuffers::FlatBufferBuilder::EndStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::GetSize
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndStruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scratch_pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: flatbuffers::FlatBufferBuilder::ClearOffsets
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - scratch_pop
    linkageType: ''
    returnType: void
    signature: void ClearOffsets()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::TrackMinAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:448,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    - Dst: PaddingBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: flatbuffers::FlatBufferBuilder::PreAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TrackMinAlign
    - fill
    - PaddingBytes
    - flatbuffers::FlatBufferBuilder::GetSize
    linkageType: ''
    returnType: void
    signature: void PreAlign(size_t len, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:452,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:453,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: flatbuffers::FlatBufferBuilder::PreAlign
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 7
    functionsReached:
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: void
    signature: void PreAlign(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:462,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:463,1
    - Dst: fill
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:464,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:465,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:465,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:466,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:466,1
    - Dst: Offset<String>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:467,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 32
    functionsReached:
    - flatbuffers::FlatBufferBuilder::NotNested
    - static_cast<uoffset_t>
    - flatbuffers::FlatBufferBuilder::GetSize
    - fill
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::FlatBufferBuilder::PushElement
    - Offset<String>
    - flatbuffers::FlatBufferBuilder::PushBytes
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:474,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 33
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:481,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 34
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 35
    functionsReached:
    - std::string::length
    - flatbuffers::FlatBufferBuilder::CreateString
    - std::string::c_str
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    - Dst: flatbuffers::string_view::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    - Dst: flatbuffers::string_view::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flatbuffers::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 36
    functionsReached:
    - flatbuffers::string_view::size
    - flatbuffers::FlatBufferBuilder::CreateString
    - flatbuffers::string_view::data
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(flatbuffers::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    - Dst: String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 37
    functionsReached:
    - String*::size
    - String*::c_str
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    - Dst: T::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    - Dst: T::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: flatbuffers::FlatBufferBuilder::CreateString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 38
    functionsReached:
    - T::c_str
    - T::length
    - flatbuffers::FlatBufferBuilder::CreateString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateString(const T &str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:525,1
    - Dst: flatbuffers::FlatBufferBuilder::StringOffsetCompare
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:527,1
    - Dst: StringOffsetMap::StringOffsetMap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:527,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:528,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:531,1
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:532,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:534,1
    - Dst: pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:536,1
    - Dst: size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:536,1
    - Dst: insert
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 542
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - find
    - flatbuffers::FlatBufferBuilder::CreateString
    - size
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::StringOffsetCompare
    - end
    - pop
    - insert
    - StringOffsetMap::StringOffsetMap
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    - Dst: flatbuffers::string_view::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    - Dst: flatbuffers::string_view::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - flatbuffers::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    - flatbuffers::string_view::size
    - flatbuffers::string_view::data
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const flatbuffers::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:562,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 563
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - strlen
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    - Dst: std::string::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    - Dst: std::string::length
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 7
    functionsReached:
    - std::string::length
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    - std::string::c_str
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const std::string &str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateSharedString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    - Dst: String*::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    - Dst: String*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: flatbuffers::FlatBufferBuilder::CreateSharedString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 8
    functionsReached:
    - String*::size
    - String*::c_str
    - flatbuffers::FlatBufferBuilder::CreateSharedString
    linkageType: ''
    returnType: Offset<String>
    signature: Offset<String> CreateSharedString(const String *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:588,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:590,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: flatbuffers::FlatBufferBuilder::EndVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 8
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - static_cast<uoffset_t>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t EndVector(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:594,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:596,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - len
    - elemsize
    - alignment
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: flatbuffers::FlatBufferBuilder::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 9
    functionsReached:
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::PreAlign
    linkageType: ''
    returnType: void
    signature: void StartVector(size_t len, size_t elemsize, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:601,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: flatbuffers::FlatBufferBuilder::StartVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: void
    signature: void StartVector(size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:611,1
    - Dst: VerifyAlignmentRequirements
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:611,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - len
    - elemsize
    - alignment
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 613
    functionName: flatbuffers::FlatBufferBuilder::ForceVectorAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - VerifyAlignmentRequirements
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ForceVectorAlignment(size_t len, size_t elemsize, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:618,1
    - Dst: VerifyAlignmentRequirements
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:618,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - len
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: flatbuffers::FlatBufferBuilder::ForceStringAlignment
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - VerifyAlignmentRequirements
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void ForceStringAlignment(size_t len, size_t alignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:634,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:635,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:636,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:636,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:639,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:639,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:642,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:642,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:645,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:650,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 651
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 26
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - reinterpret_cast<const uint8_t *>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::PushBytes
    - Offset<Vector<T>>
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const T *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    - Dst: C::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    - Dst: C::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - C
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 27
    functionsReached:
    - C::data
    - C::size
    - flatbuffers::FlatBufferBuilder::CreateVector
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const C &array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    - Dst: std::initializer_list<T>::begin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    - Dst: std::initializer_list<T>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::initializer_list<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 28
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::initializer_list<T>::size
    - std::initializer_list<T>::begin
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(std::initializer_list<T> v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:676,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:677,1
    - Dst: Offset<Vector<Offset<T>>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:678,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - Offset<T>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 28
    functionsReached:
    - flatbuffers::FlatBufferBuilder::PushElement
    - Offset<Vector<Offset<T>>>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: Offset<Vector<Offset<T>>> CreateVector(const Offset<T> *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    - Dst: std::vector<T, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 29
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::vector<T, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(const std::vector<T, Alloc> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:696,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:696,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:697,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:698,1
    - Dst: static_cast<uint8_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:698,1
    - Dst: Offset<Vector<uint8_t>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    - Dst: std::vector<bool>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 29
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::PushElement
    - std::vector<bool>::size
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<uint8_t>>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: Offset<Vector<uint8_t>>
    signature: Offset<Vector<uint8_t>> CreateVector(const std::vector<bool> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:713,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:715,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vector_size
    - f
    argTypes:
    - size_t
    - std::function<T(size_t i)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 717
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 30
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - f
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: "Offset<Vector<T>> CreateVector(size_t vector_size,\n                                 const
      std::function<T(size_t i)> &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:732,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:734,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vector_size
    - f
    - state
    argTypes:
    - size_t
    - F
    - S*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: flatbuffers::FlatBufferBuilder::CreateVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 31
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVector
    - f
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVector(size_t vector_size, F f, S *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    - Dst: std::vector<StringType, Alloc>::cbegin
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    - Dst: std::vector<StringType, Alloc>::cend
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<StringType, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - std::vector<StringType, Alloc>::cend
    - std::vector<StringType, Alloc>::cbegin
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    linkageType: ''
    returnType: Offset<Vector<Offset<String>>>
    signature: "Offset<Vector<Offset<String>>> CreateVectorOfStrings(\n      const
      std::vector<StringType, Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: distance
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:761,1
    - Dst: ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:766,1
    - Dst: scratch_push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:768,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateString
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:768,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:770,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:774,1
    - Dst: reinterpret_cast<Offset<String> *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:774,1
    - Dst: scratch_end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:775,1
    - Dst: scratch_pop
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:777,1
    - Dst: Offset<Vector<Offset<String>>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:778,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 779
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - scratch_pop
    - flatbuffers::FlatBufferBuilder::CreateString
    - scratch_push_small
    - flatbuffers::FlatBufferBuilder::StartVector
    - reinterpret_cast<Offset<String> *>
    - ensure_space
    - Offset<Vector<Offset<String>>>
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::EndVector
    - distance
    - scratch_end
    linkageType: ''
    returnType: Offset<Vector<Offset<String>>>
    signature: Offset<Vector<Offset<String>>> CreateVectorOfStrings(It begin, It end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:790,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:792,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:792,1
    - Dst: Offset<Vector<const T *>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:794,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 795
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - Offset<Vector<const T *>>
    - flatbuffers::FlatBufferBuilder::StartVector
    - reinterpret_cast<const uint8_t *>
    - AlignOf<T>
    - flatbuffers::FlatBufferBuilder::EndVector
    - flatbuffers::FlatBufferBuilder::PushBytes
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> CreateVectorOfStructs(const T *v, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:810,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:811,1
    - Dst: pack_func
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:812,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 814
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 3
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - pack_func
    - FLATBUFFERS_ASSERT
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      S *v, size_t len, T (*const pack_func)(const S &))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 4
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(const S *v,\n
      \                                                       size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:842,1
    - Dst: filler
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:844,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vector_size
    - filler
    argTypes:
    - size_t
    - std::function<void(size_t i, T *)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 848
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - filler
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(\n      size_t vector_size,
      const std::function<void(size_t i, T *)> &filler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:862,1
    - Dst: f
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:864,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vector_size
    - f
    - state
    argTypes:
    - size_t
    - F
    - S*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 868
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - f
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(size_t vector_size,
      F f,\n                                                  S *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    - Dst: std::vector<T, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 3
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    - std::vector<T, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfStructs(\n      const std::vector<T,
      Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    - Dst: std::vector<S, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    - std::vector<S, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      std::vector<S, Alloc> &v, T (*const pack_func)(const S &))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    - Dst: std::vector<S, Alloc>::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
    - std::vector<S, Alloc>::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfNativeStructs(\n      const
      std::vector<S, Alloc> &v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::KeyCompareLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: operator()(const T &a, const T &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - T::KeyCompareLessThan
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T &a, const T &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    - Dst: std::vector<T, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<T, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - data
    - std::vector<T, Alloc>*::size
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedStructs(\n      std::vector<T,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    - Dst: std::vector<S, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<S, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    - std::vector<S, Alloc>*::size
    - data
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedNativeStructs(\n      std::vector<S,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:957,1
    - Dst: StructKeyComparator<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:957,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - T*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 4
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
    - StructKeyComparator<T>
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> CreateVectorOfSortedStructs(T *v, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:974,1
    - Dst: Pack
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:975,1
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:976,1
    - Dst: StructKeyComparator<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:976,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - S*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 978
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached:
    - Pack
    - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    - StructKeyComparator<T>
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateVectorOfSortedNativeStructs(S *v,\n
      \                                                             size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 982
    functionName: flatbuffers::FlatBufferBuilder::TableKeyComparator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableKeyComparator(vector_downward &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - other
    argTypes:
    - TableKeyComparator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 983
    functionName: flatbuffers::FlatBufferBuilder::TableKeyComparator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TableKeyComparator(const TableKeyComparator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:985,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:985,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:986,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:986,1
    - Dst: auto::KeyCompareLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Offset<T>
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: operator()(const Offset<T> &a, const Offset<T> &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - auto::KeyCompareLessThan
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Offset<T> &a, const Offset<T> &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stable_sort
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1008,1
    - Dst: flatbuffers::FlatBufferBuilder::TableKeyComparator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1008,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - Offset<T>*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 15
    functionsReached:
    - flatbuffers::FlatBufferBuilder::TableKeyComparator
    - flatbuffers::FlatBufferBuilder::CreateVector
    - std::stable_sort
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: "Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(Offset<T> *v,\n
      \                                                      size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    - Dst: std::vector<Offset<T>, Alloc>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<Offset<T>, Alloc>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 16
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
    - std::vector<Offset<T>, Alloc>*::size
    - data
    linkageType: ''
    returnType: Offset<Vector<Offset<T>>>
    signature: "Offset<Vector<Offset<T>>> CreateVectorOfSortedTables(\n      std::vector<Offset<T>,
      Alloc> *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1034,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1035,1
    - Dst: make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1036,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1037,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1038,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - len
    - elemsize
    - alignment
    - buf
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1032
    functionDepth: 3
    functionLinenumber: 1032
    functionLinenumberEnd: 1041
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 3
    functionsReached:
    - data_at
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::EndVector
    - make_space
    linkageType: ''
    returnType: uoffset_t
    signature: "uoffset_t CreateUninitializedVector(size_t len, size_t elemsize,\n
      \                                     size_t alignment, uint8_t **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - CreateUninitializedVector
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1047
    functionName: flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: void
    signature: "void FLATBUFFERS_ATTRIBUTE([[deprecated(\"call the version above instead\")]])\n
      \ uoffset_t CreateUninitializedVector(size_t len, size_t elemsize,\n                                      uint8_t
      **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1059,1
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1060,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1060,1
    - Dst: reinterpret_cast<uint8_t **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - T**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 5
    functionsReached:
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - AlignOf<T>
    - reinterpret_cast<uint8_t **>
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateUninitializedVector(size_t len, T **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::CreateUninitializedVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1067,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1067,1
    - Dst: reinterpret_cast<uint8_t **>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - T**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 4
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: flatbuffers::FlatBufferBuilder::CreateUninitializedVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - AlignOf<T>
    - reinterpret_cast<uint8_t **>
    - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: "Offset<Vector<const T *>> CreateUninitializedVectorOfStructs(size_t
      len,\n                                                               T **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1076,1
    - Dst: flatbuffers::FlatBufferBuilder::AssertScalarT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1077,1
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1078,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1079,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1079,1
    - Dst: Offset<Vector<T>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1080,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - v
    - len
    argTypes:
    - U*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: flatbuffers::FlatBufferBuilder::CreateVectorScalarCast
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::StartVector
    - flatbuffers::FlatBufferBuilder::AssertScalarT
    - flatbuffers::FlatBufferBuilder::PushElement
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<T>>
    - static_cast<T>
    linkageType: ''
    returnType: Offset<Vector<T>>
    signature: Offset<Vector<T>> CreateVectorScalarCast(const U *v, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1085,1
    - Dst: flatbuffers::FlatBufferBuilder::Align
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1086,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1086,1
    - Dst: push_small
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1087,1
    - Dst: Offset<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1088,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - structobj
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: flatbuffers::FlatBufferBuilder::CreateStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Align
    - flatbuffers::FlatBufferBuilder::NotNested
    - Offset<const T *>
    - flatbuffers::FlatBufferBuilder::GetSize
    - AlignOf<T>
    - push_small
    linkageType: ''
    returnType: Offset<const T *>
    signature: Offset<const T *> CreateStruct(const T &structobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: flatbuffers::FlatBufferBuilder::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 9
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: void Finish(Offset<T> root, const char *file_identifier = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::Finish
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: flatbuffers::FlatBufferBuilder::FinishSizePrefixed
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 6
    functionsReached:
    - flatbuffers::FlatBufferBuilder::Finish
    linkageType: ''
    returnType: void
    signature: "void FinishSizePrefixed(Offset<T> root,\n                          const
      char *file_identifier = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - FlatBufferBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: flatbuffers::FlatBufferBuilder::SwapBufAllocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - swap_allocator
    linkageType: ''
    returnType: void
    signature: void SwapBufAllocator(FlatBufferBuilder &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::NotNested
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1126,1
    - Dst: clear_scratch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1127,1
    - Dst: flatbuffers::FlatBufferBuilder::PreAlign
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1129,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1133,1
    - Dst: strlen
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1133,1
    - Dst: flatbuffers::FlatBufferBuilder::PushBytes
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1134,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1134,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1137,1
    - Dst: flatbuffers::FlatBufferBuilder::ReferTo
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1137,1
    - Dst: flatbuffers::FlatBufferBuilder::PushElement
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1138,1
    - Dst: flatbuffers::FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - root
    - file_identifier
    - size_prefix
    argTypes:
    - uoffset_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1140
    functionName: flatbuffers::FlatBufferBuilder::Finish
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 10
    functionsReached:
    - flatbuffers::FlatBufferBuilder::ReferTo
    - clear_scratch
    - flatbuffers::FlatBufferBuilder::NotNested
    - flatbuffers::FlatBufferBuilder::GetSize
    - flatbuffers::FlatBufferBuilder::PushElement
    - reinterpret_cast<const uint8_t *>
    - strlen
    - flatbuffers::FlatBufferBuilder::PushBytes
    - flatbuffers::FlatBufferBuilder::PreAlign
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void Finish(uoffset_t root, const char *file_identifier, bool size_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buf
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: flatbuffers::FlatBufferBuilder::StringOffsetCompare
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOffsetCompare(const vector_downward &buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1171,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1171,1
    - Dst: reinterpret_cast<const String *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1172,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1172,1
    - Dst: StringLessThan
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1173,1
    - Dst: auto::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Offset<String>
    - Offset<String>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: operator()(const Offset<String> &a, const Offset<String> &b) const
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - StringLessThan
    - reinterpret_cast<const String *>
    - auto::data
    - auto::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(const Offset<String> &a, const Offset<String> &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::FlatBufferBuilder::StartVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: AlignOf<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1187,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1188,1
    - Dst: make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vector_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: flatbuffers::FlatBufferBuilder::StartVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<T *>
    - AlignOf<T>
    - make_space
    - flatbuffers::FlatBufferBuilder::StartVector
    linkageType: ''
    returnType: T
    signature: T *StartVectorOfStructs(size_t vector_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Offset<Vector<const T *>>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1195,1
    - Dst: flatbuffers::FlatBufferBuilder::EndVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vector_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1196
    functionName: flatbuffers::FlatBufferBuilder::EndVectorOfStructs
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 8
    functionsReached:
    - flatbuffers::FlatBufferBuilder::EndVector
    - Offset<Vector<const T *>>
    linkageType: ''
    returnType: Offset<Vector<const T *>>
    signature: Offset<Vector<const T *>> EndVectorOfStructs(size_t vector_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    - Dst: FlatBufferBuilder::GetCurrentBufferPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    - Dst: FlatBufferBuilder::GetSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - offset
    argTypes:
    - FlatBufferBuilder
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: flatbuffers::GetMutableTemporaryPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 1
    functionsReached:
    - FlatBufferBuilder::GetSize
    - FlatBufferBuilder::GetCurrentBufferPointer
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T *GetMutableTemporaryPointer(FlatBufferBuilder &fbb, Offset<T> offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableTemporaryPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fbb
    - offset
    argTypes:
    - FlatBufferBuilder
    - Offset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: flatbuffers::GetTemporaryPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableTemporaryPointer
    linkageType: ''
    returnType: T
    signature: T *GetTemporaryPointer(FlatBufferBuilder &fbb, Offset<T> offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Table *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1216,1
    - Dst: data_at
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1216,1
    - Dst: auto::GetOptionalFieldOffset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1217,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Offset<T>
    - voffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1221
    functionName: flatbuffers::FlatBufferBuilder::Required
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    functionUses: 0
    functionsReached:
    - data_at
    - auto::GetOptionalFieldOffset
    - reinterpret_cast<const Table *>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void FlatBufferBuilder::Required(Offset<T> table, voffset_t field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - initial_size
    - allocator
    - own_allocator
    - buffer_minalign
    argTypes:
    - size_t
    - Allocator*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: flatbuffers::vector_downward::vector_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vector_downward(size_t initial_size, Allocator *allocator,\n
      \                          bool own_allocator, size_t buffer_minalign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: flatbuffers::vector_downward::vector_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_downward(vector_downward &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '&operator=(vector_downward &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::swap
    linkageType: ''
    returnType: vector_downward
    signature: vector_downward &operator=(vector_downward &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:77,1
    - Dst: clear_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ~vector_downward()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - clear_allocator
    - clear_buffer
    linkageType: ''
    returnType: void
    signature: void ~vector_downward()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear_buffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:82,1
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: flatbuffers::vector_downward::reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::clear
    - flatbuffers::vector_downward::clear_buffer
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear_scratch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: flatbuffers::vector_downward::clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached:
    - flatbuffers::vector_downward::clear_scratch
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: flatbuffers::vector_downward::clear_scratch
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_scratch()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: flatbuffers::vector_downward::clear_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_allocator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: flatbuffers::vector_downward::clear_buffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached:
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void clear_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:114,1
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - allocated_bytes
    - offset
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: flatbuffers::vector_downward::release_raw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::vector_downward::clear
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *release_raw(size_t &allocated_bytes, size_t &offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: flatbuffers::vector_downward::release
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::clear
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:138,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:139,1
    - Dst: flatbuffers::vector_downward::reallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:139,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:142,1
    - Dst: flatbuffers::vector_downward::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: flatbuffers::vector_downward::ensure_space
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::vector_downward::reallocate
    - flatbuffers::vector_downward::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t ensure_space(size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:148,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: flatbuffers::vector_downward::make_space
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::ensure_space
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *make_space(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: flatbuffers::vector_downward::get_custom_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Allocator
    signature: Allocator *get_custom_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: flatbuffers::vector_downward::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: flatbuffers::vector_downward::scratch_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t scratch_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: flatbuffers::vector_downward::capacity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: flatbuffers::vector_downward::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: flatbuffers::vector_downward::scratch_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *scratch_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: flatbuffers::vector_downward::scratch_end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *scratch_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: flatbuffers::vector_downward::data_at
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data_at(size_t offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:184,1
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - num
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::vector_downward::push
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::make_space
    - memcpy
    linkageType: ''
    returnType: void
    signature: void push(const uint8_t *bytes, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:189,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - little_endian_t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: flatbuffers::vector_downward::push_small
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void push_small(const T &little_endian_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:194,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: flatbuffers::vector_downward::scratch_push_small
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::ensure_space
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: void
    signature: void scratch_push_small(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - zero_pad_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: flatbuffers::vector_downward::fill
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void fill(size_t zero_pad_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:209,1
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zero_pad_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: flatbuffers::vector_downward::fill_big
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - memset
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void fill_big(size_t zero_pad_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes_to_remove
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: flatbuffers::vector_downward::pop
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: void
    signature: void pop(size_t bytes_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes_to_remove
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: flatbuffers::vector_downward::scratch_pop
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scratch_pop(size_t bytes_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:221,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:222,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:223,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:224,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:225,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:226,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:227,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:228,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: flatbuffers::vector_downward::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached:
    - flatbuffers::vector_downward::swap
    linkageType: ''
    returnType: void
    signature: void swap(vector_downward &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:234,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: flatbuffers::vector_downward::swap_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::swap
    linkageType: ''
    returnType: void
    signature: void swap_allocator(vector_downward &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:255,1
    - Dst: flatbuffers::vector_downward::scratch_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:256,1
    - Dst: ReallocateDownward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:261,1
    - Dst: Allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: flatbuffers::vector_downward::reallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached:
    - flatbuffers::vector_downward::scratch_size
    - flatbuffers::vector_downward::size
    - Allocate
    - ReallocateDownward
    linkageType: ''
    returnType: void
    signature: void reallocate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - initial_size
    - allocator
    - own_allocator
    - buffer_minalign
    argTypes:
    - size_t
    - Allocator*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: flatbuffers::vector_downward::vector_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void vector_downward(size_t initial_size, Allocator *allocator,\n
      \                          bool own_allocator, size_t buffer_minalign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: flatbuffers::vector_downward::vector_downward
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vector_downward(vector_downward &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: '&operator=(vector_downward &&other) noexcept'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: vector_downward
    signature: vector_downward &operator=(vector_downward &&other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_buffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:77,1
    - Dst: clear_allocator
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ~vector_downward()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - clear_allocator
    - clear_buffer
    linkageType: ''
    returnType: void
    signature: void ~vector_downward()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear_buffer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:82,1
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: flatbuffers::vector_downward::reset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::clear
    - flatbuffers::vector_downward::clear_buffer
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear_scratch
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: flatbuffers::vector_downward::clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 4
    functionsReached:
    - flatbuffers::vector_downward::clear_scratch
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: flatbuffers::vector_downward::clear_scratch
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_scratch()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: flatbuffers::vector_downward::clear_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_allocator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Deallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: flatbuffers::vector_downward::clear_buffer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 2
    functionsReached:
    - Deallocate
    linkageType: ''
    returnType: void
    signature: void clear_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:114,1
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - allocated_bytes
    - offset
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: flatbuffers::vector_downward::release_raw
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::vector_downward::clear
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *release_raw(size_t &allocated_bytes, size_t &offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: flatbuffers::vector_downward::release
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::clear
    linkageType: ''
    returnType: DetachedBuffer
    signature: DetachedBuffer release()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:138,1
    - Dst: static_cast<size_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:139,1
    - Dst: flatbuffers::vector_downward::reallocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:139,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:142,1
    - Dst: flatbuffers::vector_downward::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: flatbuffers::vector_downward::ensure_space
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - flatbuffers::vector_downward::reallocate
    - flatbuffers::vector_downward::size
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t ensure_space(size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:148,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: flatbuffers::vector_downward::make_space
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 4
    functionsReached:
    - flatbuffers::vector_downward::ensure_space
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *make_space(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: flatbuffers::vector_downward::get_custom_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Allocator
    signature: Allocator *get_custom_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: flatbuffers::vector_downward::size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: flatbuffers::vector_downward::scratch_size
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 1
    functionsReached:
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: uoffset_t
    signature: uoffset_t scratch_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: flatbuffers::vector_downward::capacity
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: flatbuffers::vector_downward::data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: flatbuffers::vector_downward::scratch_data
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *scratch_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: flatbuffers::vector_downward::scratch_end
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *scratch_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: flatbuffers::vector_downward::data_at
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *data_at(size_t offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:184,1
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - num
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: flatbuffers::vector_downward::push
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::make_space
    - memcpy
    linkageType: ''
    returnType: void
    signature: void push(const uint8_t *bytes, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:189,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - little_endian_t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: flatbuffers::vector_downward::push_small
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void push_small(const T &little_endian_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::ensure_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:194,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: flatbuffers::vector_downward::scratch_push_small
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::ensure_space
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: void
    signature: void scratch_push_small(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - zero_pad_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: flatbuffers::vector_downward::fill
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void fill(size_t zero_pad_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:209,1
    - Dst: flatbuffers::vector_downward::make_space
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zero_pad_bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: flatbuffers::vector_downward::fill_big
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - memset
    - flatbuffers::vector_downward::make_space
    linkageType: ''
    returnType: void
    signature: void fill_big(size_t zero_pad_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes_to_remove
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: flatbuffers::vector_downward::pop
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - static_cast<uoffset_t>
    linkageType: ''
    returnType: void
    signature: void pop(size_t bytes_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes_to_remove
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: flatbuffers::vector_downward::scratch_pop
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scratch_pop(size_t bytes_to_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:221,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:222,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:223,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:224,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:225,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:226,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:227,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:228,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: flatbuffers::vector_downward::swap
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 3
    functionsReached:
    - flatbuffers::vector_downward::swap
    linkageType: ''
    returnType: void
    signature: void swap(vector_downward &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:234,1
    - Dst: flatbuffers::vector_downward::swap
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - vector_downward
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: flatbuffers::vector_downward::swap_allocator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 0
    functionsReached:
    - flatbuffers::vector_downward::swap
    linkageType: ''
    returnType: void
    signature: void swap_allocator(vector_downward &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::vector_downward::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:255,1
    - Dst: flatbuffers::vector_downward::scratch_size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:256,1
    - Dst: ReallocateDownward
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:261,1
    - Dst: Allocate
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: flatbuffers::vector_downward::reallocate
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
    functionUses: 2
    functionsReached:
    - flatbuffers::vector_downward::scratch_size
    - flatbuffers::vector_downward::size
    - Allocate
    - ReallocateDownward
    linkageType: ''
    returnType: void
    signature: void reallocate(size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: flatbuffers::CodeWriter::CodeWriter
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void CodeWriter(std::string pad = std::string())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:47,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: flatbuffers::CodeWriter::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: flatbuffers::CodeWriter::SetValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetValue(const std::string &key, const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:59,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: flatbuffers::CodeWriter::GetValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string GetValue(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: flatbuffers::CodeWriter::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - str
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: flatbuffers::CodeWriter::IncrementIdentLevel
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementIdentLevel()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: flatbuffers::CodeWriter::DecrementIdentLevel
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecrementIdentLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::CodeWriter::SetPadding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPadding(const std::string &padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - parser
    - path
    - file_name
    - qualifying_start
    - qualifying_separator
    - default_extension
    argTypes:
    - Parser
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: flatbuffers::BaseGenerator::BaseGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BaseGenerator(const Parser &parser, const std::string &path,\n
      \               const std::string &file_name, std::string qualifying_start,\n
      \               std::string qualifying_separator, std::string default_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ~BaseGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: flatbuffers::BaseGenerator::CurrentNameSpace
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Namespace
    signature: Namespace *CurrentNameSpace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ~FloatConstantGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FloatConstantGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: flatbuffers::CodeWriter::CodeWriter
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: void
    signature: void CodeWriter(std::string pad = std::string())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:47,1
    - Dst: clear
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: flatbuffers::CodeWriter::Clear
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: flatbuffers::CodeWriter::SetValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetValue(const std::string &key, const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:59,1
    - Dst: end
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: flatbuffers::CodeWriter::GetValue
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: std::string
    signature: std::string GetValue(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: flatbuffers::CodeWriter::ToString
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached:
    - str
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: flatbuffers::CodeWriter::IncrementIdentLevel
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncrementIdentLevel()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: flatbuffers::CodeWriter::DecrementIdentLevel
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecrementIdentLevel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - padding
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: flatbuffers::CodeWriter::SetPadding
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPadding(const std::string &padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - parser
    - path
    - file_name
    - qualifying_start
    - qualifying_separator
    - default_extension
    argTypes:
    - Parser
    - std::string
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: flatbuffers::BaseGenerator::BaseGenerator
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BaseGenerator(const Parser &parser, const std::string &path,\n
      \               const std::string &file_name, std::string qualifying_start,\n
      \               std::string qualifying_separator, std::string default_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: ~BaseGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BaseGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: flatbuffers::BaseGenerator::CurrentNameSpace
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Namespace
    signature: Namespace *CurrentNameSpace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: ~FloatConstantGenerator()
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FloatConstantGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: flatbuffers::IsScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScalar(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: flatbuffers::IsInteger
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: flatbuffers::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: flatbuffers::IsLong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLong(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_type
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 76
    functionName: flatbuffers::GetTypeSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetTypeSize(reflection::BaseType base_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:83,1
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:84,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - base_type
    - type_index
    - schema
    argTypes:
    - reflection::BaseType
    - int
    - reflection::Schema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: flatbuffers::GetTypeSizeInline
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Schema::objects
    - flatbuffers::GetTypeSize
    linkageType: ''
    returnType: size_t
    signature: "size_t GetTypeSizeInline(reflection::BaseType base_type, int type_index,\n
      \                               const reflection::Schema &schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: flatbuffers::GetAnyRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnyRoot(uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: flatbuffers::GetAnyRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnyRoot(const uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableSizePrefixedRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: flatbuffers::GetAnySizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableSizePrefixedRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnySizePrefixedRoot(uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetSizePrefixedRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: flatbuffers::GetAnySizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetSizePrefixedRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnySizePrefixedRoot(const uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:110,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: flatbuffers::GetFieldDefaultI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::type
    - reflection::Field::default_integer
    - flatbuffers::GetTypeSize
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldDefaultI(const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:116,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: flatbuffers::GetFieldDefaultF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - FLATBUFFERS_ASSERT
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::default_real
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldDefaultF(const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: Table::GetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:123,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:123,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:124,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: flatbuffers::GetFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Table::GetField
    - reflection::Field::type
    - reflection::Field::default_integer
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldI(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: Table::GetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:131,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:131,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:132,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: flatbuffers::GetFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Table::GetField
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::default_real
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldF(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:138,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:138,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:139,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: flatbuffers::GetFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: String
    signature: "String *GetFieldS(const Table &table,\n                               const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:145,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:145,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:146,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:146,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:147,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: flatbuffers::GetFieldV
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: Vector<T>
    signature: Vector<T> *GetFieldV(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:155,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: flatbuffers::GetFieldAnyV
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Table::GetPointer
    linkageType: ''
    returnType: VectorOfAny
    signature: "VectorOfAny *GetFieldAnyV(const Table &table,\n                                 const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:160,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:160,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:161,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:162,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: flatbuffers::GetFieldT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: Table
    signature: Table *GetFieldT(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:170,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:170,1
    - Dst: Table::GetStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:171,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: flatbuffers::GetFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - Table::GetStruct
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Struct
    signature: "Struct *GetFieldStruct(const Table &table,\n                                    const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:177,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:177,1
    - Dst: Struct::GetStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:178,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - structure
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: flatbuffers::GetFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetStruct
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Struct
    signature: "Struct *GetFieldStruct(const Struct &structure,\n                                    const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:197,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:197,1
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:198,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:198,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: flatbuffers::GetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueI
    - Table::GetAddressOf
    - reflection::Field::type
    - reflection::Field::default_integer
    - reflection::Field::offset
    linkageType: ''
    returnType: int64_t
    signature: "int64_t GetAnyFieldI(const Table &table,\n                            const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:204,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:204,1
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:205,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:205,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: flatbuffers::GetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueF
    - Table::GetAddressOf
    - reflection::Field::type
    - reflection::Field::offset
    - reflection::Field::default_real
    linkageType: ''
    returnType: double
    signature: double GetAnyFieldF(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:215,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:215,1
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:216,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:216,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - field
    - schema
    argTypes:
    - Table
    - reflection::Field
    - reflection::Schema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: flatbuffers::GetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueS
    - Table::GetAddressOf
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyFieldS(const Table &table,\n                                const
      reflection::Field &field,\n                                const reflection::Schema
      *schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:223,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:223,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:224,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: flatbuffers::GetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueI
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetAnyFieldI(const Struct &st, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:229,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:229,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:230,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: flatbuffers::GetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueF
    linkageType: ''
    returnType: double
    signature: double GetAnyFieldF(const Struct &st, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:236,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:236,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:237,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: flatbuffers::GetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueS
    - reflection::Field::offset
    - reflection::Field::type
    - Struct::GetAddressOf
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyFieldS(const Struct &st,\n                                const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: flatbuffers::GetAnyVectorElemI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - GetAnyValueI
    - VectorOfAny*::Data
    linkageType: ''
    returnType: int64_t
    signature: "int64_t GetAnyVectorElemI(const VectorOfAny *vec,\n                                 reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: flatbuffers::GetAnyVectorElemF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - GetAnyValueF
    linkageType: ''
    returnType: double
    signature: "double GetAnyVectorElemF(const VectorOfAny *vec,\n                                reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: flatbuffers::GetAnyVectorElemS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueS
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyVectorElemS(const VectorOfAny *vec,\n                                     reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:264,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:265,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - i
    argTypes:
    - VectorOfAny*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: flatbuffers::GetAnyVectorElemPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::ReadScalar
    - VectorOfAny*::Data
    linkageType: ''
    returnType: T
    signature: T *GetAnyVectorElemPointer(const VectorOfAny *vec, size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:276,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - i
    - elem_size
    argTypes:
    - VectorOfAny*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: flatbuffers::GetAnyVectorElemAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - VectorOfAny*::Data
    linkageType: ''
    returnType: T
    signature: "T *GetAnyVectorElemAddressOf(const VectorOfAny *vec, size_t i,\n                             size_t
      elem_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: flatbuffers::GetAnyFieldAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reinterpret_cast<T *>
    - Table::GetAddressOf
    linkageType: ''
    returnType: T
    signature: T *GetAnyFieldAddressOf(const Table &table, const reflection::Field
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: flatbuffers::GetAnyFieldAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reinterpret_cast<T *>
    - reflection::Field::offset
    linkageType: ''
    returnType: T
    signature: T *GetAnyFieldAddressOf(const Struct &st, const reflection::Field &field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:302,1
    - Dst: flatbuffers::IsScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:303,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:304,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:304,1
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:306,1
    - Dst: flatbuffers::GetFieldDefaultI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:307,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:309,1
    - Dst: flatbuffers::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:309,1
    - Dst: flatbuffers::GetFieldDefaultF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:310,1
    - Dst: Table*::SetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:312,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: flatbuffers::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsInteger
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultF
    - Table*::SetField
    - flatbuffers::GetFieldDefaultI
    - flatbuffers::GetTypeSize
    - flatbuffers::IsFloat
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - flatbuffers::IsScalar
    linkageType: ''
    returnType: bool
    signature: bool SetField(Table *table, const reflection::Field &field, T val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:326,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:326,1
    - Dst: flatbuffers::GetFieldDefaultI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:327,1
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:328,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: flatbuffers::SetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultI
    - reflection::Field::offset
    - Table*::GetAddressOf
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldI(Table *table, const reflection::Field &field,\n
      \                        int64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:335,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:335,1
    - Dst: flatbuffers::GetFieldDefaultF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:336,1
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:337,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: flatbuffers::SetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultF
    - SetAnyValueF
    - reflection::Field::offset
    - Table*::GetAddressOf
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldF(Table *table, const reflection::Field &field,\n
      \                        double val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:344,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:344,1
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:346,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: flatbuffers::SetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - Table*::GetAddressOf
    - SetAnyValueS
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldS(Table *table, const reflection::Field &field,\n
      \                        const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: flatbuffers::SetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - Struct*::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldI(Struct *st, const reflection::Field &field,\n                         int64_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: flatbuffers::SetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Struct*::GetAddressOf
    - reflection::Field::type
    - SetAnyValueF
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldF(Struct *st, const reflection::Field &field,\n                         double
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: flatbuffers::SetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Struct*::GetAddressOf
    - reflection::Field::type
    - SetAnyValueS
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldS(Struct *st, const reflection::Field &field,\n                         const
      char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: flatbuffers::SetAnyVectorElemI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemI(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: flatbuffers::SetAnyVectorElemF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - SetAnyValueF
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemF(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: flatbuffers::SetAnyVectorElemS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - SetAnyValueS
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemS(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:396,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:397,1
    - Dst: std::vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - vec
    argTypes:
    - T*
    - std::vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: flatbuffers::pointer_inside_vector::pointer_inside_vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - std::vector<U>::data
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void pointer_inside_vector(T *ptr, std::vector<U> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    - Dst: flatbuffers::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '*operator*() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - reinterpret_cast<uint8_t *>
    - flatbuffers::data
    linkageType: ''
    returnType: T
    signature: T *operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '*operator->() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_inside_vector<T, U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - vec
    argTypes:
    - T*
    - std::vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: flatbuffers::piv
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - pointer_inside_vector<T, U>
    linkageType: ''
    returnType: pointer_inside_vector<T, U>
    signature: pointer_inside_vector<T, U> piv(T *ptr, std::vector<U> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: flatbuffers::UnionTypeFieldSuffix
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UnionTypeFieldSuffix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Schema::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:423,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:423,1
    - Dst: reflection::Object::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:425,1
    - Dst: reflection::Field::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: flatbuffers::UnionTypeFieldSuffix
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:427,1
    - Dst: flatbuffers::GetFieldI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:428,1
    - Dst: auto::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:429,1
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:430,1
    - Dst: auto::union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - schema
    - parent
    - unionfield
    - table
    argTypes:
    - reflection::Schema
    - reflection::Object
    - reflection::Field
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: flatbuffers::GetUnionType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Schema::enums
    - reflection::Object::fields
    - reflection::Field::name
    - FLATBUFFERS_ASSERT
    - reflection::Field::type
    - reflection::Schema::objects
    - auto::union_type
    - auto::values
    - flatbuffers::GetFieldI
    - flatbuffers::c_str
    - flatbuffers::UnionTypeFieldSuffix
    linkageType: ''
    returnType: reflection::Object
    signature: "reflection::Object &GetUnionType(\n    const reflection::Schema &schema,
      const reflection::Object &parent,\n    const reflection::Field &unionfield,
      const Table &table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: ResizeAnyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:457,1
    - Dst: reinterpret_cast<const VectorOfAny *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:458,1
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:458,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:459,1
    - Dst: flatbuffers::WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:465,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - schema
    - newsize
    - val
    - vec
    - flatbuf
    argTypes:
    - reflection::Schema
    - uoffset_t
    - T
    - Vector<T>*
    - std::vector<uint8_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: flatbuffers::ResizeVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Vector<T>*::size
    - reinterpret_cast<const VectorOfAny *>
    - static_cast<uoffset_t>
    - reinterpret_cast<T *>
    - flatbuffers::WriteScalar
    - static_cast<int>
    - ResizeAnyVector
    linkageType: ''
    returnType: void
    signature: "void ResizeVector(const reflection::Schema &schema, uoffset_t newsize,
      T val,\n                  const Vector<T> *vec, std::vector<uint8_t> *flatbuf,\n
      \                 const reflection::Object *root_table = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:485,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:486,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:486,1
    - Dst: Table*::SetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:487,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: flatbuffers::SetFieldT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Table*::SetPointer
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: "bool SetFieldT(Table *table, const reflection::Field &field,\n                      const
      uint8_t *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: flatbuffers::IsScalar
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsScalar(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: flatbuffers::IsInteger
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInteger(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: flatbuffers::IsFloat
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFloat(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: flatbuffers::IsLong
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLong(reflection::BaseType t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_type
    argTypes:
    - reflection::BaseType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 76
    functionName: flatbuffers::GetTypeSize
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GetTypeSize(reflection::BaseType base_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:83,1
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:84,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - base_type
    - type_index
    - schema
    argTypes:
    - reflection::BaseType
    - int
    - reflection::Schema
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: flatbuffers::GetTypeSizeInline
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Schema::objects
    - flatbuffers::GetTypeSize
    linkageType: ''
    returnType: size_t
    signature: "size_t GetTypeSizeInline(reflection::BaseType base_type, int type_index,\n
      \                               const reflection::Schema &schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: flatbuffers::GetAnyRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnyRoot(uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: flatbuffers::GetAnyRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnyRoot(const uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableSizePrefixedRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: flatbuffers::GetAnySizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetMutableSizePrefixedRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnySizePrefixedRoot(uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetSizePrefixedRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flatbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: flatbuffers::GetAnySizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetSizePrefixedRoot
    linkageType: ''
    returnType: Table
    signature: Table *GetAnySizePrefixedRoot(const uint8_t *const flatbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:109,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:110,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: flatbuffers::GetFieldDefaultI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 2
    functionsReached:
    - reflection::Field::type
    - reflection::Field::default_integer
    - flatbuffers::GetTypeSize
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldDefaultI(const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:115,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:116,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - field
    argTypes:
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: flatbuffers::GetFieldDefaultF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 2
    functionsReached:
    - FLATBUFFERS_ASSERT
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::default_real
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldDefaultF(const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:122,1
    - Dst: Table::GetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:123,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:123,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:124,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: flatbuffers::GetFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 1
    functionsReached:
    - Table::GetField
    - reflection::Field::type
    - reflection::Field::default_integer
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldI(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:130,1
    - Dst: Table::GetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:131,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:131,1
    - Dst: static_cast<T>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:132,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: flatbuffers::GetFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Table::GetField
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::default_real
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T GetFieldF(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:138,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:138,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:139,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: flatbuffers::GetFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: String
    signature: "String *GetFieldS(const Table &table,\n                               const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:145,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:145,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:146,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:146,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:147,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: flatbuffers::GetFieldV
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: Vector<T>
    signature: Vector<T> *GetFieldV(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:155,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: flatbuffers::GetFieldAnyV
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Table::GetPointer
    linkageType: ''
    returnType: VectorOfAny
    signature: "VectorOfAny *GetFieldAnyV(const Table &table,\n                                 const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:160,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:160,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:161,1
    - Dst: Table::GetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:162,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: flatbuffers::GetFieldT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    - Table::GetPointer
    linkageType: ''
    returnType: Table
    signature: Table *GetFieldT(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:170,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:170,1
    - Dst: Table::GetStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:171,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: flatbuffers::GetFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - Table::GetStruct
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Struct
    signature: "Struct *GetFieldStruct(const Table &table,\n                                    const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:177,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:177,1
    - Dst: Struct::GetStruct
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:178,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - structure
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: flatbuffers::GetFieldStruct
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetStruct
    - reflection::Field::offset
    - reflection::Field::type
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: Struct
    signature: "Struct *GetFieldStruct(const Struct &structure,\n                                    const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:197,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:197,1
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:198,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:198,1
    - Dst: reflection::Field::default_integer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: flatbuffers::GetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueI
    - Table::GetAddressOf
    - reflection::Field::type
    - reflection::Field::default_integer
    - reflection::Field::offset
    linkageType: ''
    returnType: int64_t
    signature: "int64_t GetAnyFieldI(const Table &table,\n                            const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:204,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:204,1
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:205,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:205,1
    - Dst: reflection::Field::default_real
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: flatbuffers::GetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueF
    - Table::GetAddressOf
    - reflection::Field::type
    - reflection::Field::offset
    - reflection::Field::default_real
    linkageType: ''
    returnType: double
    signature: double GetAnyFieldF(const Table &table, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:215,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:215,1
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:216,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:216,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - field
    - schema
    argTypes:
    - Table
    - reflection::Field
    - reflection::Schema*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: flatbuffers::GetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueS
    - Table::GetAddressOf
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyFieldS(const Table &table,\n                                const
      reflection::Field &field,\n                                const reflection::Schema
      *schema)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:223,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:223,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:224,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: flatbuffers::GetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueI
    linkageType: ''
    returnType: int64_t
    signature: int64_t GetAnyFieldI(const Struct &st, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:229,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:229,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:230,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: flatbuffers::GetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    - GetAnyValueF
    linkageType: ''
    returnType: double
    signature: double GetAnyFieldF(const Struct &st, const reflection::Field &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:236,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:236,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:237,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: flatbuffers::GetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueS
    - reflection::Field::offset
    - reflection::Field::type
    - Struct::GetAddressOf
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyFieldS(const Struct &st,\n                                const
      reflection::Field &field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: flatbuffers::GetAnyVectorElemI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - GetAnyValueI
    - VectorOfAny*::Data
    linkageType: ''
    returnType: int64_t
    signature: "int64_t GetAnyVectorElemI(const VectorOfAny *vec,\n                                 reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: flatbuffers::GetAnyVectorElemF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - GetAnyValueF
    linkageType: ''
    returnType: double
    signature: "double GetAnyVectorElemF(const VectorOfAny *vec,\n                                reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - elem_type
    - i
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: flatbuffers::GetAnyVectorElemS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - GetAnyValueS
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    linkageType: ''
    returnType: std::string
    signature: "std::string GetAnyVectorElemS(const VectorOfAny *vec,\n                                     reflection::BaseType
      elem_type, size_t i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:264,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:265,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vec
    - i
    argTypes:
    - VectorOfAny*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: flatbuffers::GetAnyVectorElemPointer
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - flatbuffers::ReadScalar
    - VectorOfAny*::Data
    linkageType: ''
    returnType: T
    signature: T *GetAnyVectorElemPointer(const VectorOfAny *vec, size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:276,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vec
    - i
    - elem_size
    argTypes:
    - VectorOfAny*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: flatbuffers::GetAnyVectorElemAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - VectorOfAny*::Data
    linkageType: ''
    returnType: T
    signature: "T *GetAnyVectorElemAddressOf(const VectorOfAny *vec, size_t i,\n                             size_t
      elem_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    - Dst: Table::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - field
    argTypes:
    - Table
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: flatbuffers::GetAnyFieldAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reinterpret_cast<T *>
    - Table::GetAddressOf
    linkageType: ''
    returnType: T
    signature: T *GetAnyFieldAddressOf(const Table &table, const reflection::Field
      &field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    - Dst: Struct::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - field
    argTypes:
    - Struct
    - reflection::Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: flatbuffers::GetAnyFieldAddressOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Struct::GetAddressOf
    - reinterpret_cast<T *>
    - reflection::Field::offset
    linkageType: ''
    returnType: T
    signature: T *GetAnyFieldAddressOf(const Struct &st, const reflection::Field &field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:302,1
    - Dst: flatbuffers::IsScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:303,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:304,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:304,1
    - Dst: flatbuffers::IsInteger
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:306,1
    - Dst: flatbuffers::GetFieldDefaultI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:307,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:309,1
    - Dst: flatbuffers::IsFloat
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:309,1
    - Dst: flatbuffers::GetFieldDefaultF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:310,1
    - Dst: Table*::SetField
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:312,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: flatbuffers::SetField
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::IsInteger
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultF
    - Table*::SetField
    - flatbuffers::GetFieldDefaultI
    - flatbuffers::GetTypeSize
    - flatbuffers::IsFloat
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    - flatbuffers::IsScalar
    linkageType: ''
    returnType: bool
    signature: bool SetField(Table *table, const reflection::Field &field, T val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:326,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:326,1
    - Dst: flatbuffers::GetFieldDefaultI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:327,1
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:328,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: flatbuffers::SetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultI
    - reflection::Field::offset
    - Table*::GetAddressOf
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldI(Table *table, const reflection::Field &field,\n
      \                        int64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:335,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:335,1
    - Dst: flatbuffers::GetFieldDefaultF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:336,1
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:337,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: flatbuffers::SetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::type
    - flatbuffers::GetFieldDefaultF
    - SetAnyValueF
    - reflection::Field::offset
    - Table*::GetAddressOf
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldF(Table *table, const reflection::Field &field,\n
      \                        double val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Table*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:344,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:344,1
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:346,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: flatbuffers::SetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - reflection::Field::type
    - Table*::GetAddressOf
    - SetAnyValueS
    linkageType: ''
    returnType: bool
    signature: "bool SetAnyFieldS(Table *table, const reflection::Field &field,\n
      \                        const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: flatbuffers::SetAnyFieldI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - Struct*::GetAddressOf
    - reflection::Field::offset
    - reflection::Field::type
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldI(Struct *st, const reflection::Field &field,\n                         int64_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: flatbuffers::SetAnyFieldF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Struct*::GetAddressOf
    - reflection::Field::type
    - SetAnyValueF
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldF(Struct *st, const reflection::Field &field,\n                         double
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: Struct*::GetAddressOf
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - field
    - val
    argTypes:
    - Struct*
    - reflection::Field
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: flatbuffers::SetAnyFieldS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Field::offset
    - Struct*::GetAddressOf
    - reflection::Field::type
    - SetAnyValueS
    linkageType: ''
    returnType: void
    signature: "void SetAnyFieldS(Struct *st, const reflection::Field &field,\n                         const
      char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: flatbuffers::SetAnyVectorElemI
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - SetAnyValueI
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemI(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, int64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueF
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: flatbuffers::SetAnyVectorElemF
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - SetAnyValueF
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemF(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, double val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetAnyValueS
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    - Dst: VectorOfAny*::Data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vec
    - elem_type
    - i
    - val
    argTypes:
    - VectorOfAny*
    - reflection::BaseType
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: flatbuffers::SetAnyVectorElemS
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - flatbuffers::GetTypeSize
    - VectorOfAny*::Data
    - SetAnyValueS
    linkageType: ''
    returnType: void
    signature: "void SetAnyVectorElemS(VectorOfAny *vec, reflection::BaseType elem_type,\n
      \                             size_t i, const char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:396,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:397,1
    - Dst: std::vector<U>::data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - vec
    argTypes:
    - T*
    - std::vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: flatbuffers::pointer_inside_vector::pointer_inside_vector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - std::vector<U>::data
    - reinterpret_cast<uint8_t *>
    linkageType: ''
    returnType: void
    signature: void pointer_inside_vector(T *ptr, std::vector<U> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    - Dst: data
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '*operator*() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    - reinterpret_cast<uint8_t *>
    - data
    linkageType: ''
    returnType: T
    signature: T *operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: '*operator->() const'
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T *operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_inside_vector<T, U>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - vec
    argTypes:
    - T*
    - std::vector<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: flatbuffers::piv
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - pointer_inside_vector<T, U>
    linkageType: ''
    returnType: pointer_inside_vector<T, U>
    signature: pointer_inside_vector<T, U> piv(T *ptr, std::vector<U> &vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: flatbuffers::UnionTypeFieldSuffix
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UnionTypeFieldSuffix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflection::Schema::enums
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:423,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:423,1
    - Dst: reflection::Object::fields
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:425,1
    - Dst: reflection::Field::name
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: flatbuffers::UnionTypeFieldSuffix
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: flatbuffers::c_str
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:426,1
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:427,1
    - Dst: flatbuffers::GetFieldI
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:428,1
    - Dst: auto::values
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:429,1
    - Dst: reflection::Schema::objects
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:430,1
    - Dst: auto::union_type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - schema
    - parent
    - unionfield
    - table
    argTypes:
    - reflection::Schema
    - reflection::Object
    - reflection::Field
    - Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: flatbuffers::GetUnionType
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - reflection::Schema::enums
    - reflection::Object::fields
    - reflection::Field::name
    - FLATBUFFERS_ASSERT
    - reflection::Field::type
    - reflection::Schema::objects
    - auto::union_type
    - auto::values
    - flatbuffers::GetFieldI
    - flatbuffers::c_str
    - flatbuffers::UnionTypeFieldSuffix
    linkageType: ''
    returnType: reflection::Object
    signature: "reflection::Object &GetUnionType(\n    const reflection::Schema &schema,
      const reflection::Object &parent,\n    const reflection::Field &unionfield,
      const Table &table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: static_cast<int>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:456,1
    - Dst: ResizeAnyVector
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:457,1
    - Dst: reinterpret_cast<const VectorOfAny *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:458,1
    - Dst: Vector<T>*::size
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:458,1
    - Dst: static_cast<uoffset_t>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:459,1
    - Dst: flatbuffers::WriteScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:465,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - schema
    - newsize
    - val
    - vec
    - flatbuf
    argTypes:
    - reflection::Schema
    - uoffset_t
    - T
    - Vector<T>*
    - std::vector<uint8_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: flatbuffers::ResizeVector
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Vector<T>*::size
    - reinterpret_cast<const VectorOfAny *>
    - static_cast<uoffset_t>
    - reinterpret_cast<T *>
    - flatbuffers::WriteScalar
    - static_cast<int>
    - ResizeAnyVector
    linkageType: ''
    returnType: void
    signature: "void ResizeVector(const reflection::Schema &schema, uoffset_t newsize,
      T val,\n                  const Vector<T> *vec, std::vector<uint8_t> *flatbuf,\n
      \                 const reflection::Object *root_table = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:485,1
    - Dst: flatbuffers::GetTypeSize
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:486,1
    - Dst: reflection::Field::type
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:486,1
    - Dst: Table*::SetPointer
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:487,1
    - Dst: reflection::Field::offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - field
    - val
    argTypes:
    - Table*
    - reflection::Field
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: flatbuffers::SetFieldT
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
    functionUses: 0
    functionsReached:
    - Table*::SetPointer
    - reflection::Field::type
    - flatbuffers::GetTypeSize
    - reflection::Field::offset
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: bool
    signature: "bool SetFieldT(Table *table, const reflection::Field &field,\n                      const
      uint8_t *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: flatbuffers::Offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Offset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: flatbuffers::Offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Offset(uoffset_t _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: flatbuffers::Union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Offset
    linkageType: ''
    returnType: Offset<void>
    signature: Offset<void> Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: flatbuffers::IsNull
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:39,1
    - Dst: reinterpret_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: flatbuffers::EndianCheck
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char *>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void EndianCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: flatbuffers::AlignOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR
    signature: FLATBUFFERS_CONSTEXPR AlignOf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a_data
    - a_size
    - b_data
    - b_size
    argTypes:
    - char*
    - uoffset_t
    - char*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: flatbuffers::StringLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool StringLessThan(const char *a_data, uoffset_t a_size,\n                                  const
      char *b_data, uoffset_t b_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:79,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Read
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:82,1
    - Dst: const_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - flatbuffers::Read
    - const_cast<const uint8_t *>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:91,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<return_type>
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:95,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - flatbuffers::ReadScalar
    - reinterpret_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<return_type>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: flatbuffers::GetBufferIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: "char *GetBufferIdentifier(const void *buf,\n                                       bool
      size_prefixed = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:126,1
    - Dst: flatbuffers::GetBufferIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - identifier
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: flatbuffers::BufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 8
    functionsReached:
    - strncmp
    - flatbuffers::GetBufferIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool BufferHasIdentifier(const void *buf, const char *identifier,\n
      \                               bool size_prefixed = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:133,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:134,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:135,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:136,1
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: flatbuffers::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint8_t *>
    - reinterpret_cast<T *>
    - flatbuffers::EndianCheck
    - reinterpret_cast<uoffset_t *>
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot(void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:140,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: flatbuffers::GetMutableSizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint8_t *>
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: T
    signature: T *GetMutableSizePrefixedRoot(void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:145,1
    - Dst: const_cast<void *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: flatbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 4
    functionsReached:
    - const_cast<void *>
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: T
    signature: T *GetRoot(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:149,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: flatbuffers::GetSizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - flatbuffers::GetRoot
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: T
    signature: T *GetSizePrefixedRoot(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: flatbuffers::Offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Offset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _o
    argTypes:
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: flatbuffers::Offset
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Offset(uoffset_t _o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Offset
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: flatbuffers::Union
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached:
    - flatbuffers::Offset
    linkageType: ''
    returnType: Offset<void>
    signature: Offset<void> Union() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: flatbuffers::IsNull
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLATBUFFERS_ASSERT
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:39,1
    - Dst: reinterpret_cast<char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: flatbuffers::EndianCheck
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char *>
    - FLATBUFFERS_ASSERT
    linkageType: ''
    returnType: void
    signature: void EndianCheck()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: flatbuffers::AlignOf
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FLATBUFFERS_CONSTEXPR
    signature: FLATBUFFERS_CONSTEXPR AlignOf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a_data
    - a_size
    - b_data
    - b_size
    argTypes:
    - char*
    - uoffset_t
    - char*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: flatbuffers::StringLessThan
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool StringLessThan(const char *a_data, uoffset_t a_size,\n                                  const
      char *b_data, uoffset_t b_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:79,1
    - Dst: reinterpret_cast<const T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - flatbuffers::EndianScalar
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::Read
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:82,1
    - Dst: const_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - flatbuffers::Read
    - const_cast<const uint8_t *>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:91,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<return_type>
    - flatbuffers::ReadScalar
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:95,1
    - Dst: flatbuffers::ReadScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - flatbuffers::ReadScalar
    - reinterpret_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<return_type>
    linkageType: ''
    returnType: return_type
    signature: return_type Read(const uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mutable_return_type>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - uint8_t*
    - uoffset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: flatbuffers::Read
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<mutable_return_type>
    linkageType: ''
    returnType: mutable_return_type
    signature: mutable_return_type Read(uint8_t *p, uoffset_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: flatbuffers::GetBufferIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: char
    signature: "char *GetBufferIdentifier(const void *buf,\n                                       bool
      size_prefixed = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:126,1
    - Dst: flatbuffers::GetBufferIdentifier
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - identifier
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: flatbuffers::BufferHasIdentifier
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 8
    functionsReached:
    - strncmp
    - flatbuffers::GetBufferIdentifier
    linkageType: ''
    returnType: bool
    signature: "bool BufferHasIdentifier(const void *buf, const char *identifier,\n
      \                               bool size_prefixed = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::EndianCheck
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:133,1
    - Dst: reinterpret_cast<T *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:134,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:135,1
    - Dst: flatbuffers::EndianScalar
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:136,1
    - Dst: reinterpret_cast<uoffset_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: flatbuffers::GetMutableRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<uint8_t *>
    - reinterpret_cast<T *>
    - flatbuffers::EndianCheck
    - reinterpret_cast<uoffset_t *>
    - flatbuffers::EndianScalar
    linkageType: ''
    returnType: T
    signature: T *GetMutableRoot(void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:140,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: flatbuffers::GetMutableSizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uint8_t *>
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: T
    signature: T *GetMutableSizePrefixedRoot(void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetMutableRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:145,1
    - Dst: const_cast<void *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: flatbuffers::GetRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 5
    functionsReached:
    - const_cast<void *>
    - flatbuffers::GetMutableRoot
    linkageType: ''
    returnType: T
    signature: T *GetRoot(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatbuffers::GetRoot
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:149,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: flatbuffers::GetSizePrefixedRoot
    functionSourceFile: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    functionUses: 2
    functionsReached:
    - flatbuffers::GetRoot
    - reinterpret_cast<const uint8_t *>
    linkageType: ''
    returnType: T
    signature: T *GetSizePrefixedRoot(const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - m
    - mul
    - j
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: mulShift
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulShift(const uint64_t m, const uint64_t* const mul, const
      int32_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:118,1
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:119,1
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: mulShiftAll
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - mulShift
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(const uint64_t m, const uint64_t* const mul,
      const int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/postgis/deps/ryu/d2s.c:128,1
    - Dst: umul128
      Src: /src/postgis/deps/ryu/d2s.c:130,1
    - Dst: shiftright128
      Src: /src/postgis/deps/ryu/d2s.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - mul
    - j
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: mulShift
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 1
    functionsReached:
    - shiftright128
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mulShift(const uint64_t m, const uint64_t* const mul, const
      int32_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:140,1
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:141,1
    - Dst: mulShift
      Src: /src/postgis/deps/ryu/d2s.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: mulShiftAll
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - mulShift
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(const uint64_t m, const uint64_t* const mul,
      const int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/postgis/deps/ryu/d2s.c:152,1
    - Dst: umul128
      Src: /src/postgis/deps/ryu/d2s.c:154,1
    - Dst: shiftright128
      Src: /src/postgis/deps/ryu/d2s.c:160,1
    - Dst: shiftright128
      Src: /src/postgis/deps/ryu/d2s.c:166,1
    - Dst: shiftright128
      Src: /src/postgis/deps/ryu/d2s.c:174,1
    - Dst: shiftright128
      Src: /src/postgis/deps/ryu/d2s.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - m
    - mul
    - j
    - vp
    - vm
    - mmShift
    argTypes:
    - uint64_t
    - uint64_t*
    - int32_t
    - uint64_t*
    - uint64_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 178
    functionName: mulShiftAll
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - shiftright128
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t mulShiftAll(uint64_t m, const uint64_t* const mul, const
      int32_t j,\n  uint64_t* const vp, uint64_t* const vm, const uint32_t mmShift)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s.c:187,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (v < 100000000000000000L)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/postgis/deps/ryu/d2s.c
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: decimalLength17
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decimalLength17(const uint64_t v)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:230,1
    - Dst: log10Pow2
      Src: /src/postgis/deps/ryu/d2s.c:249,1
    - Dst: pow5bits
      Src: /src/postgis/deps/ryu/d2s.c:251,1
    - Dst: double_computeInvPow5
      Src: /src/postgis/deps/ryu/d2s.c:255,1
    - Dst: mulShiftAll
      Src: /src/postgis/deps/ryu/d2s.c:256,1
    - Dst: mulShiftAll
      Src: /src/postgis/deps/ryu/d2s.c:258,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:261,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:262,1
    - Dst: div5
      Src: /src/postgis/deps/ryu/d2s.c:268,1
    - Dst: multipleOfPowerOf5
      Src: /src/postgis/deps/ryu/d2s.c:270,1
    - Dst: multipleOfPowerOf5
      Src: /src/postgis/deps/ryu/d2s.c:275,1
    - Dst: multipleOfPowerOf5
      Src: /src/postgis/deps/ryu/d2s.c:278,1
    - Dst: log10Pow5
      Src: /src/postgis/deps/ryu/d2s.c:283,1
    - Dst: pow5bits
      Src: /src/postgis/deps/ryu/d2s.c:286,1
    - Dst: double_computePow5
      Src: /src/postgis/deps/ryu/d2s.c:290,1
    - Dst: mulShiftAll
      Src: /src/postgis/deps/ryu/d2s.c:291,1
    - Dst: mulShiftAll
      Src: /src/postgis/deps/ryu/d2s.c:293,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:296,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:297,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:298,1
    - Dst: multipleOfPowerOf2
      Src: /src/postgis/deps/ryu/d2s.c:316,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:318,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:323,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:324,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:325,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:326,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:337,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:338,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:343,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:354,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:355,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:359,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:364,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:365,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:376,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:377,1
    - Dst: div100
      Src: /src/postgis/deps/ryu/d2s.c:388,1
    - Dst: div100
      Src: /src/postgis/deps/ryu/d2s.c:389,1
    - Dst: div100
      Src: /src/postgis/deps/ryu/d2s.c:391,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:404,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:405,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:409,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:418,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:419,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:427,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:428,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:429,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 113
    argCount: 2
    argNames:
    - ieeeMantissa
    - ieeeExponent
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 436
    functionName: d2d
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - log10Pow2
    - div5
    - log10Pow5
    - printf
    - multipleOfPowerOf5
    - div10
    - multipleOfPowerOf2
    - pow5bits
    - double_computeInvPow5
    - div100
    - mulShiftAll
    - double_computePow5
    linkageType: ''
    returnType: floating_decimal_64
    signature: floating_decimal_64 d2d(const uint64_t ieeeMantissa, const uint32_t
      ieeeExponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s.c:464,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exp
    argTypes:
    - int32_t
    assertStmts:
    - condition: (exp <= 17)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/postgis/deps/ryu/d2s.c
    - condition: (exp >= 0)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/postgis/deps/ryu/d2s.c
    constantsTouched: []
    func_position:
      end: 467
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 467
    functionName: pow_10
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pow_10(const int32_t exp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: div1e8
      Src: /src/postgis/deps/ryu/d2s.c:479,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:490,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:491,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:492,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:493,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:508,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:509,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:521,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - output
    - olength
    - result
    argTypes:
    - uint64_t
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 535
    functionName: to_chars_uint64
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - div1e8
    - memcpy
    linkageType: ''
    returnType: int
    signature: int to_chars_uint64(uint64_t output, uint32_t olength, char* const
      result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: decimalLength17
      Src: /src/postgis/deps/ryu/d2s.c:540,1
    - Dst: pow_10
      Src: /src/postgis/deps/ryu/d2s.c:569,1
    - Dst: decimalLength17
      Src: /src/postgis/deps/ryu/d2s.c:580,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:589,1
    - Dst: pow_10
      Src: /src/postgis/deps/ryu/d2s.c:606,1
    - Dst: pow_10
      Src: /src/postgis/deps/ryu/d2s.c:611,1
    - Dst: decimalLength17
      Src: /src/postgis/deps/ryu/d2s.c:614,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:628,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:629,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:630,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:631,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:632,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:633,1
    - Dst: to_chars_uint64
      Src: /src/postgis/deps/ryu/d2s.c:643,1
    - Dst: to_chars_uint64
      Src: /src/postgis/deps/ryu/d2s.c:652,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 4
    argNames:
    - v
    - sign
    - precision
    - result
    argTypes:
    - floating_decimal_64
    - bool
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 656
    functionName: to_chars_fixed
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached:
    - to_chars_uint64
    - printf
    - div10
    - decimalLength17
    - pow_10
    linkageType: ''
    returnType: int
    signature: int to_chars_fixed(const floating_decimal_64 v, const bool sign, uint32_t
      precision, char* const result)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ieeeMantissa
    - ieeeExponent
    - v
    argTypes:
    - uint64_t
    - uint32_t
    - floating_decimal_64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 688
    functionName: d2d_small_int
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool d2d_small_int(const uint64_t ieeeMantissa, const uint32_t ieeeExponent,\n
      \ floating_decimal_64* const v)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: double_to_bits
      Src: /src/postgis/deps/ryu/d2s.c:692,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:695,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:697,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:699,1
    - Dst: copy_special_str
      Src: /src/postgis/deps/ryu/d2s.c:708,1
    - Dst: d2d_small_int
      Src: /src/postgis/deps/ryu/d2s.c:712,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:719,1
    - Dst: d2d
      Src: /src/postgis/deps/ryu/d2s.c:728,1
    - Dst: to_chars_fixed
      Src: /src/postgis/deps/ryu/d2s.c:731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - f
    - precision
    - result
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 732
    functionName: d2sfixed_buffered_n
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 1
    functionsReached:
    - d2d_small_int
    - copy_special_str
    - div10
    - printf
    - to_chars_fixed
    - double_to_bits
    - d2d
    linkageType: ''
    returnType: int
    signature: int d2sfixed_buffered_n(double f, uint32_t precision, char* result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: double_to_bits
      Src: /src/postgis/deps/ryu/d2s.c:736,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:739,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:741,1
    - Dst: printf
      Src: /src/postgis/deps/ryu/d2s.c:743,1
    - Dst: copy_special_str
      Src: /src/postgis/deps/ryu/d2s.c:752,1
    - Dst: d2d_small_int
      Src: /src/postgis/deps/ryu/d2s.c:756,1
    - Dst: div10
      Src: /src/postgis/deps/ryu/d2s.c:763,1
    - Dst: d2d
      Src: /src/postgis/deps/ryu/d2s.c:772,1
    - Dst: decimalLength17
      Src: /src/postgis/deps/ryu/d2s.c:776,1
    - Dst: to_chars_fixed
      Src: /src/postgis/deps/ryu/d2s.c:779,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:795,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/d2s.c:799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - f
    - precision
    - result
    argTypes:
    - double
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 806
    functionName: d2sexp_buffered_n
    functionSourceFile: /src/postgis/deps/ryu/d2s.c
    functionUses: 1
    functionsReached:
    - d2d_small_int
    - copy_special_str
    - div10
    - printf
    - decimalLength17
    - double_to_bits
    - d2d
    - to_chars_fixed
    - memcpy
    linkageType: ''
    returnType: int
    signature: int d2sexp_buffered_n(double f, uint32_t precision, char* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - productHi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: umul128
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - _umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umul128(const uint64_t a, const uint64_t b, uint64_t* const
      productHi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:55,1
    - Dst: __shiftright128
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lo
    - hi
    - dist
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (dist < 64)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: shiftright128
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - assert
    - __shiftright128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t shiftright128(const uint64_t lo, const uint64_t hi, const
      uint32_t dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - productHi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: umul128
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umul128(const uint64_t a, const uint64_t b, uint64_t* const
      productHi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:93,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:95,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - lo
    - hi
    - dist
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (dist < 64)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    - condition: (dist > 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    - condition: (dist >= 32)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: shiftright128
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t shiftright128(const uint64_t lo, const uint64_t hi, const
      uint32_t dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umul128
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: umulh
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t umulh(const uint64_t a, const uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: div5
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div5(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: div10
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 4
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div10(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: div100
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div100(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: div1e8
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e8(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umulh
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: div1e9
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div1e9
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: mod1e9
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - div1e9
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mod1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: div5
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div5(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: div10
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div10(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: div100
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div100(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: div1e8
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e8(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: div1e9
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t div1e9(const uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: div1e9
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: mod1e9
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - div1e9
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mod1e9(const uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:197,1
    - Dst: div5
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (value != 0)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: pow5Factor
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 0
    functionsReached:
    - div5
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pow5Factor(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow5Factor
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - p
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: multipleOfPowerOf5
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - pow5Factor
    linkageType: ''
    returnType: bool
    signature: bool multipleOfPowerOf5(const uint64_t value, const uint32_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/d2s_intrinsics.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - p
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts:
    - condition: (value != 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: multipleOfPowerOf2
    functionSourceFile: /src/postgis/deps/ryu/d2s_intrinsics.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool multipleOfPowerOf2(const uint64_t value, const uint32_t p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:33,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (v >= 0)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/postgis/deps/ryu/common.h
    - condition: (v < 1000000000)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: decimalLength9
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decimalLength9(const uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:51,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/postgis/deps/ryu/common.h
    - condition: (e <= 3528)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/postgis/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: pow5bits
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t pow5bits(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow5bits
      Src: /src/postgis/deps/ryu/common.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ceil_log2pow5
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - pow5bits
    linkageType: ''
    returnType: int32_t
    signature: int32_t ceil_log2pow5(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:64,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/postgis/deps/ryu/common.h
    - condition: (e <= 1650)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/postgis/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: log10Pow2
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t log10Pow2(const int32_t e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:72,1
    - Dst: assert
      Src: /src/postgis/deps/ryu/common.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - int32_t
    assertStmts:
    - condition: (e >= 0)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/postgis/deps/ryu/common.h
    - condition: (e <= 2620)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/ryu/common.h
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: log10Pow5
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t log10Pow5(const int32_t e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/common.h:79,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/common.h:87,1
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/common.h:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - result
    - sign
    - exponent
    - mantissa
    argTypes:
    - char*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: copy_special_str
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int copy_special_str(char * const result, const bool sign, const bool
      exponent, const bool mantissa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/common.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: float_to_bits
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t float_to_bits(const float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/postgis/deps/ryu/common.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: double_to_bits
    functionSourceFile: /src/postgis/deps/ryu/common.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t double_to_bits(const double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: __ac_isempty
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_isempty(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: __ac_isdel
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_isdel(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: __ac_iseither
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_iseither(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: __ac_set_isdel_false
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isdel_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: __ac_set_isempty_false
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isempty_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: __ac_set_isboth_false
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isboth_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: __ac_set_isdel_true
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isdel_true(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: kh_int_hash_func
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: kh_int_hash_equal
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int_hash_equal(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: kh_int64_hash_func
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int64_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: kh_int64_hash_equal
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int64_hash_equal(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: __ac_X31_hash_string
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: khint_t
    signature: khint_t __ac_X31_hash_string(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: kh_str_hash_func
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_str_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: kh_str_hash_equal
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_str_hash_equal(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: khash_t
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: khash_t(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: kh_init
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_init(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: kh_destroy
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_destroy(name, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: kh_clear
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_clear(name, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: kh_resize
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_resize(name, h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: kh_put
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_put(name, h, k, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: kh_get
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_get(name, h, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: kh_del
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_del(name, h, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: kh_exist
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_exist(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: kh_key
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_key(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: kh_val
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_val(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: kh_value
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_value(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: kh_begin
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_begin(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: kh_end
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_end(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: kh_size
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_size(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: kh_n_buckets
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_n_buckets(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: KHASH_SET_INIT_INT
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_INT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: KHASH_MAP_INIT_INT
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_INT(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: KHASH_SET_INIT_INT64
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_INT64(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: KHASH_MAP_INIT_INT64
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_INT64(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: KHASH_SET_INIT_STR
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_STR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: KHASH_MAP_INIT_STR
    functionSourceFile: /src/postgis/extensions/address_standardizer/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_STR(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: hash_new
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_new()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: hash_free
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_free(self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - self
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: hash_clear
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_clear(self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - self
    - ','
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: hash_each
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_each(self, block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - self
    - ','
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: hash_each_key
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_each_key(self, block)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - self
    - ','
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: hash_each_val
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hash_each_val(self, block)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - __stand_param__
    - which_fields
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 144
    functionName: init_output_fields
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_output_fields( STAND_PARAM *__stand_param__ , int which_fields
      )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - sym
    argTypes:
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: sym_to_field
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sym_to_field( SYMB sym )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - __stand_param__
    - lex_pos
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: _get_definition_text_
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *_get_definition_text_( STAND_PARAM *__stand_param__ , int lex_pos
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _scan_target_
      Src: /src/postgis/extensions/address_standardizer/export.c:185,1
    - Dst: _scan_target_
      Src: /src/postgis/extensions/address_standardizer/export.c:188,1
    - Dst: _scan_target_
      Src: /src/postgis/extensions/address_standardizer/export.c:189,1
    - Dst: _scan_target_
      Src: /src/postgis/extensions/address_standardizer/export.c:190,1
    - Dst: _scan_target_
      Src: /src/postgis/extensions/address_standardizer/export.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: stuff_fields
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached:
    - _scan_target_
    linkageType: ''
    returnType: void
    signature: void stuff_fields( STAND_PARAM *__stand_param__ )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/export.c:209,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/export.c:213,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/export.c:222,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/export.c:249,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/export.c:251,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/export.c:276,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/export.c:280,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/export.c:284,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/export.c:292,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/export.c:296,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/export.c:301,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/export.c:305,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 4
    argNames:
    - __standard_fields__
    - __dest_file__
    - opt
    - is_landmark
    argTypes:
    - char**
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 307
    functionName: send_fields_to_stream
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached:
    - append_string_to_max
    - printf
    - BLANK_STRING
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void send_fields_to_stream( char **__standard_fields__ , FILE *__dest_file__
      , int opt , int is_landmark)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/export.c:321,1
    - Dst: _get_definition_text_
      Src: /src/postgis/extensions/address_standardizer/export.c:346,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/export.c:360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - __stand_param__
    - lex_pos
    - output_sym
    argTypes:
    - STAND_PARAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 363
    functionName: _get_standard_
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 0
    functionsReached:
    - BLANK_STRING
    - find_def_type
    - _get_definition_text_
    linkageType: ''
    returnType: char
    signature: char *_get_standard_(STAND_PARAM *__stand_param__ ,int lex_pos, int
      output_sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _copy_standard_
      Src: /src/postgis/extensions/address_standardizer/export.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - __stand_param__
    - sym
    - dest
    argTypes:
    - STAND_PARAM*
    - SYMB
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: _scan_target_
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 1
    functionsReached:
    - _copy_standard_
    linkageType: ''
    returnType: void
    signature: void _scan_target_(STAND_PARAM *__stand_param__,SYMB sym , int dest)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _get_standard_
      Src: /src/postgis/extensions/address_standardizer/export.c:400,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/export.c:402,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/export.c:402,1
    - Dst: SPACE_APPEND_WITH_LEN
      Src: /src/postgis/extensions/address_standardizer/export.c:409,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/export.c:419,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/export.c:420,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/export.c:424,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/export.c:425,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/export.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - __stand_param__
    - output_sym
    - fld
    - lex_pos
    argTypes:
    - STAND_PARAM*
    - SYMB
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 431
    functionName: _copy_standard_
    functionSourceFile: /src/postgis/extensions/address_standardizer/export.c
    functionUses: 1
    functionsReached:
    - strcpy
    - SPACE_APPEND_WITH_LEN
    - _get_standard_
    - append_string_to_max
    - strlen
    linkageType: ''
    returnType: void
    signature: void _copy_standard_( STAND_PARAM *__stand_param__ , SYMB output_sym
      , int fld , int lex_pos )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - r
    - S
    - gamma_function
    argTypes:
    - NODE*
    - SYMB*
    - NODE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: refresh_transducer
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void refresh_transducer( NODE *r ,\n                         SYMB
      *S ,\n                         NODE **gamma_function )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sym
    argTypes:
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: is_input_symbol
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_input_symbol( SYMB sym )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sym
    argTypes:
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: is_output_symbol
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_output_symbol( SYMB sym )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:119,1
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:125,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:134,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:140,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:150,1
    - Dst: initialize_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:152,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:157,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:158,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:159,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:161,1
    - Dst: rules_free
      Src: /src/postgis/extensions/address_standardizer/gamma.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - err_p
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 179
    functionName: rules_init
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached:
    - PAGC_DESTROY_2D_ARRAY
    - FREE_AND_NULL
    - PAGC_ALLOC_STRUC
    - rules_free
    - initialize_link
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: RULES
    signature: RULES *rules_init( ERR_PARAM *err_p )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:198,1
    - Dst: MEM_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:210,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:215,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:221,1
    - Dst: is_input_symbol
      Src: /src/postgis/extensions/address_standardizer/gamma.c:235,1
    - Dst: RET_ERR2
      Src: /src/postgis/extensions/address_standardizer/gamma.c:236,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:246,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:251,1
    - Dst: initialize_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:257,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/gamma.c:268,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:280,1
    - Dst: is_output_symbol
      Src: /src/postgis/extensions/address_standardizer/gamma.c:285,1
    - Dst: RET_ERR2
      Src: /src/postgis/extensions/address_standardizer/gamma.c:286,1
    - Dst: classify_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:302,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 3
    argNames:
    - rules
    - num
    - rule
    argTypes:
    - RULES*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 312
    functionName: rules_add_rule
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached:
    - RET_ERR1
    - is_input_symbol
    - MEM_ERR
    - classify_link
    - initialize_link
    - RET_ERR
    - RET_ERR2
    - is_output_symbol
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: int
    signature: int rules_add_rule(RULES *rules, int num, int *rule)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:325,1
    - Dst: precompute_gamma_function
      Src: /src/postgis/extensions/address_standardizer/gamma.c:340,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - rules
    argTypes:
    - RULES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 366
    functionName: rules_ready
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached:
    - precompute_gamma_function
    - PAGC_DESTROY_2D_ARRAY
    - RET_ERR
    linkageType: ''
    returnType: int
    signature: int rules_ready(RULES *rules)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroy_rules
      Src: /src/postgis/extensions/address_standardizer/gamma.c:371,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/gamma.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rules
    argTypes:
    - RULES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: rules_free
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 1
    functionsReached:
    - free
    - destroy_rules
    linkageType: ''
    returnType: void
    signature: void rules_free(RULES *rules)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:409,1
    - Dst: open_aux_file
      Src: /src/postgis/extensions/address_standardizer/gamma.c:418,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:426,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:432,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:442,1
    - Dst: initialize_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:445,1
    - Dst: feof
      Src: /src/postgis/extensions/address_standardizer/gamma.c:451,1
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:454,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:455,1
    - Dst: MEM_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:460,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:466,1
    - Dst: fscanf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:475,1
    - Dst: is_input_symbol
      Src: /src/postgis/extensions/address_standardizer/gamma.c:488,1
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:489,1
    - Dst: RET_ERR2
      Src: /src/postgis/extensions/address_standardizer/gamma.c:490,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:500,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:505,1
    - Dst: initialize_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:511,1
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:523,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/gamma.c:524,1
    - Dst: fscanf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:534,1
    - Dst: is_output_symbol
      Src: /src/postgis/extensions/address_standardizer/gamma.c:539,1
    - Dst: RET_ERR2
      Src: /src/postgis/extensions/address_standardizer/gamma.c:540,1
    - Dst: fscanf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:551,1
    - Dst: fscanf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:554,1
    - Dst: classify_link
      Src: /src/postgis/extensions/address_standardizer/gamma.c:558,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/gamma.c:572,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:576,1
    - Dst: precompute_gamma_function
      Src: /src/postgis/extensions/address_standardizer/gamma.c:590,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:598,1
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/gamma.c:604,1
    - Dst: LOG_MESS2
      Src: /src/postgis/extensions/address_standardizer/gamma.c:605,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 106
    argCount: 2
    argNames:
    - rule_name
    - glo_p
    argTypes:
    - char*
    - PAGC_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 612
    functionName: create_rules
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached:
    - RET_ERR1
    - precompute_gamma_function
    - is_input_symbol
    - PAGC_DESTROY_2D_ARRAY
    - MEM_ERR
    - fscanf
    - PAGC_ALLOC_STRUC
    - open_aux_file
    - CLIENT_ERR
    - initialize_link
    - RET_ERR
    - classify_link
    - feof
    - RET_ERR2
    - fclose
    - is_output_symbol
    - LOG_MESS2
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: RULE_PARAM
    signature: "RULE_PARAM *create_rules( const char *rule_name ,\n                          PAGC_GLOBAL
      *glo_p )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/gamma.c:621,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:622,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/gamma.c:623,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:624,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/gamma.c:625,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:626,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/gamma.c:627,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:628,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/gamma.c:629,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - r_p
    argTypes:
    - RULE_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 632
    functionName: destroy_rules
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 1
    functionsReached:
    - PAGC_DESTROY_2D_ARRAY
    - DBG
    - FREE_AND_NULL
    linkageType: ''
    returnType: void
    signature: void destroy_rules( RULE_PARAM * r_p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - err_p
    - o_l
    - u
    argTypes:
    - ERR_PARAM*
    - KW***
    - NODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 655
    functionName: initialize_link
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int initialize_link( ERR_PARAM *err_p ,\n                            KW
      ***o_l ,\n                            NODE u )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - r_p
    - o_l
    - k
    - u
    - w
    - c
    argTypes:
    - RULE_PARAM*
    - KW***
    - KW*
    - NODE
    - SYMB
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 689
    functionName: classify_link
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void classify_link( RULE_PARAM *r_p ,\n                           KW
      ***o_l , /* -- 2006-11-02 : arg -- */\n                           KW *k ,\n
      \                          NODE u ,\n                           SYMB w ,\n                           SYMB
      c )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - o_l
    - x
    - u
    argTypes:
    - KW***
    - NODE
    - NODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 727
    functionName: add_failure_linkage
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void add_failure_linkage( KW ***o_l ,\n                                 NODE
      x ,\n                                 NODE u )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:749,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/gamma.c:751,1
    - Dst: PAGC_CALLOC_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/gamma.c:753,1
    - Dst: add_failure_linkage
      Src: /src/postgis/extensions/address_standardizer/gamma.c:784,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:799,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 802
    functionName: precompute_gamma_function
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 2
    functionsReached:
    - add_failure_linkage
    - PAGC_CALLOC_2D_ARRAY
    - FREE_AND_NULL
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: NODE
    signature: "NODE **precompute_gamma_function( ERR_PARAM *err_p ,\n                                         NODE
      **Trie ,\n                                         KW ***o_l ,\n                                         NODE
      n )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:835,1
    - Dst: OPEN_ALLOCATED_NAME
      Src: /src/postgis/extensions/address_standardizer/gamma.c:841,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:858,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:862,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:864,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:869,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:876,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/gamma.c:878,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:880,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/gamma.c:883,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:887,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:890,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:898,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/gamma.c:900,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:902,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/gamma.c:905,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:909,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:917,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:923,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:931,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/gamma.c:933,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/gamma.c:941,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/gamma.c:942,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/gamma.c:943,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/gamma.c:945,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 4
    argNames:
    - r_p
    - err_p
    - name
    - _file_sys_p
    argTypes:
    - RULE_PARAM*
    - ERR_PARAM*
    - char*
    - DS_Handle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 948
    functionName: output_rule_statistics
    functionSourceFile: /src/postgis/extensions/address_standardizer/gamma.c
    functionUses: 0
    functionsReached:
    - out_symb_name
    - FREE_AND_NULL
    - in_symb_name
    - printf
    - fprintf
    - OPEN_ALLOCATED_NAME
    - fclose
    - fflush
    linkageType: ''
    returnType: int
    signature: "int output_rule_statistics( RULE_PARAM *r_p ,\n                            ERR_PARAM
      *err_p ,\n                            char *name ,\n                            DS_Handle
      _file_sys_p )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TEMP
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: PRINT_ERROR
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_ERROR( TEMP , MSG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/extensions/address_standardizer/err_param.c:56,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:59,1
    - Dst: open_error_log
      Src: /src/postgis/extensions/address_standardizer/err_param.c:72,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/err_param.c:76,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pagc_glo_p
    - log_name
    argTypes:
    - PAGC_GLOBAL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 85
    functionName: init_errors
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached:
    - PRINT_ERROR
    - malloc
    - FREE_AND_NULL
    - open_error_log
    linkageType: ''
    returnType: ERR_PARAM
    signature: "ERR_PARAM *init_errors( PAGC_GLOBAL *pagc_glo_p ,\n                        const
      char *log_name )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/err_param.c:101,1
    - Dst: empty_errors
      Src: /src/postgis/extensions/address_standardizer/err_param.c:105,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:110,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:113,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/err_param.c:117,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/err_param.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - err_p
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: close_errors
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached:
    - BLANK_STRING
    - empty_errors
    - FREE_AND_NULL
    - PRINT_ERROR
    linkageType: ''
    returnType: void
    signature: void close_errors( ERR_PARAM *err_p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/err_param.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - err_p
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: turn_off_error_log
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int turn_off_error_log( ERR_PARAM *err_p )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: turn_off_error_log
      Src: /src/postgis/extensions/address_standardizer/err_param.c:163,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/err_param.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - err_p
    - is_fatal
    - err_dest
    argTypes:
    - ERR_PARAM*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 177
    functionName: empty_errors
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 1
    functionsReached:
    - turn_off_error_log
    - append_string_to_max
    linkageType: ''
    returnType: int
    signature: "int empty_errors( ERR_PARAM *err_p ,\n                  int *is_fatal
      ,\n                  char *err_dest )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPEN_ALLOCATED_NAME
      Src: /src/postgis/extensions/address_standardizer/err_param.c:196,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/err_param.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - client_log_name
    - _file_sys_p
    - err_p
    argTypes:
    - char*
    - DS_Handle
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: open_error_log
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 1
    functionsReached:
    - OPEN_ALLOCATED_NAME
    - FREE_AND_NULL
    linkageType: ''
    returnType: FILE
    signature: "FILE *open_error_log( const char *client_log_name ,\n                             DS_Handle
      _file_sys_p ,\n                             ERR_PARAM *err_p )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/err_param.c:219,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:221,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/err_param.c:228,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/err_param.c:231,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/err_param.c:233,1
    - Dst: PRINT_ERROR
      Src: /src/postgis/extensions/address_standardizer/err_param.c:242,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/err_param.c:251,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/err_param.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - err_p
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 265
    functionName: register_error
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached:
    - strcpy
    - PRINT_ERROR
    - BLANK_STRING
    - fprintf
    - strlen
    - fflush
    linkageType: ''
    returnType: void
    signature: void register_error( ERR_PARAM *err_p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_fields_to_stream
      Src: /src/postgis/extensions/address_standardizer/err_param.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err_p
    - s_fields
    argTypes:
    - ERR_PARAM*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: send_fields_to_error
    functionSourceFile: /src/postgis/extensions/address_standardizer/err_param.c
    functionUses: 0
    functionsReached:
    - send_fields_to_stream
    linkageType: ''
    returnType: void
    signature: "void send_fields_to_error( ERR_PARAM *err_p ,\n                           char
      **s_fields )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:55,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: get_state_regex
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_state_regex(char *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:72,1
    - Dst: ispunct
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:73,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: clean_trailing_punct
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - ispunct
    - isspace
    - strlen
    linkageType: ''
    returnType: int
    signature: int clean_trailing_punct(char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:84,1
    - Dst: ispunct
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:85,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: clean_leading_punct
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - ispunct
    - isspace
    - strlen
    linkageType: ''
    returnType: char
    signature: char *clean_leading_punct(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:95,1
    - Dst: toupper
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: strtoupper
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - toupper
    - strlen
    linkageType: ''
    returnType: void
    signature: void strtoupper(char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre_compile
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:107,1
    - Dst: pcre_exec
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:110,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:110,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pattern
    - s
    - ovect
    - options
    argTypes:
    - char*
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: match
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - pcre_compile
    - strlen
    - free
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: int match(char *pattern, char *s, int *ovect, int options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_compile
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:129,1
    - Dst: pcre2_match_data_create
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:132,1
    - Dst: pcre2_match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:134,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:134,1
    - Dst: pcre2_code_free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:137,1
    - Dst: pcre2_match_data_free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:138,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:148,1
    - Dst: pcre2_code_free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:154,1
    - Dst: pcre2_match_data_free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - pattern
    - s
    - ovect
    - options
    argTypes:
    - char*
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 157
    functionName: match
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 1
    functionsReached:
    - pcre2_match
    - pcre2_get_ovector_pointer
    - pcre2_match_data_create
    - pcre2_compile
    - strlen
    - pcre2_match_data_free
    - pcre2_code_free
    linkageType: ''
    returnType: int
    signature: int match(char *pattern, char *s, int *ovect, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: RET_ERROR
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_ERROR(a,e)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:185,1
    - Dst: match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:188,1
    - Dst: strtod
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:191,1
    - Dst: strtod
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:192,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:198,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:201,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:202,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:202,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:206,1
    - Dst: clean_trailing_punct
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:210,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:214,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:215,1
    - Dst: match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:219,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:221,1
    - Dst: strncpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:222,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:224,1
    - Dst: strncpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:225,1
    - Dst: match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:232,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:234,1
    - Dst: strncpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:235,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:236,1
    - Dst: clean_trailing_punct
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:243,1
    - Dst: match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:250,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:252,1
    - Dst: strncpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:253,1
    - Dst: strtoupper
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:259,1
    - Dst: hsearch_r
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:262,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:264,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:265,1
    - Dst: hash_get
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:269,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:271,1
    - Dst: match
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:280,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:282,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 3
    argNames:
    - stH
    - s
    - reterr
    argTypes:
    - HHash*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 285
    functionName: parseaddress
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - strcpy
    - clean_trailing_punct
    - strtoupper
    - strncpy
    - pstrdup
    - hash_get
    - isspace
    - match
    - strtod
    - strlen
    - hsearch_r
    - palloc0
    linkageType: ''
    returnType: ADDRESS
    signature: ADDRESS *parseaddress(HHash *stH, char *s, int *reterr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:531,1
    - Dst: hcreate_r
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:534,1
    - Dst: hsearch_r
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:538,1
    - Dst: hsearch_r
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:543,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:553,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - stH
    argTypes:
    - HHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 560
    functionName: load_state_hash
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - hash_set
    - hcreate_r
    - DBG
    - hsearch_r
    linkageType: ''
    returnType: int
    signature: int load_state_hash(HHash *stH)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hdestroy_r
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:566,1
    - Dst: hash_free
      Src: /src/postgis/extensions/address_standardizer/parseaddress-api.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - stH
    argTypes:
    - HHash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: free_state_hash
    functionSourceFile: /src/postgis/extensions/address_standardizer/parseaddress-api.c
    functionUses: 0
    functionsReached:
    - hdestroy_r
    - hash_free
    linkageType: ''
    returnType: void
    signature: void free_state_hash(HHash *stH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kh_put
      Src: /src/postgis/extensions/address_standardizer/hash.c:17,1
    - Dst: kh_value
      Src: /src/postgis/extensions/address_standardizer/hash.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - key
    - val
    argTypes:
    - hash_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: hash_set
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 1
    functionsReached:
    - kh_value
    - kh_put
    linkageType: ''
    returnType: void
    signature: void hash_set(hash_t *self, char *key, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kh_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:27,1
    - Dst: kh_end
      Src: /src/postgis/extensions/address_standardizer/hash.c:28,1
    - Dst: kh_value
      Src: /src/postgis/extensions/address_standardizer/hash.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - hash_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: hash_get
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 1
    functionsReached:
    - kh_end
    - kh_get
    - kh_value
    linkageType: ''
    returnType: void
    signature: 'void *

      hash_get(hash_t *self, char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kh_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:37,1
    - Dst: kh_exist
      Src: /src/postgis/extensions/address_standardizer/hash.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - hash_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: hash_has
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - kh_get
    - kh_exist
    linkageType: ''
    returnType: int
    signature: int hash_has(hash_t *self, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kh_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:47,1
    - Dst: kh_del
      Src: /src/postgis/extensions/address_standardizer/hash.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - hash_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: hash_del
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - kh_del
    - kh_get
    linkageType: ''
    returnType: void
    signature: void hash_del(hash_t *self, char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:61,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:62,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:62,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:64,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:65,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:66,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:66,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:68,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:68,1
    - Dst: hash_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:68,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:69,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:69,1
    - Dst: hash_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == hash_size(hash))
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (2 == hash_size(hash))
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("tobi", hash_get(hash, "name")))
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("ferret", hash_get(hash, "species")))
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: test_hash_set
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - hash_set
    - hash_get
    - hash_new
    - hash_size
    linkageType: ''
    returnType: void
    signature: void test_hash_set()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:74,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:75,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:76,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:76,1
    - Dst: hash_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:76,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:77,1
    - Dst: hash_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == strcmp("bar", hash_get(hash, "foo")))
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (NULL == hash_get(hash, "bar"))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: test_hash_get
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - hash_set
    - hash_get
    - hash_new
    linkageType: ''
    returnType: void
    signature: void test_hash_get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:82,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:83,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:84,1
    - Dst: hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:84,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:85,1
    - Dst: hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == hash_has(hash, "bar"))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (1 == hash_has(hash, "foo"))
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: test_hash_has
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - hash_new
    - assert
    - hash_has
    - hash_set
    linkageType: ''
    returnType: void
    signature: void test_hash_has()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:90,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:91,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:91,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:92,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:93,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:93,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:94,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:95,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (1 == hash_size(hash))
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == hash_size(hash))
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (2 == hash_size(hash))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: test_hash_size
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - hash_new
    - assert
    - hash_size
    - hash_set
    linkageType: ''
    returnType: void
    signature: void test_hash_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:100,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:101,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:102,1
    - Dst: hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:102,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:103,1
    - Dst: hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:103,1
    - Dst: hash_del
      Src: /src/postgis/extensions/address_standardizer/hash.c:104,1
    - Dst: hash_del
      Src: /src/postgis/extensions/address_standardizer/hash.c:105,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:106,1
    - Dst: hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (1 == hash_has(hash, "foo"))
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == hash_has(hash, "bar"))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == hash_has(hash, "foo"))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: test_hash_del
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - hash_set
    - assert
    - hash_has
    - hash_new
    - hash_del
    linkageType: ''
    returnType: void
    signature: void test_hash_del()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:111,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:112,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:113,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:114,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:115,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:115,1
    - Dst: hash_clear
      Src: /src/postgis/extensions/address_standardizer/hash.c:116,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:117,1
    - Dst: hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (3 == hash_size(hash))
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == hash_size(hash))
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: test_hash_clear
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - hash_set
    - assert
    - hash_new
    - hash_size
    - hash_clear
    linkageType: ''
    returnType: void
    signature: void test_hash_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:122,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:123,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:124,1
    - Dst: hash_each
      Src: /src/postgis/extensions/address_standardizer/hash.c:130,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:136,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:136,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:136,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:137,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:137,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:137,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:138,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:138,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:138,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:139,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:139,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == strcmp("age", keys[0]) || 0 == strcmp("name", keys[0]))
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("age", keys[1]) || 0 == strcmp("name", keys[1]))
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("25", vals[0]) || 0 == strcmp("tj", vals[0]))
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("25", vals[1]) || 0 == strcmp("tj", vals[1]))
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: test_hash_each
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - hash_set
    - hash_each
    - hash_new
    linkageType: ''
    returnType: void
    signature: void test_hash_each()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:144,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:145,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:146,1
    - Dst: hash_each_key
      Src: /src/postgis/extensions/address_standardizer/hash.c:151,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:155,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:155,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:155,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:156,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:156,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == strcmp("age", keys[0]) || 0 == strcmp("name", keys[0]))
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("age", keys[1]) || 0 == strcmp("name", keys[1]))
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: test_hash_each_key
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - hash_set
    - hash_new
    - hash_each_key
    linkageType: ''
    returnType: void
    signature: void test_hash_each_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_new
      Src: /src/postgis/extensions/address_standardizer/hash.c:161,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:162,1
    - Dst: hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:163,1
    - Dst: hash_each_val
      Src: /src/postgis/extensions/address_standardizer/hash.c:168,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:172,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:172,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:172,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/hash.c:173,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:173,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/hash.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == strcmp("25", vals[0]) || 0 == strcmp("tj", vals[0]))
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    - condition: (0 == strcmp("25", vals[1]) || 0 == strcmp("tj", vals[1]))
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/postgis/extensions/address_standardizer/hash.c
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: test_hash_each_val
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - hash_set
    - hash_each_val
    - hash_new
    linkageType: ''
    returnType: void
    signature: void test_hash_each_val()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hash_set
      Src: /src/postgis/extensions/address_standardizer/hash.c:178,1
    - Dst: test_hash_get
      Src: /src/postgis/extensions/address_standardizer/hash.c:179,1
    - Dst: test_hash_has
      Src: /src/postgis/extensions/address_standardizer/hash.c:180,1
    - Dst: test_hash_del
      Src: /src/postgis/extensions/address_standardizer/hash.c:181,1
    - Dst: test_hash_size
      Src: /src/postgis/extensions/address_standardizer/hash.c:182,1
    - Dst: test_hash_clear
      Src: /src/postgis/extensions/address_standardizer/hash.c:183,1
    - Dst: test_hash_each
      Src: /src/postgis/extensions/address_standardizer/hash.c:184,1
    - Dst: test_hash_each_key
      Src: /src/postgis/extensions/address_standardizer/hash.c:185,1
    - Dst: test_hash_each_val
      Src: /src/postgis/extensions/address_standardizer/hash.c:186,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/hash.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/postgis/extensions/address_standardizer/hash.c
    functionUses: 2
    functionsReached:
    - test_hash_get
    - test_hash_size
    - printf
    - test_hash_set
    - test_hash_clear
    - test_hash_each_val
    - test_hash_has
    - test_hash_del
    - test_hash_each_key
    - test_hash_each
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_parser.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:40,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:42,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:42,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:44,1
    - Dst: get_call_result_type
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:46,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:47,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:51,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:52,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:54,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:56,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:58,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:62,1
    - Dst: load_state_hash
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:64,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:66,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:68,1
    - Dst: hdestroy_r
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:69,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:71,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:75,1
    - Dst: parseaddress
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:76,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:78,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:82,1
    - Dst: palloc
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:83,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:85,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:98,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:99,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:102,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:103,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:106,1
    - Dst: free_state_hash
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:107,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_parser.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 111
    functionName: parse_address
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_parser.c
    functionUses: 0
    functionsReached:
    - palloc
    - DBG
    - hdestroy_r
    - palloc0
    - parseaddress
    - BlessTupleDesc
    - elog
    - HeapTupleGetDatum
    - free_state_hash
    - text_to_cstring
    - BuildTupleFromCStrings
    - PG_GETARG_TEXT_P
    - load_state_hash
    - TupleDescGetAttInMetadata
    - get_call_result_type
    linkageType: ''
    returnType: Datum
    signature: Datum parse_address(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - arg
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DBG
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(format, arg...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: BLANK_STRING
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLANK_STRING(STR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1004
    functionName: IS_BLANK
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BLANK( STR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - INTF
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: LOG_DS_ERR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_DS_ERR( INTF, WHERE )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STATUS_REG_V
    - ','
    - INTF
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1018
    functionName: TERMINATE_INTERFACE
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERMINATE_INTERFACE( STATUS_REG_V , INTF , WHERE )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STR
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1023
    functionName: LOG_MESS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_MESS(STR,WHERE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TEMP
    - ','
    - INSERT
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1029
    functionName: LOG_MESS1
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_MESS1( TEMP,INSERT,WHERE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TEMP
    - ','
    - INSERT1
    - ','
    - INSERT2
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1036
    functionName: LOG_MESS2
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_MESS2( TEMP,INSERT1,INSERT2,WHERE )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - TEMP
    - ','
    - INSERT1
    - ','
    - INSERT2
    - ','
    - INSERT3
    - ','
    - WHERE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionName: LOG_MESS3
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_MESS3( TEMP,INSERT1,INSERT2,INSERT3,WHERE )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STR
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: RET_ERR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_ERR(STR,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TEMP
    - ','
    - INSERT
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: RET_ERR1
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_ERR1(TEMP,INSERT,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - TEMP
    - ','
    - INSERT1
    - ','
    - INSERT2
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1057
    functionName: RET_ERR2
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_ERR2(TEMP,INSERT1,INSERT2,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - TEMP
    - ','
    - INSERT1
    - ','
    - INSERT2
    - ','
    - INSERT3
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: RET_ERR3
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_ERR3(TEMP,INSERT1,INSERT2,INSERT3,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: FATAL_ERR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FATAL_ERR( MSG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: CLIENT_ERR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIENT_ERR( PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PTR
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1074
    functionName: MEM_ERR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_ERR(PTR,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - DEST
    - ','
    - SRC
    - ','
    - WHERE
    - ','
    - RET_VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1082
    functionName: PAGC_STORE_STR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_STORE_STR(DEST,SRC,WHERE,RET_VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - LOC
    - ','
    - TYP
    - ','
    - WHERE
    - ','
    - EXIT_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    functionName: PAGC_ALLOC_STRUC
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_ALLOC_STRUC(LOC,TYP,WHERE,EXIT_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - LOC
    - ','
    - TYP
    - ','
    - NUM
    - ','
    - WHERE
    - ','
    - EXIT_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: PAGC_CALLOC_STRUC
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_CALLOC_STRUC(LOC,TYP,NUM,WHERE,EXIT_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - PTR
    - ','
    - TYP
    - ','
    - ROWS
    - ','
    - COLS
    - ','
    - WHERE
    - ','
    - EXIT_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1102
    functionName: PAGC_CALLOC_2D_ARRAY
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_CALLOC_2D_ARRAY(PTR,TYP,ROWS,COLS,WHERE,EXIT_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: FREE_AND_NULL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_AND_NULL(PTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PTR
    - ','
    - TYP
    - ','
    - ROWS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: PAGC_DESTROY_2D_ARRAY
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_DESTROY_2D_ARRAY(PTR,TYP,ROWS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - HANDLE
    - ','
    - FNAME
    - ','
    - MODE
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: PAGC_FILE_OPEN
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAGC_FILE_OPEN(HANDLE,FNAME,MODE,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ALLOC_NAME
    - ','
    - EXT
    - ','
    - HANDLE
    - ','
    - NAME
    - ','
    - MODE
    - ','
    - DS_SYS
    - ','
    - WHERE
    - ','
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1141
    functionName: OPEN_ALLOCATED_NAME
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPEN_ALLOCATED_NAME(ALLOC_NAME,EXT,HANDLE,NAME,MODE,DS_SYS,WHERE,RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - D
    - ','
    - S
    - ','
    - L
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: SPACE_APPEND_WITH_LEN
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPACE_APPEND_WITH_LEN( D, S , L )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DEST
    - ','
    - CNT
    - ','
    - SW
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1155
    functionName: MAKE_SOUNDEX_KEY
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_SOUNDEX_KEY(DEST,CNT,SW)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TARGET
    - ','
    - SOURCE_A
    - ','
    - SOURCE_B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1161
    functionName: MAKE_CONCAT_KEY
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_CONCAT_KEY(TARGET,SOURCE_A,SOURCE_B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - SOURCE_A
    - ','
    - SOURCE_B
    - ','
    - DEST
    - ','
    - HOLD
    - ','
    - CNT
    - ','
    - SW
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1168
    functionName: MAKE_CONCAT_SOUNDEX_KEY
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_CONCAT_SOUNDEX_KEY(SOURCE_A,SOURCE_B,DEST,HOLD,CNT,SW)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1173
    functionName: IS_ALPHA_STR_SENTINEL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ALPHA_STR_SENTINEL(V)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NATIVE_PTR
    - ','
    - CLIENT_PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: CONVERT_HANDLE
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONVERT_HANDLE( NATIVE_PTR , CLIENT_PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ARRAY_SIZE
    - ','
    - ARRAY_IDX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: CHECK_BOUNDS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BOUNDS( ARRAY_SIZE , ARRAY_IDX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ARRAY_SIZE
    - ','
    - ARRAY_IDX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: CHECK_BOUNDS_ABSOLUTE
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BOUNDS_ABSOLUTE( ARRAY_SIZE , ARRAY_IDX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: UPDATE_SCHEMA_BOUNDS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_SCHEMA_BOUNDS( PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: UPDATE_CONTEXT_BOUNDS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CONTEXT_BOUNDS( PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - IDX
    - ','
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: SCHEMA_INDEX_TO_POINTER
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCHEMA_INDEX_TO_POINTER( IDX , PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - IDX
    - ','
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: CONTEXT_INDEX_TO_POINTER
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTEXT_INDEX_TO_POINTER( IDX , PTR )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CNT
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: LIMIT_BOUNDS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT_BOUNDS( CNT, MAX )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DEST
    - ','
    - NUM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: READ_BETA_STRING
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_BETA_STRING(DEST,NUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DEST
    - ','
    - NUM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1240
    functionName: READ_BETA_INT
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_BETA_INT(DEST,NUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR_VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: INT32_AS_BYTES
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT32_AS_BYTES( PTR_VAL )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR_VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1246
    functionName: INTEGER_AS_BYTES
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTEGER_AS_BYTES( PTR_VAL )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PTR_VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1249
    functionName: DOUBLE_AS_BYTES
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_AS_BYTES( PTR_VAL )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1254
    functionName: IS_DOUBLE_EQUAL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_EQUAL( FX, FY )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1255
    functionName: IS_DOUBLE_NOT_EQUAL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_NOT_EQUAL(FX,FY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1256
    functionName: IS_DOUBLE_LESS
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_LESS(FX,FY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1257
    functionName: IS_DOUBLE_GREATER
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_GREATER(FX,FY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1258
    functionName: IS_DOUBLE_LESS_OR_EQUAL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_LESS_OR_EQUAL(FX,FY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FX
    - ','
    - FY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1259
    functionName: IS_DOUBLE_GREATER_OR_EQUAL
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOUBLE_GREATER_OR_EQUAL(FX,FY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TOKEN_ARG
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: RETURN_NEW_MORPH
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_NEW_MORPH(TOKEN_ARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COND
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: COLLECT_WHILE
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLLECT_WHILE(COND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COND
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: NO_COLLECT_WHILE
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NO_COLLECT_WHILE(COND)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - N
    - ','
    - NEXT_LOW
    - ','
    - NEXT_UP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: TEST_FOR_ORD_DIGIT
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FOR_ORD_DIGIT(N,NEXT_LOW,NEXT_UP)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/postgis/extensions/address_standardizer/standard.c:104,1
    - Dst: initialize_morphs
      Src: /src/postgis/extensions/address_standardizer/standard.c:112,1
    - Dst: _Scan_String_
      Src: /src/postgis/extensions/address_standardizer/standard.c:113,1
    - Dst: _Close_Stand_Field_
      Src: /src/postgis/extensions/address_standardizer/standard.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - __stand_param__
    - __in_str__
    - client_start_state
    argTypes:
    - STAND_PARAM*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: standardize_field
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - _Close_Stand_Field_
    - if
    - _Scan_String_
    - initialize_morphs
    linkageType: ''
    returnType: int
    signature: int standardize_field(STAND_PARAM *__stand_param__ ,char *__in_str__
      , int client_start_state )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: process_input
      Src: /src/postgis/extensions/address_standardizer/standard.c:130,1
    - Dst: _Scan_Next_
      Src: /src/postgis/extensions/address_standardizer/standard.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - __stand_param__
    - __in_str__
    argTypes:
    - STAND_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: _Scan_String_
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - _Scan_Next_
    - process_input
    linkageType: ''
    returnType: int
    signature: int _Scan_String_(STAND_PARAM *__stand_param__ ,char *__in_str__ )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: set_term
      Src: /src/postgis/extensions/address_standardizer/standard.c:160,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/standard.c:165,1
    - Dst: COLLECT_WHILE
      Src: /src/postgis/extensions/address_standardizer/standard.c:170,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/standard.c:170,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/standard.c:180,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:189,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:197,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:205,1
    - Dst: TEST_FOR_ORD_DIGIT
      Src: /src/postgis/extensions/address_standardizer/standard.c:215,1
    - Dst: TEST_FOR_ORD_DIGIT
      Src: /src/postgis/extensions/address_standardizer/standard.c:219,1
    - Dst: TEST_FOR_ORD_DIGIT
      Src: /src/postgis/extensions/address_standardizer/standard.c:223,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:236,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:244,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:252,1
    - Dst: COLLECT_WHILE
      Src: /src/postgis/extensions/address_standardizer/standard.c:257,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:259,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/standard.c:262,1
    - Dst: COLLECT_WHILE
      Src: /src/postgis/extensions/address_standardizer/standard.c:264,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/standard.c:264,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:270,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:272,1
    - Dst: RETURN_NEW_MORPH
      Src: /src/postgis/extensions/address_standardizer/standard.c:274,1
    - Dst: strchr
      Src: /src/postgis/extensions/address_standardizer/standard.c:280,1
    - Dst: NO_COLLECT_WHILE
      Src: /src/postgis/extensions/address_standardizer/standard.c:282,1
    - Dst: strchr
      Src: /src/postgis/extensions/address_standardizer/standard.c:282,1
    - Dst: set_term
      Src: /src/postgis/extensions/address_standardizer/standard.c:283,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 2
    argNames:
    - __stand_param__
    - __in_ptr__
    argTypes:
    - STAND_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 289
    functionName: _Scan_Next_
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - isalpha
    - TEST_FOR_ORD_DIGIT
    - RETURN_NEW_MORPH
    - set_term
    - COLLECT_WHILE
    - NO_COLLECT_WHILE
    - strchr
    - isdigit
    linkageType: ''
    returnType: char
    signature: char * _Scan_Next_( STAND_PARAM *__stand_param__,char * __in_ptr__)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/postgis/extensions/address_standardizer/standard.c:321,1
    - Dst: calloc
      Src: /src/postgis/extensions/address_standardizer/standard.c:324,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:326,1
    - Dst: init_errors
      Src: /src/postgis/extensions/address_standardizer/standard.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: std_init
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - init_errors
    - free
    - calloc
    linkageType: ''
    returnType: STANDARDIZER
    signature: STANDARDIZER *std_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/standard.c:341,1
    - Dst: setup_default_defs
      Src: /src/postgis/extensions/address_standardizer/standard.c:342,1
    - Dst: install_def_block_table
      Src: /src/postgis/extensions/address_standardizer/standard.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - std
    - lex
    argTypes:
    - STANDARDIZER*
    - LEXICON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: std_use_lex
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - lex_free
    - setup_default_defs
    - install_def_block_table
    linkageType: ''
    returnType: int
    signature: int std_use_lex(STANDARDIZER *std, LEXICON *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/standard.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - std
    - gaz
    argTypes:
    - STANDARDIZER*
    - LEXICON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: std_use_gaz
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - lex_free
    linkageType: ''
    returnType: int
    signature: int std_use_gaz(STANDARDIZER *std, LEXICON *gaz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/standard.c:359,1
    - Dst: rules_free
      Src: /src/postgis/extensions/address_standardizer/standard.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - std
    - rules
    argTypes:
    - STANDARDIZER*
    - RULES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: std_use_rules
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - rules_free
    - RET_ERR
    linkageType: ''
    returnType: int
    signature: int std_use_rules(STANDARDIZER *std, RULES *rules)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_stand_context
      Src: /src/postgis/extensions/address_standardizer/standard.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - std
    argTypes:
    - STANDARDIZER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: std_ready_standardizer
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - init_stand_context
    linkageType: ''
    returnType: int
    signature: int std_ready_standardizer(STANDARDIZER *std)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:381,1
    - Dst: close_stand_process
      Src: /src/postgis/extensions/address_standardizer/standard.c:382,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:384,1
    - Dst: close_errors
      Src: /src/postgis/extensions/address_standardizer/standard.c:385,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:386,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/standard.c:387,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:389,1
    - Dst: close_stand_context
      Src: /src/postgis/extensions/address_standardizer/standard.c:390,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:391,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - std
    argTypes:
    - STANDARDIZER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 393
    functionName: std_free
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - DBG
    - FREE_AND_NULL
    - close_stand_process
    - free
    - close_stand_context
    - close_errors
    linkageType: ''
    returnType: void
    signature: void std_free(STANDARDIZER *std)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:399,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:400,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:401,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:402,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:403,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:404,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:405,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:406,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:407,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:408,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:409,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:410,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:411,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:412,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:413,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:414,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/standard.c:415,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - stdaddr
    argTypes:
    - STDADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 417
    functionName: stdaddr_free
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void stdaddr_free(STDADDR *stdaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: coalesce
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *coalesce( char *a, char *b )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:427,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:427,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:428,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:428,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:429,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:429,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:430,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:430,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:431,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:431,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:432,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:432,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:433,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:433,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:434,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:434,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:435,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:435,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:436,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:436,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:437,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:437,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:438,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:438,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:439,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:439,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:440,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:440,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:441,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:441,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:442,1
    - Dst: coalesce
      Src: /src/postgis/extensions/address_standardizer/standard.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - result
    argTypes:
    - STDADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 444
    functionName: print_stdaddr
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - printf
    - coalesce
    linkageType: ''
    returnType: void
    signature: void print_stdaddr( STDADDR *result )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: IS_BLANK
      Src: /src/postgis/extensions/address_standardizer/standard.c:463,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/standard.c:464,1
    - Dst: init_output_fields
      Src: /src/postgis/extensions/address_standardizer/standard.c:467,1
    - Dst: standardize_field
      Src: /src/postgis/extensions/address_standardizer/standard.c:469,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/standard.c:471,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:476,1
    - Dst: output_raw_elements
      Src: /src/postgis/extensions/address_standardizer/standard.c:477,1
    - Dst: send_fields_to_stream
      Src: /src/postgis/extensions/address_standardizer/standard.c:478,1
    - Dst: standardize_field
      Src: /src/postgis/extensions/address_standardizer/standard.c:482,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/standard.c:484,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/standard.c:489,1
    - Dst: send_fields_to_stream
      Src: /src/postgis/extensions/address_standardizer/standard.c:490,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/standard.c:493,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:495,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:496,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:497,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:498,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:499,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:500,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:501,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:502,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:503,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:504,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:505,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:506,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:507,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:508,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:509,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:510,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:511,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:512,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:513,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:514,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:515,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:516,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:517,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:518,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:519,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:520,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:521,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:522,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:523,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:524,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/standard.c:525,1
    - Dst: strdup
      Src: /src/postgis/extensions/address_standardizer/standard.c:526,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 4
    argNames:
    - std
    - micro
    - macro
    - options
    argTypes:
    - STANDARDIZER*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 529
    functionName: std_standardize_mm
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - RET_ERR1
    - strdup
    - init_output_fields
    - send_fields_to_stream
    - printf
    - IS_BLANK
    - strlen
    - RET_ERR
    - PAGC_CALLOC_STRUC
    - standardize_field
    - output_raw_elements
    linkageType: ''
    returnType: STDADDR
    signature: STDADDR *std_standardize_mm(STANDARDIZER *std, char *micro, char *macro,
      int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - std
    - address
    - city
    - state
    - postcode
    - country
    - options
    argTypes:
    - STANDARDIZER*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: std_standardize
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STDADDR
    signature: STDADDR *std_standardize(STANDARDIZER *std, char *address, char *city,
      char *state, char *postcode, char *country, int options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_rules
      Src: /src/postgis/extensions/address_standardizer/standard.c:551,1
    - Dst: create_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:556,1
    - Dst: create_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:560,1
    - Dst: create_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:566,1
    - Dst: setup_default_defs
      Src: /src/postgis/extensions/address_standardizer/standard.c:571,1
    - Dst: install_def_block_table
      Src: /src/postgis/extensions/address_standardizer/standard.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - __pagc_global__
    - __rule_name__
    - __lexicon_name__
    - __gazetteer_name__
    - __featword_name__
    argTypes:
    - PAGC_GLOBAL*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 576
    functionName: init_stand_process
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 0
    functionsReached:
    - install_def_block_table
    - setup_default_defs
    - create_rules
    - create_lexicon
    linkageType: ''
    returnType: int
    signature: int init_stand_process(PAGC_GLOBAL *__pagc_global__ ,const char *__rule_name__,
      const char *__lexicon_name__ , const char *__gazetteer_name__ , const char *__featword_name__)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:595,1
    - Dst: remove_default_defs
      Src: /src/postgis/extensions/address_standardizer/standard.c:596,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:597,1
    - Dst: destroy_rules
      Src: /src/postgis/extensions/address_standardizer/standard.c:598,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:600,1
    - Dst: destroy_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:601,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:602,1
    - Dst: destroy_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:603,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/standard.c:606,1
    - Dst: destroy_lexicon
      Src: /src/postgis/extensions/address_standardizer/standard.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - __pagc_global__
    argTypes:
    - PAGC_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: close_stand_process
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - destroy_lexicon
    - remove_default_defs
    - DBG
    - destroy_rules
    linkageType: ''
    returnType: void
    signature: void close_stand_process(PAGC_GLOBAL * __pagc_global__)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/standard.c:623,1
    - Dst: create_segments
      Src: /src/postgis/extensions/address_standardizer/standard.c:624,1
    - Dst: PAGC_CALLOC_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/standard.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - __pagc_global__
    - __err_param__
    - exhaustive_flag
    argTypes:
    - PAGC_GLOBAL*
    - ERR_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 645
    functionName: init_stand_context
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - PAGC_CALLOC_2D_ARRAY
    - create_segments
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: STAND_PARAM
    signature: STAND_PARAM *init_stand_context(PAGC_GLOBAL *__pagc_global__,ERR_PARAM
      *__err_param__,int exhaustive_flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroy_segments
      Src: /src/postgis/extensions/address_standardizer/standard.c:662,1
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/standard.c:665,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/standard.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 669
    functionName: close_stand_context
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - PAGC_DESTROY_2D_ARRAY
    - FREE_AND_NULL
    - destroy_segments
    linkageType: ''
    returnType: void
    signature: void close_stand_context( STAND_PARAM *__stand_param__ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evaluator
      Src: /src/postgis/extensions/address_standardizer/standard.c:684,1
    - Dst: stuff_fields
      Src: /src/postgis/extensions/address_standardizer/standard.c:687,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/standard.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 691
    functionName: _Close_Stand_Field_
    functionSourceFile: /src/postgis/extensions/address_standardizer/standard.c
    functionUses: 1
    functionsReached:
    - evaluator
    - stuff_fields
    - RET_ERR
    linkageType: ''
    returnType: int
    signature: int _Close_Stand_Field_(STAND_PARAM *__stand_param__)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/test_main.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - inp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: convert_field
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 0
    functionsReached:
    - isspace
    linkageType: ''
    returnType: char
    signature: "char *convert_field( char *buf ,\n                            char
      *inp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/test_main.c:71,1
    - Dst: sscanf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:72,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/test_main.c:73,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/test_main.c:74,1
    - Dst: sscanf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:75,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/test_main.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - buf
    - seq
    - word
    - stdword
    - token
    argTypes:
    - char*
    - int*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: parse_csv
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 0
    functionsReached:
    - convert_field
    - sscanf
    linkageType: ''
    returnType: int
    signature: int parse_csv(char *buf, int *seq, char *word, char *stdword, int *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postgis/extensions/address_standardizer/test_main.c:102,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - rule
    argTypes:
    - char*
    - int*
    assertStmts:
    - condition: (nr < RULESIZE)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: parse_rule
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 0
    functionsReached:
    - assert
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_rule(char *buf, int *rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:115,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:116,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:117,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:118,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:119,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:120,1
    - Dst: exit
      Src: /src/postgis/extensions/address_standardizer/test_main.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: Usage
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/test_main.c:149,1
    - Dst: strtol
      Src: /src/postgis/extensions/address_standardizer/test_main.c:150,1
    - Dst: Usage
      Src: /src/postgis/extensions/address_standardizer/test_main.c:155,1
    - Dst: std_init
      Src: /src/postgis/extensions/address_standardizer/test_main.c:157,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:158,1
    - Dst: lex_init
      Src: /src/postgis/extensions/address_standardizer/test_main.c:160,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:161,1
    - Dst: fopen
      Src: /src/postgis/extensions/address_standardizer/test_main.c:164,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:165,1
    - Dst: feof
      Src: /src/postgis/extensions/address_standardizer/test_main.c:168,1
    - Dst: fgets
      Src: /src/postgis/extensions/address_standardizer/test_main.c:168,1
    - Dst: parse_csv
      Src: /src/postgis/extensions/address_standardizer/test_main.c:171,1
    - Dst: lex_add_entry
      Src: /src/postgis/extensions/address_standardizer/test_main.c:173,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:175,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:178,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/test_main.c:181,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:184,1
    - Dst: print_lexicon
      Src: /src/postgis/extensions/address_standardizer/test_main.c:185,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:186,1
    - Dst: lex_init
      Src: /src/postgis/extensions/address_standardizer/test_main.c:189,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:190,1
    - Dst: fopen
      Src: /src/postgis/extensions/address_standardizer/test_main.c:193,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:194,1
    - Dst: feof
      Src: /src/postgis/extensions/address_standardizer/test_main.c:197,1
    - Dst: fgets
      Src: /src/postgis/extensions/address_standardizer/test_main.c:197,1
    - Dst: parse_csv
      Src: /src/postgis/extensions/address_standardizer/test_main.c:200,1
    - Dst: lex_add_entry
      Src: /src/postgis/extensions/address_standardizer/test_main.c:202,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:204,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:207,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/test_main.c:210,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:213,1
    - Dst: print_lexicon
      Src: /src/postgis/extensions/address_standardizer/test_main.c:214,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:215,1
    - Dst: rules_init
      Src: /src/postgis/extensions/address_standardizer/test_main.c:218,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:219,1
    - Dst: fopen
      Src: /src/postgis/extensions/address_standardizer/test_main.c:225,1
    - Dst: assert
      Src: /src/postgis/extensions/address_standardizer/test_main.c:226,1
    - Dst: feof
      Src: /src/postgis/extensions/address_standardizer/test_main.c:229,1
    - Dst: fgets
      Src: /src/postgis/extensions/address_standardizer/test_main.c:229,1
    - Dst: parse_rule
      Src: /src/postgis/extensions/address_standardizer/test_main.c:232,1
    - Dst: rules_add_rule
      Src: /src/postgis/extensions/address_standardizer/test_main.c:235,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:237,1
    - Dst: rules_ready
      Src: /src/postgis/extensions/address_standardizer/test_main.c:239,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:241,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/test_main.c:242,1
    - Dst: std_use_lex
      Src: /src/postgis/extensions/address_standardizer/test_main.c:244,1
    - Dst: std_use_gaz
      Src: /src/postgis/extensions/address_standardizer/test_main.c:245,1
    - Dst: std_use_rules
      Src: /src/postgis/extensions/address_standardizer/test_main.c:246,1
    - Dst: std_ready_standardizer
      Src: /src/postgis/extensions/address_standardizer/test_main.c:247,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:249,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/test_main.c:250,1
    - Dst: standardize_command_line
      Src: /src/postgis/extensions/address_standardizer/test_main.c:252,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:257,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/test_main.c:258,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/test_main.c:260,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (std)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (lex)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (gaz)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (rules)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (in)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (in)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    - condition: (in)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
    constantsTouched: []
    func_position:
      end: 268
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 2
    functionsReached:
    - strcmp
    - assert
    - fgets
    - parse_rule
    - print_lexicon
    - printf
    - lex_add_entry
    - parse_csv
    - rules_init
    - rules_add_rule
    - std_ready_standardizer
    - std_init
    - std_use_gaz
    - rules_ready
    - std_use_lex
    - strtol
    - fopen
    - standardize_command_line
    - fflush
    - lex_init
    - std_use_rules
    - Usage
    - fclose
    - feof
    - std_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:292,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:294,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/test_main.c:295,1
    - Dst: memset
      Src: /src/postgis/extensions/address_standardizer/test_main.c:296,1
    - Dst: get_input_line
      Src: /src/postgis/extensions/address_standardizer/test_main.c:301,1
    - Dst: strncmp
      Src: /src/postgis/extensions/address_standardizer/test_main.c:302,1
    - Dst: strncmp
      Src: /src/postgis/extensions/address_standardizer/test_main.c:303,1
    - Dst: strncmp
      Src: /src/postgis/extensions/address_standardizer/test_main.c:304,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/test_main.c:310,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/test_main.c:313,1
    - Dst: convert_latin_one
      Src: /src/postgis/extensions/address_standardizer/test_main.c:316,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/test_main.c:318,1
    - Dst: convert_latin_one
      Src: /src/postgis/extensions/address_standardizer/test_main.c:322,1
    - Dst: std_standardize_mm
      Src: /src/postgis/extensions/address_standardizer/test_main.c:327,1
    - Dst: print_stdaddr
      Src: /src/postgis/extensions/address_standardizer/test_main.c:332,1
    - Dst: output_rule_statistics
      Src: /src/postgis/extensions/address_standardizer/test_main.c:335,1
    - Dst: stdaddr_free
      Src: /src/postgis/extensions/address_standardizer/test_main.c:337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - std
    - input_str
    - option
    argTypes:
    - STANDARDIZER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 340
    functionName: standardize_command_line
    functionSourceFile: /src/postgis/extensions/address_standardizer/test_main.c
    functionUses: 1
    functionsReached:
    - strcpy
    - memset
    - std_standardize_mm
    - stdaddr_free
    - printf
    - get_input_line
    - print_stdaddr
    - output_rule_statistics
    - strncmp
    - convert_latin_one
    - fflush
    linkageType: ''
    returnType: int
    signature: "int standardize_command_line( STANDARDIZER *std ,\n                                     char
      *input_str ,\n                                     int option )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:70,1
    - Dst: create_hash_table
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:72,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - err_p
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: lex_init
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - lex_free
    - create_hash_table
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: LEXICON
    signature: LEXICON *lex_init( ERR_PARAM *err_p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_dict_entry
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - lex
    - seq
    - word
    - stdword
    - token
    argTypes:
    - LEXICON*
    - int
    - char*
    - char*
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: lex_add_entry
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - add_dict_entry
    linkageType: ''
    returnType: int
    signature: int lex_add_entry(LEXICON *lex, int seq, char *word, char *stdword,
      SYMB token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy_lexicon
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:91,1
    - Dst: free
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lex
    argTypes:
    - LEXICON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: lex_free
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 3
    functionsReached:
    - free
    - destroy_lexicon
    linkageType: ''
    returnType: void
    signature: void lex_free(LEXICON *lex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: create_hash_table
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:118,1
    - Dst: open_aux_file
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:123,1
    - Dst: read_lexicon
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:126,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:129,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:132,1
    - Dst: open_aux_file
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:135,1
    - Dst: read_lexicon
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:138,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:141,1
    - Dst: fclose
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: create_lexicon
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - read_lexicon
    - open_aux_file
    - fclose
    - create_hash_table
    linkageType: ''
    returnType: ENTRY
    signature: "ENTRY **create_lexicon( PAGC_GLOBAL *glo_p ,\n                        const
      char *lex_name ,\n                        const char *gaz_name )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:167,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:169,1
    - Dst: fgets
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:170,1
    - Dst: strspn
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:176,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:176,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:183,1
    - Dst: sscanf
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:187,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:190,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:192,1
    - Dst: sscanf
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:194,1
    - Dst: convert_field
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:197,1
    - Dst: add_dict_entry
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - err_p
    - hash_table
    - CFile
    argTypes:
    - ERR_PARAM*
    - ENTRY**
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 209
    functionName: read_lexicon
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - fgets
    - add_dict_entry
    - convert_field
    - BLANK_STRING
    - strlen
    - strspn
    - feof
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int read_lexicon( ERR_PARAM *err_p ,\n                         ENTRY
      **hash_table ,\n                         FILE *CFile )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:223,1
    - Dst: isspace
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:225,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - inp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: convert_field
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 2
    functionsReached:
    - BLANK_STRING
    - isspace
    linkageType: ''
    returnType: char
    signature: "char *convert_field( char *buf ,\n                            char
      *inp )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy_def_list
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:263,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:265,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:266,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:269,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:271,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - ENTRY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: destroy_lexicon
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 2
    functionsReached:
    - DBG
    - destroy_def_list
    - FREE_AND_NULL
    linkageType: ''
    returnType: void
    signature: void destroy_lexicon(ENTRY ** hash_table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:293,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - start_def
    argTypes:
    - DEF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: destroy_def_list
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - FREE_AND_NULL
    linkageType: ''
    returnType: void
    signature: void destroy_def_list( DEF *start_def )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calc_hash
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:311,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hash_table
    - lookup_str
    argTypes:
    - ENTRY**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: find_entry
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 0
    functionsReached:
    - calc_hash
    - strcmp
    linkageType: ''
    returnType: ENTRY
    signature: ENTRY *find_entry(ENTRY **hash_table,char *lookup_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: elf_hash
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned elf_hash( char *key_str )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elf_hash
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: calc_hash
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - elf_hash
    linkageType: ''
    returnType: unsigned
    signature: unsigned calc_hash( char *key_str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: create_hash_table
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ENTRY
    signature: ENTRY **create_hash_table(ERR_PARAM *err_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_entry
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:391,1
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:396,1
    - Dst: PAGC_STORE_STR
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:398,1
    - Dst: calc_hash
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:400,1
    - Dst: create_def
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:404,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:414,1
    - Dst: append_new_def
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - err_p
    - hash_table
    - lookup_str
    - def_num
    - t
    - standard_str
    argTypes:
    - ERR_PARAM*
    - ENTRY**
    - char*
    - int
    - SYMB
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 427
    functionName: add_dict_entry
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 2
    functionsReached:
    - calc_hash
    - create_def
    - PAGC_ALLOC_STRUC
    - RET_ERR
    - find_entry
    - PAGC_STORE_STR
    - append_new_def
    linkageType: ''
    returnType: int
    signature: "int add_dict_entry( ERR_PARAM *err_p ,\n                           ENTRY
      **hash_table ,\n                           char *lookup_str ,\n                           int
      def_num ,\n                           SYMB t ,\n                           char
      *standard_str )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_def
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - err_p
    - E
    - t
    - text
    - def_num
    argTypes:
    - ERR_PARAM*
    - ENTRY*
    - SYMB
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 468
    functionName: append_new_def
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - create_def
    linkageType: ''
    returnType: int
    signature: "int append_new_def( ERR_PARAM *err_p ,\n                           ENTRY
      *E ,\n                           SYMB t ,\n                           char *text
      ,\n                           int def_num )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:488,1
    - Dst: PAGC_STORE_STR
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - s
    - standard_str
    - def_num
    - PFlag
    - err_p
    argTypes:
    - SYMB
    - char*
    - int
    - int
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 500
    functionName: create_def
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 2
    functionsReached:
    - PAGC_ALLOC_STRUC
    - PAGC_STORE_STR
    linkageType: ''
    returnType: DEF
    signature: "DEF *create_def ( SYMB s ,\n                  char *standard_str ,\n
      \                 int def_num ,\n                  int PFlag ,\n                  ERR_PARAM
      *err_p )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:519,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/lexicon.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - hash_table
    argTypes:
    - ENTRY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: print_lexicon
    functionSourceFile: /src/postgis/extensions/address_standardizer/lexicon.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_lexicon( ENTRY ** hash_table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: SET_TIME
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TIME(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ELAPSED_T
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELAPSED_T(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SET_TIME
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_TIME(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ELAPSED_T
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELAPSED_T(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:120,1
    - Dst: GetStdHashEntry
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:123,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:126,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:128,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:131,1
    - Dst: DeleteStdHashEntry
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: StdCacheDelete
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - DeleteStdHashEntry
    - DBG
    - elog
    - GetStdHashEntry
    - std_free
    linkageType: ''
    returnType: void
    signature: void StdCacheDelete(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetUInt32
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:140,1
    - Dst: hash_any
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - keysize
    argTypes:
    - void*
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: mcxt_ptr_hash_std
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - hash_any
    - DatumGetUInt32
    linkageType: ''
    returnType: uint32
    signature: uint32 mcxt_ptr_hash_std(const void *key, Size keysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_create
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:154,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: CreateStdHash
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - DBG
    - hash_create
    linkageType: ''
    returnType: void
    signature: void CreateStdHash(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:166,1
    - Dst: hash_search
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:170,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:171,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:173,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:175,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:177,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - mcxt
    - std
    argTypes:
    - MemoryContext
    - STANDARDIZER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: AddStdHashEntry
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - DBG
    - elog
    - hash_search
    linkageType: ''
    returnType: void
    signature: void AddStdHashEntry(MemoryContext mcxt, STANDARDIZER *std)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:190,1
    - Dst: hash_search
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mcxt
    argTypes:
    - MemoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: GetStdHashEntry
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - DBG
    - hash_search
    linkageType: ''
    returnType: StdHashEntry
    signature: 'StdHashEntry *

      GetStdHashEntry(MemoryContext mcxt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:203,1
    - Dst: hash_search
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:205,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mcxt
    argTypes:
    - MemoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: DeleteStdHashEntry
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - DBG
    - elog
    - hash_search
    linkageType: ''
    returnType: void
    signature: void DeleteStdHashEntry(MemoryContext mcxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsInStdPortalCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - STDCache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdCache
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: IsInStdCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - IsInStdPortalCache
    linkageType: ''
    returnType: bool
    signature: bool IsInStdCache(StdCache STDCache, char *lextab, char *gaztab, char
      *rultab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:225,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:228,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:229,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - STDCache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdPortalCache*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: IsInStdPortalCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - strcmp
    - DBG
    linkageType: ''
    returnType: bool
    signature: bool IsInStdPortalCache(StdPortalCache *STDCache,  char *lextab, char
      *gaztab, char *rultab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStdFromPortalCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - STDCache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdCache
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: GetStdFromStdCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - GetStdFromPortalCache
    linkageType: ''
    returnType: STANDARDIZER
    signature: 'STANDARDIZER *

      GetStdFromStdCache(StdCache STDCache,  char *lextab, char *gaztab, char *rultab)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:250,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:253,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:254,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - STDCache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdPortalCache*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: GetStdFromPortalCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - strcmp
    - DBG
    linkageType: ''
    returnType: STANDARDIZER
    signature: 'STANDARDIZER *

      GetStdFromPortalCache(StdPortalCache *STDCache,  char *lextab, char *gaztab,
      char *rultab)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:268,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:271,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:276,1
    - Dst: MemoryContextDelete
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:277,1
    - Dst: pfree
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:278,1
    - Dst: pfree
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:280,1
    - Dst: pfree
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:282,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - STDCache
    argTypes:
    - StdPortalCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: DeleteNextSlotFromStdCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - DBG
    - MemoryContextDelete
    - pfree
    linkageType: ''
    returnType: void
    signature: void DeleteNextSlotFromStdCache(StdPortalCache *STDCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToStdPortalCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdCache
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: AddToStdCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - AddToStdPortalCache
    linkageType: ''
    returnType: void
    signature: void AddToStdCache(StdCache cache, char *lextab, char *gaztab, char
      *rultab)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:305,1
    - Dst: CreateStd
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:306,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:308,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:315,1
    - Dst: DeleteNextSlotFromStdCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:317,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:320,1
    - Dst: AllocSetContextCreate
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:323,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:330,1
    - Dst: MemoryContextRegisterResetCallback
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:333,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:338,1
    - Dst: CreateStdHash
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:340,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:346,1
    - Dst: AddStdHashEntry
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:348,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:354,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:355,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:356,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:357,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:358,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:359,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:360,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:361,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:362,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:363,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:364,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - STDCache
    - lextab
    - gaztab
    - rultab
    argTypes:
    - StdPortalCache*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 370
    functionName: AddToStdPortalCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - AddStdHashEntry
    - MemoryContextRegisterResetCallback
    - DBG
    - CreateStdHash
    - pstrdup
    - elog
    - DeleteNextSlotFromStdCache
    - MemoryContextAlloc
    - CreateStd
    - MemoryContextSwitchTo
    - AllocSetContextCreate
    linkageType: ''
    returnType: void
    signature: void AddToStdPortalCache(StdPortalCache *STDCache, char *lextab, char
      *gaztab, char *rultab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStdPortalCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: GetStdCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - GetStdPortalCache
    linkageType: ''
    returnType: StdCache
    signature: StdCache GetStdCache(FunctionCallInfo fcinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:385,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:390,1
    - Dst: palloc
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:391,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:392,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - fcinfo
    argTypes:
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 419
    functionName: GetStdPortalCache
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - MemoryContextSwitchTo
    - DBG
    - palloc
    linkageType: ''
    returnType: StdPortalCache
    signature: 'StdPortalCache *

      GetStdPortalCache(FunctionCallInfo fcinfo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:428,1
    - Dst: GetStdCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:429,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:433,1
    - Dst: IsInStdCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:434,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:435,1
    - Dst: AddToStdCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:436,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:439,1
    - Dst: GetStdFromStdCache
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - fcinfo
    - lextab
    - gaztab
    - rultab
    argTypes:
    - FunctionCallInfo
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 443
    functionName: GetStdUsingFCInfo
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - GetStdCache
    - DBG
    - IsInStdCache
    - AddToStdCache
    - GetStdFromStdCache
    linkageType: ''
    returnType: STANDARDIZER
    signature: 'STANDARDIZER *

      GetStdUsingFCInfo(FunctionCallInfo fcinfo, char *lextab, char *gaztab, char
      *rultab)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:456,1
    - Dst: SPI_connect
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:457,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:459,1
    - Dst: std_init
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:462,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:464,1
    - Dst: lex_init
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:466,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:468,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:469,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:470,1
    - Dst: load_lex
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:473,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:475,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:476,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:477,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:478,1
    - Dst: lex_init
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:481,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:483,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:484,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:485,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:486,1
    - Dst: load_lex
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:489,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:491,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:492,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:493,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:494,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:495,1
    - Dst: rules_init
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:498,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:500,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:501,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:502,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:503,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:504,1
    - Dst: load_rules
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:507,1
    - Dst: rules_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:509,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:510,1
    - Dst: lex_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:511,1
    - Dst: std_free
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:512,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:513,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:514,1
    - Dst: std_use_lex
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:517,1
    - Dst: std_use_gaz
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:518,1
    - Dst: std_use_rules
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:519,1
    - Dst: std_ready_standardizer
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:520,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 3
    argNames:
    - lextab
    - gaztab
    - rultab
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 525
    functionName: CreateStd
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - lex_free
    - lex_init
    - DBG
    - std_use_gaz
    - SPI_finish
    - elog
    - std_use_lex
    - SPI_connect
    - rules_init
    - load_rules
    - rules_free
    - load_lex
    - std_use_rules
    - std_ready_standardizer
    - std_init
    - std_free
    linkageType: ''
    returnType: STANDARDIZER
    signature: 'STANDARDIZER *

      CreateStd(char *lextab, char *gaztab, char *rultab)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - rule
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 546
    functionName: parse_rule
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_rule(char *buf, int *rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRGT
    - ','
    - NAME
    - ','
    - NAME2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: FETCH_COL
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_COL(TRGT,NAME,NAME2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRGT
    - ','
    - NAME
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: CHECK_TYP
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TYP(TRGT,NAME,TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRGT
    - ','
    - WHICH
    - ','
    - NULLMSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 566
    functionName: GET_INT_FROM_TUPLE
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INT_FROM_TUPLE(TRGT,WHICH,NULLMSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TRGT
    - ','
    - WHICH
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: GET_TEXT_FROM_TUPLE
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TEXT_FROM_TUPLE(TRGT,WHICH)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FETCH_COL
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:574,1
    - Dst: FETCH_COL
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:575,1
    - Dst: FETCH_COL
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:576,1
    - Dst: FETCH_COL
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:577,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:579,1
    - Dst: CHECK_TYP
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:582,1
    - Dst: CHECK_TYP
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:583,1
    - Dst: CHECK_TYP
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:584,1
    - Dst: CHECK_TYP
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:585,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - tuptable
    - lex_cols
    argTypes:
    - SPITupleTable*
    - lex_columns_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 591
    functionName: fetch_lex_columns
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - elog
    - FETCH_COL
    - CHECK_TYP
    linkageType: ''
    returnType: int
    signature: int fetch_lex_columns(SPITupleTable *tuptable, lex_columns_t *lex_cols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: tableNameOk
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: int tableNameOk(char *t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:627,1
    - Dst: SET_TIME
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:628,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:630,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:631,1
    - Dst: tableNameOk
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:634,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:635,1
    - Dst: SPI_palloc
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:638,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:638,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:639,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:640,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:641,1
    - Dst: SPI_prepare
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:644,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:646,1
    - Dst: SPI_prepare
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:651,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:653,1
    - Dst: SPI_cursor_open
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:657,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:658,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:664,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:667,1
    - Dst: fetch_lex_columns
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:672,1
    - Dst: GET_INT_FROM_TUPLE
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:691,1
    - Dst: GET_TEXT_FROM_TUPLE
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:692,1
    - Dst: GET_TEXT_FROM_TUPLE
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:693,1
    - Dst: GET_INT_FROM_TUPLE
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:694,1
    - Dst: lex_add_entry
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:695,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:698,1
    - Dst: SET_TIME
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:706,1
    - Dst: ELAPSED_T
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:707,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:708,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 2
    argNames:
    - lex
    - tab
    argTypes:
    - LEXICON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 714
    functionName: load_lex
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - strcpy
    - DBG
    - SPI_cursor_open
    - fetch_lex_columns
    - SPI_cursor_fetch
    - SPI_palloc
    - elog
    - GET_INT_FROM_TUPLE
    - lex_add_entry
    - GET_TEXT_FROM_TUPLE
    - ELAPSED_T
    - strlen
    - SPI_prepare
    - SET_TIME
    - SPI_freetuptable
    - strcat
    - tableNameOk
    linkageType: ''
    returnType: int
    signature: int load_lex(LEXICON *lex, char *tab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FETCH_COL
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:719,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:721,1
    - Dst: CHECK_TYP
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:724,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tuptable
    - rules_cols
    argTypes:
    - SPITupleTable*
    - rules_columns_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 730
    functionName: fetch_rules_columns
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 0
    functionsReached:
    - elog
    - FETCH_COL
    - CHECK_TYP
    linkageType: ''
    returnType: int
    signature: int fetch_rules_columns(SPITupleTable *tuptable, rules_columns_t *rules_cols)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:753,1
    - Dst: SET_TIME
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:754,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:756,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:757,1
    - Dst: tableNameOk
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:760,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:761,1
    - Dst: SPI_palloc
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:764,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:764,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:765,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:766,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:767,1
    - Dst: SPI_prepare
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:770,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:772,1
    - Dst: SPI_cursor_open
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:776,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:777,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:783,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:786,1
    - Dst: fetch_rules_columns
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:791,1
    - Dst: GET_TEXT_FROM_TUPLE
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:808,1
    - Dst: parse_rule
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:809,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:811,1
    - Dst: rules_add_rule
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:814,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:816,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:822,1
    - Dst: rules_ready
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:831,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:833,1
    - Dst: SET_TIME
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:838,1
    - Dst: ELAPSED_T
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:839,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/std_pg_hash.c:840,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 2
    argNames:
    - rules
    - tab
    argTypes:
    - RULES*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 845
    functionName: load_rules
    functionSourceFile: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    functionUses: 1
    functionsReached:
    - strcpy
    - DBG
    - SPI_cursor_open
    - fetch_rules_columns
    - parse_rule
    - SPI_cursor_fetch
    - rules_ready
    - SPI_palloc
    - elog
    - ELAPSED_T
    - GET_TEXT_FROM_TUPLE
    - strlen
    - SPI_prepare
    - SET_TIME
    - SPI_freetuptable
    - rules_add_rule
    - strcat
    - tableNameOk
    linkageType: ''
    returnType: int
    signature: int load_rules(RULES *rules, char *tab)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 1
    argNames:
    - inp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 151
    functionName: convert_latin_one
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void convert_latin_one ( char *inp )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:161,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:166,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - div
    - dest
    - src
    - max_wid
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: char_append
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - append_string_to_max
    linkageType: ''
    returnType: void
    signature: "void char_append( const char *div ,\n                  char *dest
      ,\n                  const char *src ,\n                  int max_wid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: out_symb_name
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *out_symb_name( int i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: in_symb_name
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *in_symb_name( int i )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: out_symb_value
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int out_symb_value( const char *src )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:200,1
    - Dst: fgets
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:201,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:205,1
    - Dst: strchr
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 215
    functionName: get_input_line
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 1
    functionsReached:
    - BLANK_STRING
    - fgets
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: "int get_input_line( char *buf ,\n                    FILE *fp )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NOT_PATH_DELIMITOR
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:234,1
    - Dst: IS_PATH_DELIMITOR
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:247,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - input_path_name
    - global_path_separator
    - output_tail
    - output_head
    argTypes:
    - char*
    - char
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 269
    functionName: parse_file_name
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - IS_PATH_DELIMITOR
    - BLANK_STRING
    - NOT_PATH_DELIMITOR
    linkageType: ''
    returnType: void
    signature: "void parse_file_name( const char *input_path_name ,\n                      char
      global_path_separator ,\n                      char *output_tail ,\n                      char
      *output_head )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:288,1
    - Dst: char_append
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:292,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - global_path_separator
    - input_head
    - input_tail
    - output_path_name
    argTypes:
    - char
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: combine_path_file
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - append_string_to_max
    - char_append
    linkageType: ''
    returnType: void
    signature: "void combine_path_file( char global_path_separator ,\n                        char
      *input_head ,\n                        char *input_tail ,\n                        char
      *output_path_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:310,1
    - Dst: toupper
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:310,1
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: upper_case
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - islower
    - toupper
    - BLANK_STRING
    linkageType: ''
    returnType: void
    signature: "void upper_case( char *d ,\n                 const char *s )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upper_case
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:319,1
    - Dst: upper_case
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:320,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: upper_case_compare
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - strcmp
    - upper_case
    linkageType: ''
    returnType: int
    signature: int upper_case_compare( char *str1 , char* str2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - location_to_reverse
    - bytes_to_reverse
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: fast_reverse_endian
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fast_reverse_endian( char *location_to_reverse , int bytes_to_reverse
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:355,1
    - Dst: fprintf
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:356,1
    - Dst: exit
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - dest_buf_start
    - src_str_start
    - buf_size
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 372
    functionName: append_string_to_max
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 5
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void append_string_to_max( char *dest_buf_start ,\n                           char
      *src_str_start ,\n                           int buf_size )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getcwd
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:384,1
    - Dst: conform_directory_separator
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:396,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:400,1
    - Dst: IS_COLON
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c_w_d
    - p_s
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 415
    functionName: establish_directory
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 0
    functionsReached:
    - IS_COLON
    - getcwd
    - isalpha
    - conform_directory_separator
    linkageType: ''
    returnType: int
    signature: "int establish_directory( char * c_w_d ,\n                         char
      * p_s )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/pagc_tools.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - path_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 437
    functionName: conform_directory_separator
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_tools.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void conform_directory_separator( char * path_name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: BLANK_STRING
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLANK_STRING(STR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CH
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: IS_DOT
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOT(CH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CH
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: IS_DIR_SEP
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DIR_SEP(CH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CH
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: IS_COLON
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_COLON(CH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CH
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: NOT_PATH_DELIMITOR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT_PATH_DELIMITOR(CH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CH
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: IS_PATH_DELIMITOR
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PATH_DELIMITOR(CH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - D
    - ','
    - S
    - ','
    - L
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: COMMA_APPEND_WITH_LEN
    functionSourceFile: /src/postgis/extensions/address_standardizer/pagc_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMA_APPEND_WITH_LEN( D , S , L )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_entry
      Src: /src/postgis/extensions/address_standardizer/analyze.c:157,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/analyze.c:160,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/analyze.c:164,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/analyze.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - __hash_table__
    - __err_param__
    argTypes:
    - ENTRY**
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: install_def_block_table
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 2
    functionsReached:
    - RET_ERR1
    - strcmp
    - find_entry
    linkageType: ''
    returnType: int
    signature: int install_def_block_table( ENTRY **__hash_table__, ERR_PARAM *__err_param__
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/analyze.c:189,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/analyze.c:190,1
    - Dst: PAGC_ALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/analyze.c:193,1
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/analyze.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - __err_param__
    argTypes:
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: create_segments
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - PAGC_ALLOC_STRUC
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: STZ_PARAM
    signature: STZ_PARAM *create_segments( ERR_PARAM *__err_param__ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_DESTROY_2D_ARRAY
      Src: /src/postgis/extensions/address_standardizer/analyze.c:211,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/analyze.c:212,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/analyze.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - __stz_info__
    argTypes:
    - STZ_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: destroy_segments
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - PAGC_DESTROY_2D_ARRAY
    - FREE_AND_NULL
    linkageType: ''
    returnType: void
    signature: void destroy_segments( STZ_PARAM *__stz_info__ )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - __stand_param__
    - request_stz
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: get_stz_downgrade
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_stz_downgrade( STAND_PARAM *__stand_param__ , int request_stz
      )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_def_block
      Src: /src/postgis/extensions/address_standardizer/analyze.c:280,1
    - Dst: delete_duplicate_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:293,1
    - Dst: init_output_fields
      Src: /src/postgis/extensions/address_standardizer/analyze.c:320,1
    - Dst: stuff_fields
      Src: /src/postgis/extensions/address_standardizer/analyze.c:321,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - __stand_param__
    - request_stz_in
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 325
    functionName: get_next_stz
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached:
    - init_output_fields
    - delete_duplicate_stz
    - stuff_fields
    - check_def_block
    linkageType: ''
    returnType: int
    signature: int get_next_stz( STAND_PARAM *__stand_param__ , int request_stz_in
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: delete_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - __stand_param__
    - request_stz
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 354
    functionName: check_def_block
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - delete_stz
    linkageType: ''
    returnType: int
    signature: int check_def_block( STAND_PARAM *__stand_param__ , int request_stz
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - __stz_info__
    - request_stz
    argTypes:
    - STZ_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 396
    functionName: delete_stz
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_stz( STZ_PARAM *__stz_info__ , int request_stz )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: delete_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - __stz_info__
    - request_stz
    argTypes:
    - STZ_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 441
    functionName: delete_duplicate_stz
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - delete_stz
    linkageType: ''
    returnType: int
    signature: int delete_duplicate_stz(STZ_PARAM *__stz_info__, int request_stz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: default_seg_val
      Src: /src/postgis/extensions/address_standardizer/analyze.c:516,1
    - Dst: _force_deposit_
      Src: /src/postgis/extensions/address_standardizer/analyze.c:517,1
    - Dst: select_next_composition
      Src: /src/postgis/extensions/address_standardizer/analyze.c:518,1
    - Dst: get_next_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 520
    functionName: evaluate_micro_l
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached:
    - default_seg_val
    - select_next_composition
    - get_next_stz
    - _force_deposit_
    linkageType: ''
    returnType: int
    signature: int evaluate_micro_l( STAND_PARAM *__stand_param__ )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: evaluate_micro_l
      Src: /src/postgis/extensions/address_standardizer/analyze.c:554,1
    - Dst: first_composition
      Src: /src/postgis/extensions/address_standardizer/analyze.c:558,1
    - Dst: prepare_target_pattern
      Src: /src/postgis/extensions/address_standardizer/analyze.c:563,1
    - Dst: shallow_clause_scan
      Src: /src/postgis/extensions/address_standardizer/analyze.c:575,1
    - Dst: shallow_clause_scan
      Src: /src/postgis/extensions/address_standardizer/analyze.c:578,1
    - Dst: shallow_clause_scan
      Src: /src/postgis/extensions/address_standardizer/analyze.c:582,1
    - Dst: scan_clause_tree
      Src: /src/postgis/extensions/address_standardizer/analyze.c:585,1
    - Dst: select_next_composition
      Src: /src/postgis/extensions/address_standardizer/analyze.c:596,1
    - Dst: force_arc_clause
      Src: /src/postgis/extensions/address_standardizer/analyze.c:604,1
    - Dst: _force_macro_clause_
      Src: /src/postgis/extensions/address_standardizer/analyze.c:610,1
    - Dst: non_geocode_address
      Src: /src/postgis/extensions/address_standardizer/analyze.c:618,1
    - Dst: get_next_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:624,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 625
    functionName: evaluator
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - first_composition
    - select_next_composition
    - get_next_stz
    - evaluate_micro_l
    - force_arc_clause
    - non_geocode_address
    - prepare_target_pattern
    - shallow_clause_scan
    - _force_macro_clause_
    - scan_clause_tree
    linkageType: ''
    returnType: int
    signature: int evaluator(STAND_PARAM *__stand_param__)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 660
    functionName: first_composition
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void first_composition( STAND_PARAM *__stand_param__ )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: need_compression
      Src: /src/postgis/extensions/address_standardizer/analyze.c:684,1
    - Dst: refresh_transducer
      Src: /src/postgis/extensions/address_standardizer/analyze.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 705
    functionName: prepare_target_pattern
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - need_compression
    - refresh_transducer
    linkageType: ''
    returnType: int
    signature: int prepare_target_pattern(STAND_PARAM *__stand_param__)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - __stand_param__
    - n
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 719
    functionName: no_break
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_break( STAND_PARAM *__stand_param__ , int n )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: no_break
      Src: /src/postgis/extensions/address_standardizer/analyze.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - __stand_param__
    - lex_pos
    - target_pos
    argTypes:
    - STAND_PARAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 748
    functionName: do_left_combine
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached:
    - no_break
    linkageType: ''
    returnType: int
    signature: int do_left_combine( STAND_PARAM *__stand_param__ , int lex_pos , int
      target_pos )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_left_combine
      Src: /src/postgis/extensions/address_standardizer/analyze.c:762,1
    - Dst: do_left_combine
      Src: /src/postgis/extensions/address_standardizer/analyze.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - __stand_param__
    - a
    - lex_pos
    - target_pos
    argTypes:
    - STAND_PARAM*
    - SYMB
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 788
    functionName: need_compression
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - do_left_combine
    linkageType: ''
    returnType: int
    signature: int need_compression( STAND_PARAM *__stand_param__ , SYMB a , int lex_pos
      , int target_pos )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: deposit_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:868,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 3
    argNames:
    - __stand_param__
    - start_state
    - start_pos
    argTypes:
    - STAND_PARAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 900
    functionName: scan_clause_tree
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - deposit_stz
    linkageType: ''
    returnType: void
    signature: void scan_clause_tree(STAND_PARAM *__stand_param__,int start_state,int
      start_pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:938,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:939,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:942,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:942,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:944,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:948,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:948,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:950,1
    - Dst: deposit_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - __stand_param__
    - cl
    - pos
    argTypes:
    - STAND_PARAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 957
    functionName: shallow_clause_scan
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - deposit_stz
    - printf
    - out_symb_name
    - in_symb_name
    linkageType: ''
    returnType: void
    signature: void shallow_clause_scan(STAND_PARAM *__stand_param__ , int cl, int
      pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 980
    functionName: select_next_composition
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int select_next_composition( STAND_PARAM *__stand_param__ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - __segments__
    - sym
    - pos
    - depth
    - score
    argTypes:
    - SEG*
    - SYMB
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 1003
    functionName: make_singleton
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_singleton( SEG *__segments__, SYMB sym , int pos, int depth,
      double score )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: copy_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1024,1
    - Dst: save_current_composition
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - __stand_param__
    - sum
    - depth
    argTypes:
    - STAND_PARAM*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1036
    functionName: deposit_stz
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 2
    functionsReached:
    - copy_stz
    - save_current_composition
    linkageType: ''
    returnType: void
    signature: void deposit_stz( STAND_PARAM *__stand_param__ , double sum , int depth
      )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - __stand_param__
    - current_score
    argTypes:
    - STAND_PARAM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1111
    functionName: copy_stz
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: STZ
    signature: STZ * copy_stz(STAND_PARAM *__stand_param__ ,double current_score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_best
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1149,1
    - Dst: copy_best
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - __stand_param__
    - __segments__
    - depth
    - __best_output__
    - __best_defs__
    argTypes:
    - STAND_PARAM*
    - SEG*
    - int
    - SYMB*
    - DEF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1157
    functionName: save_current_composition
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - copy_best
    linkageType: ''
    returnType: void
    signature: void save_current_composition(STAND_PARAM *__stand_param__,SEG *__segments__,
      int depth, SYMB *__best_output__ , DEF **__best_defs__)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - __stand_param__
    - __sym_sel__
    - output_symb
    - beg
    - __best_output__
    argTypes:
    - STAND_PARAM*
    - int*
    - SYMB
    - int
    - SYMB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1192
    functionName: copy_best
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int copy_best( STAND_PARAM *__stand_param__ , int *__sym_sel__ , SYMB
      output_symb , int beg , SYMB *__best_output__ )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - __stand_param__
    - i
    - sym
    argTypes:
    - STAND_PARAM*
    - int
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1212
    functionName: lex_has_def
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lex_has_def(STAND_PARAM *__stand_param__, int i, SYMB sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - __check_dir__
    - sym
    argTypes:
    - int*
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1228
    functionName: have_schema_symbol
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int have_schema_symbol(int *__check_dir__,SYMB sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_singleton
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - __sym_sel__
    - num_lexes
    - __segments__
    - use_default_sym
    - sym
    - score
    argTypes:
    - int*
    - int
    - SEG*
    - int
    - SYMB
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1258
    functionName: default_seg_val
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - make_singleton
    linkageType: ''
    returnType: void
    signature: void default_seg_val( int *__sym_sel__, int num_lexes, SEG *__segments__,
      int use_default_sym, SYMB sym, double score )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lex_has_def
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - __stand_param__
    - __seg__
    - depth
    - pos
    - in_sym
    - out_sym
    argTypes:
    - STAND_PARAM*
    - SEG*
    - int
    - int
    - SYMB
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1277
    functionName: _modify_position_
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached:
    - lex_has_def
    linkageType: ''
    returnType: int
    signature: int _modify_position_(STAND_PARAM *__stand_param__, SEG *__seg__, int
      depth, int pos, SYMB in_sym, SYMB out_sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: have_schema_symbol
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1289,1
    - Dst: _modify_position_
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - __stand_param__
    - __segments__
    - depth
    - lex_pos
    - in_sym
    - out_sym
    argTypes:
    - STAND_PARAM*
    - SEG*
    - int
    - int
    - SYMB
    - SYMB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1294
    functionName: schema_modify_position
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached:
    - have_schema_symbol
    - _modify_position_
    linkageType: ''
    returnType: int
    signature: int schema_modify_position( STAND_PARAM  *__stand_param__ , SEG *__segments__
      , int depth , int lex_pos , SYMB in_sym , SYMB out_sym )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: default_seg_val
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1312,1
    - Dst: schema_modify_position
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1318,1
    - Dst: schema_modify_position
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1327,1
    - Dst: schema_modify_position
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1335,1
    - Dst: schema_modify_position
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1343,1
    - Dst: _force_deposit_
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1307
    functionDepth: 3
    functionLinenumber: 1307
    functionLinenumberEnd: 1349
    functionName: force_arc_clause
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - default_seg_val
    - schema_modify_position
    - _force_deposit_
    linkageType: ''
    returnType: void
    signature: void force_arc_clause( STAND_PARAM *__stand_param__ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _IN_SYM_VAL_
    - ','
    - _OUT_SYM_VAL_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1353
    functionName: MODIFY_SEG_POS
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODIFY_SEG_POS(_IN_SYM_VAL_,_OUT_SYM_VAL_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: default_seg_val
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1370,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1373,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1374,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1375,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1376,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1377,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1378,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1379,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1380,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1381,1
    - Dst: MODIFY_SEG_POS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1382,1
    - Dst: _force_deposit_
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1363
    functionDepth: 2
    functionLinenumber: 1363
    functionLinenumberEnd: 1385
    functionName: _force_macro_clause_
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - default_seg_val
    - MODIFY_SEG_POS
    - _force_deposit_
    linkageType: ''
    returnType: void
    signature: void _force_macro_clause_( STAND_PARAM *__stand_param__ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deposit_stz
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - __stand_param__
    - depth
    argTypes:
    - STAND_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1406
    functionName: _force_deposit_
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 3
    functionsReached:
    - deposit_stz
    linkageType: ''
    returnType: void
    signature: void _force_deposit_( STAND_PARAM *__stand_param__ , int depth )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lex_has_def
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1420,1
    - Dst: lex_has_def
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - __stand_param__
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1431
    functionName: non_geocode_address
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - lex_has_def
    linkageType: ''
    returnType: int
    signature: int non_geocode_address( STAND_PARAM *__stand_param__ )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1447,1
    - Dst: LOG_MESS
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1451,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1459,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1459,1
    - Dst: sprintf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1463,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1463,1
    - Dst: register_error
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1464,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1475,1
    - Dst: LOG_MESS2
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1479,1
    - Dst: printf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1489,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1489,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1489,1
    - Dst: sprintf
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1493,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1493,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1493,1
    - Dst: register_error
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1494,1
    - Dst: fflush
      Src: /src/postgis/extensions/address_standardizer/analyze.c:1499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - __stand_param__
    - __err_param__
    argTypes:
    - STAND_PARAM*
    - ERR_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1500
    functionName: output_raw_elements
    functionSourceFile: /src/postgis/extensions/address_standardizer/analyze.c
    functionUses: 1
    functionsReached:
    - out_symb_name
    - in_symb_name
    - register_error
    - printf
    - fflush
    - LOG_MESS
    - LOG_MESS2
    - sprintf
    linkageType: ''
    returnType: void
    signature: void output_raw_elements( STAND_PARAM * __stand_param__ , ERR_PARAM
      *__err_param__ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DTOKEN
    - ','
    - TOKEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: MAKE_DEFAULT_DEF_FIRST
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DEFAULT_DEF_FIRST(DTOKEN,TOKEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DTOKEN
    - ','
    - TOKEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: MAKE_DEFAULT_DEF_NEXT
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DEFAULT_DEF_NEXT(DTOKEN,TOKEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAGC_CALLOC_STRUC
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:82,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:83,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:84,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:85,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:86,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:87,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:88,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:89,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:90,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:91,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:92,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:93,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:94,1
    - Dst: MAKE_DEFAULT_DEF_FIRST
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:95,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:98,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:99,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:100,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:101,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:104,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:105,1
    - Dst: MAKE_DEFAULT_DEF_NEXT
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - glo_p
    argTypes:
    - PAGC_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 110
    functionName: setup_default_defs
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 2
    functionsReached:
    - MAKE_DEFAULT_DEF_NEXT
    - MAKE_DEFAULT_DEF_FIRST
    - PAGC_CALLOC_STRUC
    linkageType: ''
    returnType: int
    signature: int setup_default_defs( PAGC_GLOBAL *glo_p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroy_def_list
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:124,1
    - Dst: FREE_AND_NULL
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - glo_p
    argTypes:
    - PAGC_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: remove_default_defs
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - destroy_def_list
    - FREE_AND_NULL
    linkageType: ''
    returnType: void
    signature: void remove_default_defs( PAGC_GLOBAL *glo_p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_lexeme
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s_p
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: process_input
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - process_lexeme
    linkageType: ''
    returnType: int
    signature: int process_input( STAND_PARAM *s_p )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:177,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:178,1
    - Dst: upper_case
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:187,1
    - Dst: process_lexeme
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:194,1
    - Dst: next_morph
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - s_p
    - t
    - s
    - length
    argTypes:
    - STAND_PARAM*
    - DEFDEF
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 203
    functionName: new_morph
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached:
    - RET_ERR1
    - upper_case
    - CLIENT_ERR
    - process_lexeme
    - next_morph
    linkageType: ''
    returnType: int
    signature: "int new_morph( STAND_PARAM *s_p ,\n               DEFDEF t ,\n               const
      char *s ,\n               int length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:214,1
    - Dst: RET_ERR
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s_p
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: next_morph
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - CLIENT_ERR
    - RET_ERR
    linkageType: ''
    returnType: int
    signature: int next_morph( STAND_PARAM *s_p )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s_p
    - c
    - s
    argTypes:
    - STAND_PARAM*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionName: set_term
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_term( STAND_PARAM *s_p ,\n               int c ,\n               const
      char *s )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lex_p
    - morph_p
    argTypes:
    - LEXEME*
    - struct morph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: no_space
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int no_space( LEXEME *lex_p ,\n                     struct morph *morph_p
      \ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset_lexeme
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s_p
    argTypes:
    - STAND_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: initialize_morphs
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - reset_lexeme
    linkageType: ''
    returnType: void
    signature: void initialize_morphs( STAND_PARAM *s_p )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:303,1
    - Dst: phrase_from_morphs
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:309,1
    - Dst: find_entry
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:314,1
    - Dst: strncmp
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:323,1
    - Dst: is_route
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:328,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:329,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:336,1
    - Dst: set_lexeme
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:354,1
    - Dst: new_defs
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:357,1
    - Dst: reunite_mixed
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:366,1
    - Dst: mark_hyphen_unit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - s_p
    - cur_m
    - base_m
    argTypes:
    - STAND_PARAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 377
    functionName: process_lexeme
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 2
    functionsReached:
    - phrase_from_morphs
    - mark_hyphen_unit
    - reunite_mixed
    - BLANK_STRING
    - is_route
    - strncmp
    - find_entry
    - set_lexeme
    - find_def_type
    - new_defs
    linkageType: ''
    returnType: int
    signature: "int process_lexeme( STAND_PARAM *s_p ,\n                           int
      cur_m,\n                           int base_m )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_symb_on_list
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - E
    argTypes:
    - ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: is_route
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - is_symb_on_list
    linkageType: ''
    returnType: int
    signature: int is_route( ENTRY *E )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:411,1
    - Dst: no_space
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - cur_lex_p
    - prev_lex_p
    - morph_p
    - d_p
    - LT
    argTypes:
    - LEXEME*
    - LEXEME*
    - struct morph*
    - DEF**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: is_direction_letter
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached:
    - strlen
    - no_space
    linkageType: ''
    returnType: int
    signature: "int is_direction_letter( LEXEME *cur_lex_p ,\n                                LEXEME
      *prev_lex_p ,\n                                struct morph *morph_p ,\n                                DEF
      **d_p ,\n                                char *LT )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:439,1
    - Dst: no_space
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:440,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:444,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:449,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:454,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:459,1
    - Dst: strcmp
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:464,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:466,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - cur_lex_p
    - prev_lex_p
    - morph_p
    - d_p
    - LT
    argTypes:
    - LEXEME*
    - LEXEME*
    - struct morph*
    - DEF**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 480
    functionName: is_ordinal_suffix
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - no_space
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int is_ordinal_suffix( LEXEME *cur_lex_p ,\n                              LEXEME
      *prev_lex_p ,\n                              struct morph *morph_p ,\n                              DEF
      **d_p ,\n                              char *LT )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:503,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:504,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:511,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:528,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:531,1
    - Dst: no_space
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:539,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:545,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:548,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:555,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:558,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:564,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:567,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:574,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:581,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:587,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:591,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:602,1
    - Dst: no_space
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:605,1
    - Dst: isalpha
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:610,1
    - Dst: isdigit
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:613,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:621,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:624,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 90
    argCount: 3
    argNames:
    - s_p
    - d_p
    - morph_p
    argTypes:
    - STAND_PARAM*
    - DEF**
    - struct morph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 628
    functionName: is_zip
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached:
    - isalpha
    - no_space
    - strlen
    - find_def_type
    - combine_lexemes
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int is_zip( STAND_PARAM *s_p ,\n                   DEF **d_p ,\n                   struct
      morph *morph_p  )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: no_space
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:648,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:652,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:661,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:663,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:667,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:674,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:679,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:681,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:689,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:694,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - s_p
    - d_p
    - morph_p
    argTypes:
    - STAND_PARAM*
    - DEF**
    - struct morph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 698
    functionName: fix_mixed
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 0
    functionsReached:
    - find_def_type
    - combine_lexemes
    - no_space
    linkageType: ''
    returnType: void
    signature: "void fix_mixed( STAND_PARAM *s_p ,\n                       DEF **d_p
      ,\n                       struct morph *morph_p  )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zip
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:711,1
    - Dst: numeric_tail
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:717,1
    - Dst: fix_mixed
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - s_p
    - d_p
    - morph_p
    - LT
    argTypes:
    - STAND_PARAM*
    - DEF**
    - struct morph*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 726
    functionName: reunite_mixed
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - is_zip
    - numeric_tail
    - fix_mixed
    linkageType: ''
    returnType: void
    signature: "void reunite_mixed( STAND_PARAM *s_p ,\n                           DEF
      **d_p ,\n                           struct morph *morph_p ,\n                           char
      *LT )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:746,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - n
    - lex_p
    - morph_p
    - def_ptr
    argTypes:
    - int
    - LEXEME*
    - struct morph*
    - DEF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 758
    functionName: mark_hyphen_unit
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - find_def_type
    linkageType: ''
    returnType: void
    signature: "void mark_hyphen_unit( int n ,\n                              LEXEME
      *lex_p ,\n                              struct morph *morph_p ,\n                              DEF
      **def_ptr  )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:781,1
    - Dst: is_direction_letter
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:785,1
    - Dst: find_def_type
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:794,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:797,1
    - Dst: is_ordinal_suffix
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:805,1
    - Dst: combine_lexemes
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - s_p
    - d_p
    - morph_p
    - LT
    argTypes:
    - STAND_PARAM*
    - DEF**
    - struct morph*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 817
    functionName: numeric_tail
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - is_direction_letter
    - find_def_type
    - combine_lexemes
    - is_ordinal_suffix
    linkageType: ''
    returnType: void
    signature: "void numeric_tail( STAND_PARAM *s_p ,\n                          DEF
      **d_p ,\n                          struct morph *morph_p ,\n                          char
      *LT )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:848,1
    - Dst: strlen
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - morph_p
    - d_p
    - Cur
    - pos
    - LTarget
    argTypes:
    - struct morph*
    - DEF**
    - ENTRY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 854
    functionName: new_defs
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached:
    - BLANK_STRING
    - strlen
    linkageType: ''
    returnType: DEF
    signature: "DEF *new_defs( struct morph *morph_p ,\n                      DEF
      **d_p ,\n                      ENTRY *Cur ,\n                      int pos ,\n
      \                     char *LTarget )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - List
    argTypes:
    - SYMB
    - SYMB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 869
    functionName: is_symb_on_list
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int is_symb_on_list( SYMB a ,\n                     SYMB *List )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_symb_on_list
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - df
    - slist
    argTypes:
    - DEF*
    - SYMB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 890
    functionName: find_def_type
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 6
    functionsReached:
    - is_symb_on_list
    linkageType: ''
    returnType: int
    signature: "int find_def_type( DEF *df ,\n                   SYMB *slist )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLIENT_ERR
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:908,1
    - Dst: RET_ERR1
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:909,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - s_p
    - Start
    - End
    - start_def
    - text
    argTypes:
    - STAND_PARAM*
    - int
    - int
    - DEF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 921
    functionName: set_lexeme
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 2
    functionsReached:
    - RET_ERR1
    - strcpy
    - CLIENT_ERR
    linkageType: ''
    returnType: int
    signature: "int set_lexeme( STAND_PARAM *s_p ,\n                       int Start
      ,\n                       int End ,\n                       DEF *start_def ,\n
      \                      char *text )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lex_p
    argTypes:
    - LEXEME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 939
    functionName: reset_lexeme
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_lexeme( LEXEME *lex_p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: phrase_from_morphs
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:958,1
    - Dst: reset_lexeme
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - s_p
    - morph_p
    - d
    argTypes:
    - STAND_PARAM*
    - struct morph*
    - DEF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: combine_lexemes
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 3
    functionsReached:
    - phrase_from_morphs
    - reset_lexeme
    linkageType: ''
    returnType: void
    signature: "void combine_lexemes( STAND_PARAM *s_p ,\n                             struct
      morph * morph_p ,\n                             DEF *d )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BLANK_STRING
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:981,1
    - Dst: snprintf
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:982,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:992,1
    - Dst: append_string_to_max
      Src: /src/postgis/extensions/address_standardizer/tokenize.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - morph_vector
    - Dest
    - beg
    - end
    argTypes:
    - struct morph*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1002
    functionName: phrase_from_morphs
    functionSourceFile: /src/postgis/extensions/address_standardizer/tokenize.c
    functionUses: 2
    functionsReached:
    - BLANK_STRING
    - append_string_to_max
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int phrase_from_morphs( struct morph *morph_vector ,\n                               char
      *Dest ,\n                               int beg ,\n                               int
      end )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: makeStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:67,1
    - Dst: makeStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:90,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:92,1
    - Dst: initStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:93,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:95,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:97,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:97,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:98,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:98,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:99,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:99,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:100,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:100,1
    - Dst: PG_NARGS
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:102,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:102,1
    - Dst: initStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:103,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:104,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:104,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:104,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:110,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:112,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:116,1
    - Dst: load_state_hash
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:118,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:120,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:122,1
    - Dst: hdestroy_r
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:123,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:125,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:129,1
    - Dst: parseaddress
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:130,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:133,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:139,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:141,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:145,1
    - Dst: initStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:146,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:148,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:149,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:150,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:151,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:153,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:154,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:154,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:155,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:157,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:158,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:158,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:159,1
    - Dst: GetStdUsingFCInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:161,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:163,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:166,1
    - Dst: std_standardize_mm
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:167,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:171,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:173,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:174,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:183,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:185,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:186,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:187,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:187,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:188,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:189,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:189,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:190,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:191,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:191,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:191,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:192,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:193,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:193,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:198,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:204,1
    - Dst: makeStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:205,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:206,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:206,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:207,1
    - Dst: SPI_connect
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:211,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:213,1
    - Dst: SPI_prepare
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:216,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:220,1
    - Dst: SPI_keepplan
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:224,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:229,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:231,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:232,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:235,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:236,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:237,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:238,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:240,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:248,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:249,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:250,1
    - Dst: sprintf
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:252,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:253,1
    - Dst: sprintf
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:254,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:255,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:258,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:259,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:260,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:260,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:260,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:261,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:261,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:262,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:263,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:264,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:265,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:265,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:265,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:266,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:267,1
    - Dst: in_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:267,1
    - Dst: out_symb_name
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:267,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:272,1
    - Dst: strcpy
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:274,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:275,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:276,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:277,1
    - Dst: strcat
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:278,1
    - Dst: CStringGetDatum
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:280,1
    - Dst: SPI_execute_plan
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:281,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:286,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:291,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:294,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:294,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:297,1
    - Dst: SPI_getbinval
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:298,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:301,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:302,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:307,1
    - Dst: DatumGetInt32
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:307,1
    - Dst: SPI_getbinval
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:308,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:310,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:310,1
    - Dst: TextDatumGetCString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:310,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:313,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:317,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:318,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:329,1
    - Dst: SPI_finish
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:331,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:332,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:333,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:334,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:336,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:337,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:337,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:339,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:340,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:340,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:342,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:343,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:343,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:345,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:346,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:346,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:348,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:349,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:349,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:351,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:352,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:352,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:354,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:355,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:355,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:357,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:358,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:358,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:360,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:361,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:361,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:363,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:364,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:364,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:366,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:367,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:367,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:369,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:370,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:370,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:372,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:373,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:373,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:375,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:376,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:376,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:378,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:379,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:379,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:381,1
    - Dst: quote_identifier
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:382,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:382,1
    - Dst: stdaddr_free
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:384,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:385,1
    - Dst: appendStringInfoString
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:386,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:387,1
    - Dst: cstring_to_text_with_len
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:387,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 205
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 388
    functionName: debug_standardize_address
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_standardizer.c
    functionUses: 0
    functionsReached:
    - strcpy
    - GetStdUsingFCInfo
    - pstrdup
    - SPI_finish
    - appendStringInfoChar
    - SPI_getbinval
    - PG_GETARG_TEXT_P
    - load_state_hash
    - sprintf
    - appendStringInfoString
    - stdaddr_free
    - cstring_to_text_with_len
    - SPI_execute_plan
    - elog
    - makeStringInfo
    - text_to_cstring
    - SPI_freetuptable
    - std_standardize_mm
    - SPI_keepplan
    - out_symb_name
    - hdestroy_r
    - PG_NARGS
    - appendStringInfo
    - CStringGetDatum
    - SPI_prepare
    - initStringInfo
    - PG_RETURN_TEXT_P
    - strcat
    - palloc0
    - quote_identifier
    - in_symb_name
    - DatumGetInt32
    - parseaddress
    - PG_ARGISNULL
    - SPI_connect
    - TextDatumGetCString
    linkageType: ''
    returnType: Datum
    signature: Datum debug_standardize_address(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:408,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:410,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:410,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:411,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:411,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:412,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:412,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:413,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:413,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:414,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:414,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:416,1
    - Dst: get_call_result_type
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:417,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:418,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:420,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:421,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:423,1
    - Dst: GetStdUsingFCInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:424,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:426,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:428,1
    - Dst: std_standardize_mm
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:429,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:431,1
    - Dst: palloc
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:433,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:437,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:439,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:440,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:441,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:442,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:443,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:444,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:445,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:446,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:447,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:448,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:449,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:450,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:451,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:452,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:453,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:454,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:457,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:458,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:461,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:462,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:465,1
    - Dst: stdaddr_free
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:466,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:468,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 470
    functionName: standardize_address
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_standardizer.c
    functionUses: 0
    functionsReached:
    - palloc
    - std_standardize_mm
    - DBG
    - GetStdUsingFCInfo
    - pstrdup
    - stdaddr_free
    - BlessTupleDesc
    - elog
    - HeapTupleGetDatum
    - text_to_cstring
    - PG_RETURN_DATUM
    - BuildTupleFromCStrings
    - PG_GETARG_TEXT_P
    - TupleDescGetAttInMetadata
    - get_call_result_type
    linkageType: ''
    returnType: Datum
    signature: Datum standardize_address(PG_FUNCTION_ARGS)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: makeStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:485,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:495,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:497,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:497,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:498,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:498,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:499,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:499,1
    - Dst: text_to_cstring
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:500,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:500,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:502,1
    - Dst: get_call_result_type
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:503,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:504,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:506,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:507,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:509,1
    - Dst: palloc0
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:511,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:513,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:517,1
    - Dst: load_state_hash
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:519,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:521,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:523,1
    - Dst: hdestroy_r
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:524,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:526,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:530,1
    - Dst: parseaddress
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:531,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:533,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:539,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:541,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:545,1
    - Dst: initStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:546,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:548,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:549,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:550,1
    - Dst: appendStringInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:551,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:553,1
    - Dst: GetStdUsingFCInfo
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:554,1
    - Dst: elog
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:556,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:558,1
    - Dst: std_standardize_mm
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:559,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:561,1
    - Dst: palloc
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:563,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:567,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:569,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:570,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:571,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:572,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:573,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:574,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:575,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:576,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:577,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:578,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:579,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:580,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:581,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:582,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:583,1
    - Dst: pstrdup
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:584,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:587,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:588,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:591,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:592,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:595,1
    - Dst: stdaddr_free
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:596,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:598,1
    - Dst: free_state_hash
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:599,1
    - Dst: DBG
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:601,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/extensions/address_standardizer/address_standardizer.c:602,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 603
    functionName: standardize_address1
    functionSourceFile: /src/postgis/extensions/address_standardizer/address_standardizer.c
    functionUses: 0
    functionsReached:
    - GetStdUsingFCInfo
    - pstrdup
    - PG_GETARG_TEXT_P
    - load_state_hash
    - DBG
    - stdaddr_free
    - BlessTupleDesc
    - makeStringInfo
    - elog
    - text_to_cstring
    - TupleDescGetAttInMetadata
    - PG_RETURN_DATUM
    - std_standardize_mm
    - hdestroy_r
    - HeapTupleGetDatum
    - appendStringInfo
    - free_state_hash
    - initStringInfo
    - palloc0
    - get_call_result_type
    - palloc
    - parseaddress
    - BuildTupleFromCStrings
    linkageType: ''
    returnType: Datum
    signature: Datum standardize_address1(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:51,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:52,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:53,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:54,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:55,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:57,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 8
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: geography_lt
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_lt(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:69,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:70,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:71,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:72,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:73,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:75,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 8
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: geography_le
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_le(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:87,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:88,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:89,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:90,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:91,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:93,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: geography_gt
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_gt(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:105,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:106,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:107,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:108,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:109,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:111,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 8
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: geography_ge
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_ge(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:123,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:124,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:125,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:126,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:127,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:129,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_btree.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 8
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: geography_eq
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_eq(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:141,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_btree.c:142,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/geography_btree.c:143,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:144,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_btree.c:145,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_btree.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 8
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: geography_cmp
    functionSourceFile: /src/postgis/postgis/geography_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum geography_cmp(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:44,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:46,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:47,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:49,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:54,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:55,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:58,1
    - Dst: lwline_measured_from_lwline
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:60,1
    - Dst: lwmline_measured_from_lwmline
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:62,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:64,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:67,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:69,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:70,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: ST_AddMeasure
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwmline_measured_from_lwmline
    - lwline_measured_from_lwline
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AddMeasure(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:84,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:87,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:88,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:90,1
    - Dst: lwgeom_locate_along
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:91,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:92,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:93,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:96,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:98,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:99,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 7
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: ST_LocateAlong
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_locate_along
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_LocateAlong(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:112,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:113,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:114,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:115,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:120,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:122,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:123,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:129,1
    - Dst: DirectFunctionCall3
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:129,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:129,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:129,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:129,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:132,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:133,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:134,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:135,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:139,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:140,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:143,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: ST_LocateBetween
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - elog
    - DirectFunctionCall3
    - PG_RETURN_NULL
    - gserialized_has_m
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - PG_GETARG_FLOAT8
    - lwgeom_clip_to_ordinate_range
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_LocateBetween(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:153,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:154,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:155,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:161,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:163,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:164,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:167,1
    - Dst: lwgeom_clip_to_ordinate_range
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:168,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:169,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:170,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:174,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:175,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:178,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 7
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: ST_LocateBetweenElevations
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - lwgeom_free
    - geometry_serialize
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwgeom_clip_to_ordinate_range
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_LocateBetweenElevations(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:186,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:187,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:191,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:193,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:194,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:196,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:198,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:199,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:202,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:204,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:206,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:207,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:210,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:210,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:211,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:213,1
    - Dst: lwgeom_interpolate_point
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: ST_InterpolatePoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - lwgeom_interpolate_point
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - gserialized_has_m
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum ST_InterpolatePoint(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:221,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:222,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:229,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:231,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:232,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:234,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:236,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:237,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:240,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:242,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:242,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:243,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:243,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:246,1
    - Dst: ptarray_locate_point
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:248,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_lrs.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 251
    functionName: LWGEOM_line_locate_point
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_lrs.c
    functionUses: 0
    functionsReached:
    - lwpoint_getPoint4d_p
    - ptarray_locate_point
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_line_locate_point(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:29,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:30,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/brin_nd.c:31,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/brin_nd.c:32,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/brin_nd.c:34,1
    - Dst: gidx_brin_inclusion_add_value
      Src: /src/postgis/postgis/brin_nd.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: geog_brin_inclusion_add_value
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_BOOL
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - gidx_brin_inclusion_add_value
    linkageType: ''
    returnType: Datum
    signature: Datum geog_brin_inclusion_add_value(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:43,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:44,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/brin_nd.c:45,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/brin_nd.c:46,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/brin_nd.c:48,1
    - Dst: gidx_brin_inclusion_add_value
      Src: /src/postgis/postgis/brin_nd.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: geom3d_brin_inclusion_add_value
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_BOOL
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - gidx_brin_inclusion_add_value
    linkageType: ''
    returnType: Datum
    signature: Datum geom3d_brin_inclusion_add_value(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:56,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:57,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/brin_nd.c:58,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/brin_nd.c:59,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/brin_nd.c:61,1
    - Dst: gidx_brin_inclusion_add_value
      Src: /src/postgis/postgis/brin_nd.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: geom4d_brin_inclusion_add_value
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_BOOL
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - gidx_brin_inclusion_add_value
    linkageType: ''
    returnType: Datum
    signature: Datum geom4d_brin_inclusion_add_value(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/postgis/brin_nd.c:73,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:82,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:85,1
    - Dst: DatumGetBool
      Src: /src/postgis/postgis/brin_nd.c:93,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:94,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/brin_nd.c:102,1
    - Dst: is_gserialized_from_datum_empty
      Src: /src/postgis/postgis/brin_nd.c:109,1
    - Dst: DatumGetBool
      Src: /src/postgis/postgis/brin_nd.c:111,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_nd.c:113,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:114,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:117,1
    - Dst: elog
      Src: /src/postgis/postgis/brin_nd.c:124,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/brin_nd.c:129,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/brin_nd.c:147,1
    - Dst: datumCopy
      Src: /src/postgis/postgis/brin_nd.c:151,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/brin_nd.c:152,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_nd.c:153,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_nd.c:154,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:156,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/brin_nd.c:160,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_nd.c:168,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:169,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/brin_nd.c:173,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:174,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/brin_nd.c:184,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_nd.c:185,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/brin_nd.c:185,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/brin_nd.c:185,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/brin_nd.c:187,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_nd.c:188,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/brin_nd.c:188,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/brin_nd.c:188,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_nd.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 5
    argNames:
    - bdesc
    - column
    - newval
    - isnull
    - max_dims
    argTypes:
    - BrinDesc*
    - BrinValues*
    - Datum
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 65
    functionDepth: 8
    functionLinenumber: 65
    functionLinenumberEnd: 192
    functionName: gidx_brin_inclusion_add_value
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 3
    functionsReached:
    - gidx_contains
    - is_gserialized_from_datum_empty
    - gserialized_datum_get_gidx_p
    - GIDX_SIZE
    - GIDX_SET_MAX
    - Max
    - GIDX_GET_MAX
    - GIDX_NDIMS
    - elog
    - GIDX_SET_MIN
    - BoolGetDatum
    - DatumGetBool
    - Min
    - PG_RETURN_BOOL
    - GIDX_GET_MIN
    - datumCopy
    - SET_VARSIZE
    - Assert
    linkageType: ''
    returnType: Datum
    signature: "Datum gidx_brin_inclusion_add_value(__attribute__((__unused__)) BrinDesc
      *bdesc,\n\t\tBrinValues *column, Datum newval, bool isnull, int max_dims)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_contains
      Src: /src/postgis/postgis/brin_nd.c:198,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/brin_nd.c:200,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/brin_nd.c:203,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_nd.c:204,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/brin_nd.c:204,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/brin_nd.c:204,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/brin_nd.c:206,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_nd.c:207,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/brin_nd.c:207,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/brin_nd.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - gidx_key
    - gidx_geom
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: gidx_brin_inclusion_merge
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - gidx_contains
    - GIDX_GET_MAX
    - GIDX_SET_MAX
    - GIDX_NDIMS
    - GIDX_SET_MIN
    - Min
    - GIDX_GET_MIN
    - Max
    linkageType: ''
    returnType: GIDX
    signature: 'GIDX *

      gidx_brin_inclusion_merge(GIDX *gidx_key, GIDX *gidx_geom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:217,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:218,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/brin_nd.c:220,1
    - Dst: gidx_brin_inclusion_merge
      Src: /src/postgis/postgis/brin_nd.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: geog_brin_inclusion_merge
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_brin_inclusion_merge
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geog_brin_inclusion_merge(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:226,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:227,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/brin_nd.c:229,1
    - Dst: gidx_brin_inclusion_merge
      Src: /src/postgis/postgis/brin_nd.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: geom3d_brin_inclusion_merge
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_brin_inclusion_merge
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom3d_brin_inclusion_merge(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:235,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_nd.c:236,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/brin_nd.c:238,1
    - Dst: gidx_brin_inclusion_merge
      Src: /src/postgis/postgis/brin_nd.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: geom4d_brin_inclusion_merge
    functionSourceFile: /src/postgis/postgis/brin_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_brin_inclusion_merge
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom4d_brin_inclusion_merge(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:57,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:58,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:59,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:61,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:65,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:66,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:67,1
    - Dst: lwproj_lookup
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:71,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:73,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:74,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:75,1
    - Dst: lwproj_is_latlong
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:79,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:81,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:82,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:83,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:87,1
    - Dst: lwgeom_to_marc21
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:88,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:90,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: ST_AsMARC21
    functionSourceFile: /src/postgis/postgis/lwgeom_out_marc21.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwproj_lookup
    - lwgeom_to_marc21
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - text_to_cstring
    - lwproj_is_latlong
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AsMARC21(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:102,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:102,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:102,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:104,1
    - Dst: is_format_valid
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:105,1
    - Dst: lwerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:105,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:107,1
    - Dst: stringbuffer_create
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:108,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:110,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:110,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:110,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:112,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:114,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:120,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:124,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:124,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:124,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:128,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:130,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:131,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:131,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:131,1
    - Dst: gbox_to_marc21_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:135,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:137,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:138,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:138,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:138,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:146,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:146,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:146,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:148,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:150,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:151,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:151,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:151,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:155,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:155,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:155,1
    - Dst: gbox_to_marc21_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:157,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:159,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:160,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:160,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:160,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:166,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:168,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:170,1
    - Dst: stringbuffer_getvarlenacopy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:175,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - geom
    - format
    argTypes:
    - LWGEOM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 179
    functionName: lwgeom_to_marc21
    functionSourceFile: /src/postgis/postgis/lwgeom_out_marc21.c
    functionUses: 1
    functionsReached:
    - lwgeom_is_collection
    - stringbuffer_destroy
    - POSTGIS_DEBUGF
    - lwerror
    - lwpgerror
    - is_format_valid
    - lwgeom_is_empty
    - stringbuffer_aprintf
    - lwgeom_calculate_gbox
    - gbox_to_marc21_sb
    - stringbuffer_getvarlenacopy
    - lwgeom_get_type
    - stringbuffer_create
    - POSTGIS_DEBUG
    - lwtype_name
    linkageType: ''
    returnType: lwvarlena_t
    signature: 'lwvarlena_t *

      lwgeom_to_marc21(const LWGEOM *geom, const char* format)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:184,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:185,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:189,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:189,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:197,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:201,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:202,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:205,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:205,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:206,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:206,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:207,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:207,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:209,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:218,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 229
    functionName: is_format_valid
    functionSourceFile: /src/postgis/postgis/lwgeom_out_marc21.c
    functionUses: 1
    functionsReached:
    - palloc
    - strcmp
    - strlen
    - pfree
    - strchr
    - memcpy
    linkageType: ''
    returnType: int
    signature: int is_format_valid(const char* format)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:237,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:238,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:242,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:242,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:247,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:254,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:264,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:265,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:265,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:269,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:270,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:270,1
    - Dst: abs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:287,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:288,1
    - Dst: abs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:302,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:303,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:317,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:319,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:323,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:333,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:335,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:335,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:347,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:349,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:349,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:357,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:364,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:370,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:374,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:379,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 4
    argNames:
    - sb
    - decimal_degrees
    - format
    - subfield
    argTypes:
    - stringbuffer_t*
    - double
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 384
    functionName: corner_to_subfield_sb
    functionSourceFile: /src/postgis/postgis/lwgeom_out_marc21.c
    functionUses: 0
    functionsReached:
    - palloc
    - abs
    - POSTGIS_DEBUGF
    - snprintf
    - fabs
    - stringbuffer_aprintf
    - strlen
    - pfree
    - strchr
    linkageType: ''
    returnType: int
    signature: int corner_to_subfield_sb(stringbuffer_t *sb, double decimal_degrees,
      const char*format, char subfield)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:388,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:390,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:391,1
    - Dst: corner_to_subfield_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:392,1
    - Dst: corner_to_subfield_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:393,1
    - Dst: corner_to_subfield_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:394,1
    - Dst: corner_to_subfield_sb
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:395,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:396,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_out_marc21.c:398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - box
    - format
    - sb
    argTypes:
    - GBOX
    - char*
    - stringbuffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: gbox_to_marc21_sb
    functionSourceFile: /src/postgis/postgis/lwgeom_out_marc21.c
    functionUses: 1
    functionsReached:
    - stringbuffer_aprintf
    - corner_to_subfield_sb
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: int
    signature: int gbox_to_marc21_sb(const GBOX box, const char* format, stringbuffer_t
      *sb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:49,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:50,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:53,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:54,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:56,1
    - Dst: GEOSRelatePatternMatch
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:58,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:61,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:61,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:62,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:63,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:66,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:66,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_relatematch.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: ST_RelateMatch
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_relatematch.c
    functionUses: 0
    functionsReached:
    - initGEOS
    - lwpgerror
    - PG_RETURN_NULL
    - text_to_cstring
    - lwfree
    - PG_RETURN_BOOL
    - PG_GETARG_TEXT_P
    - GEOSRelatePatternMatch
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RelateMatch(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:49,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:50,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:56,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:58,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:59,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:60,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:62,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:63,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:66,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:66,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:67,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:67,1
    - Dst: geobuf_agg_init_context
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:68,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:70,1
    - Dst: type_is_rowtype
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:73,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:73,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:74,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:77,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:78,1
    - Dst: PG_GETARG_HEAPTUPLEHEADER
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:81,1
    - Dst: geobuf_agg_transfn
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:83,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:84,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 87
    functionName: pgis_asgeobuf_transfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_TEXT_P
    - PG_GETARG_POINTER
    - geobuf_agg_init_context
    - type_is_rowtype
    - get_fn_expr_argtype
    - elog
    - postgis_initialize_cache
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_NARGS
    - text_to_cstring
    - geobuf_agg_transfn
    - AggCheckCallContext
    - MemoryContextSwitchTo
    - PG_GETARG_HEAPTUPLEHEADER
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asgeobuf_transfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:96,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:97,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:101,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:102,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:104,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:105,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:107,1
    - Dst: geobuf_agg_finalfn
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:108,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_geobuf.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: pgis_asgeobuf_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geobuf.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - geobuf_agg_finalfn
    - PG_RETURN_BYTEA_P
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - AggCheckCallContext
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asgeobuf_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:60,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:60,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:62,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:63,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:64,1
    - Dst: xmlInitParser
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:66,1
    - Dst: xmlReadMemory
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:67,1
    - Dst: xmlDocGetRootElement
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:69,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:70,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:71,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:72,1
    - Dst: parse_marc21
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:75,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:77,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:78,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:83,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:87,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:89,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 92
    functionName: ST_GeomFromMARC21
    functionSourceFile: /src/postgis/postgis/lwgeom_in_marc21.c
    functionUses: 0
    functionsReached:
    - xmlInitParser
    - parse_marc21
    - VARSIZE_ANY_EXHDR
    - xmlDocGetRootElement
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - xmlReadMemory
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - PG_GETARG_TEXT_P
    - xmlFreeDoc
    - xmlCleanupParser
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GeomFromMARC21(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:108,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - xml_name
    argTypes:
    - xmlNodePtr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: is_xml_element
    functionSourceFile: /src/postgis/postgis/lwgeom_in_marc21.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_xml_element(xmlNodePtr xn, const char *xml_name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:123,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:125,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:144,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:153,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:162,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:178,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:187,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - literal
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 190
    functionName: is_literal_valid
    functionSourceFile: /src/postgis/postgis/lwgeom_in_marc21.c
    functionUses: 0
    functionsReached:
    - strlen
    - isdigit
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: int
    signature: int is_literal_valid(const char *literal)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:219,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:220,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:222,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:224,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:226,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:228,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:229,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:231,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:231,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:244,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:245,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:249,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:254,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:255,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:256,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:257,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:258,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:263,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:264,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:265,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:267,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:268,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:278,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:280,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:285,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:285,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:286,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:302,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:303,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:304,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:306,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:307,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:323,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:324,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:326,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:327,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:329,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:329,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:331,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:348,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:349,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:351,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:352,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:354,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:354,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:354,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:356,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:357,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:358,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:359,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:360,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:371,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 1
    argNames:
    - literal
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 381
    functionName: parse_geo_literal
    functionSourceFile: /src/postgis/postgis/lwgeom_in_marc21.c
    functionUses: 0
    functionsReached:
    - palloc
    - snprintf
    - POSTGIS_DEBUGF
    - strlen
    - pfree
    - POSTGIS_DEBUG
    - strchr
    - atof
    - isdigit
    linkageType: ''
    returnType: double
    signature: double parse_geo_literal(char *literal)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:391,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:397,1
    - Dst: is_xml_element
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:404,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:405,1
    - Dst: is_xml_element
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:419,1
    - Dst: xmlStrcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:419,1
    - Dst: xmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:419,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:421,1
    - Dst: is_xml_element
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:426,1
    - Dst: xmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:429,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:431,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:432,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:433,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:434,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:437,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:439,1
    - Dst: is_literal_valid
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:441,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:443,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:444,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:445,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:446,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:450,1
    - Dst: xmlFreeNode
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:456,1
    - Dst: parse_geo_literal
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:460,1
    - Dst: parse_geo_literal
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:461,1
    - Dst: parse_geo_literal
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:462,1
    - Dst: parse_geo_literal
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:463,1
    - Dst: lwrealloc
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:467,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:469,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:469,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:477,1
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:482,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:499,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:506,1
    - Dst: xmlFreeNode
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:507,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:511,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:511,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:511,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:512,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:517,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:521,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:521,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:521,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:522,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:523,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:527,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:527,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:527,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_marc21.c:535,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 1
    argNames:
    - xnode
    argTypes:
    - xmlNodePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 538
    functionName: parse_marc21
    functionSourceFile: /src/postgis/postgis/lwgeom_in_marc21.c
    functionUses: 1
    functionsReached:
    - strcmp
    - is_xml_element
    - lwpoly_construct_envelope
    - lwalloc
    - parse_geo_literal
    - is_literal_valid
    - xmlFreeNode
    - xmlNodeGetContent
    - lwgeom_force_clockwise
    - POSTGIS_DEBUGF
    - lwpgerror
    - lwcollection_construct_empty
    - lwgeom_get_type
    - lwtype_name
    - xmlStrcmp
    - fabs
    - xmlGetProp
    - lwrealloc
    - POSTGIS_DEBUG
    - lwpoint_make2d
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      parse_marc21(xmlNodePtr xnode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:49,1
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lwgeom
    - cache
    argTypes:
    - LWGEOM*
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: CircTreeBuilder
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_circ_tree
    - circ_tree_free
    linkageType: ''
    returnType: int
    signature: int CircTreeBuilder(const LWGEOM* lwgeom, GeomCache* cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: CircTreeFreer
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - circ_tree_free
    linkageType: ''
    returnType: int
    signature: int CircTreeFreer(GeomCache* cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geography_measurement_trees.c:79,1
    - Dst: memset
      Src: /src/postgis/postgis/geography_measurement_trees.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: CircTreeAllocator
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    linkageType: ''
    returnType: GeomCache
    signature: 'GeomCache *

      CircTreeAllocator(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetGeomCache
      Src: /src/postgis/postgis/geography_measurement_trees.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fcinfo
    - g1
    - g2
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: GetCircTreeGeomCache
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - GetGeomCache
    linkageType: ''
    returnType: CircTreeGeomCache
    signature: 'CircTreeGeomCache *

      GetCircTreeGeomCache(FunctionCallInfo fcinfo, SHARED_GSERIALIZED *g1, SHARED_GSERIALIZED
      *g2)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement_trees.c:101,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement_trees.c:106,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement_trees.c:111,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/geography_measurement_trees.c:113,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement_trees.c:115,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement_trees.c:116,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/postgis/geography_measurement_trees.c:117,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:118,1
    - Dst: geographic_point_init
      Src: /src/postgis/postgis/geography_measurement_trees.c:122,1
    - Dst: geog2cart
      Src: /src/postgis/postgis/geography_measurement_trees.c:123,1
    - Dst: gbox_contains_point3d
      Src: /src/postgis/postgis/geography_measurement_trees.c:126,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement_trees.c:128,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/postgis/geography_measurement_trees.c:139,1
    - Dst: circ_tree_get_point_outside
      Src: /src/postgis/postgis/geography_measurement_trees.c:140,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/geography_measurement_trees.c:141,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement_trees.c:143,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement_trees.c:145,1
    - Dst: circ_tree_contains_point
      Src: /src/postgis/postgis/geography_measurement_trees.c:146,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement_trees.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - tree1
    - g1
    - in_point
    argTypes:
    - CIRC_NODE*
    - GSERIALIZED*
    - POINT4D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 154
    functionName: CircTreePIP
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - circ_tree_get_point_outside
    - circ_tree_contains_point
    - POSTGIS_DEBUGF
    - lwgeom_calculate_gbox_geodetic
    - lwpgerror
    - lwgeom_from_gserialized
    - gbox_contains_point3d
    - gserialized_get_gbox_p
    - gbox_pt_outside
    - POSTGIS_DEBUG
    - gserialized_get_type
    - geographic_point_init
    - geog2cart
    linkageType: ''
    returnType: int
    signature: int CircTreePIP(const CIRC_NODE* tree1, const GSERIALIZED* g1, const
      POINT4D* in_point)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement_trees.c:164,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement_trees.c:165,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement_trees.c:168,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement_trees.c:169,1
    - Dst: Assert
      Src: /src/postgis/postgis/geography_measurement_trees.c:171,1
    - Dst: GetCircTreeGeomCache
      Src: /src/postgis/postgis/geography_measurement_trees.c:178,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/geography_measurement_trees.c:210,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement_trees.c:214,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/postgis/geography_measurement_trees.c:217,1
    - Dst: CircTreePIP
      Src: /src/postgis/postgis/geography_measurement_trees.c:218,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:221,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:226,1
    - Dst: circ_tree_get_point
      Src: /src/postgis/postgis/geography_measurement_trees.c:230,1
    - Dst: CircTreePIP
      Src: /src/postgis/postgis/geography_measurement_trees.c:233,1
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:236,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:237,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:242,1
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:243,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - fcinfo
    - shared_g1
    - shared_g2
    - s
    - tolerance
    - distance
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    - SPHEROID*
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 156
    functionDepth: 8
    functionLinenumber: 156
    functionLinenumberEnd: 251
    functionName: geography_distance_cache_tolerance
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - circ_tree_get_point
    - circ_tree_distance_tree
    - lwgeom_free
    - CircTreePIP
    - circ_tree_free
    - lwpgerror
    - lwgeom_from_gserialized
    - lwgeom_startpoint
    - shared_gserialized_get
    - GetCircTreeGeomCache
    - gserialized_get_type
    - lwgeom_calculate_circ_tree
    - Assert
    linkageType: ''
    returnType: int
    signature: "int geography_distance_cache_tolerance(FunctionCallInfo fcinfo,\n\t\t\t\t
      \  SHARED_GSERIALIZED *shared_g1,\n\t\t\t\t   SHARED_GSERIALIZED *shared_g2,\n\t\t\t\t
      \  const SPHEROID *s,\n\t\t\t\t   double tolerance,\n\t\t\t\t   double *distance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geography_distance_cache_tolerance
      Src: /src/postgis/postgis/geography_measurement_trees.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fcinfo
    - g1
    - g2
    - s
    - distance
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    - SPHEROID*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 9
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: geography_distance_cache
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - geography_distance_cache_tolerance
    linkageType: ''
    returnType: int
    signature: "int geography_distance_cache(FunctionCallInfo fcinfo,\n\t\t\t SHARED_GSERIALIZED
      *g1,\n\t\t\t SHARED_GSERIALIZED *g2,\n\t\t\t const SPHEROID *s,\n\t\t\t double
      *distance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: geography_distance_cache_tolerance
      Src: /src/postgis/postgis/geography_measurement_trees.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - fcinfo
    - g1
    - g2
    - s
    - tolerance
    - dwithin
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    - SPHEROID*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 9
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: geography_dwithin_cache
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - geography_distance_cache_tolerance
    linkageType: ''
    returnType: int
    signature: "int geography_dwithin_cache(FunctionCallInfo fcinfo,\n\t\t\tSHARED_GSERIALIZED
      *g1,\n\t\t\tSHARED_GSERIALIZED *g2,\n\t\t\tconst SPHEROID *s,\n\t\t\tdouble
      tolerance,\n\t\t\tint *dwithin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement_trees.c:295,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement_trees.c:296,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:297,1
    - Dst: lwgeom_calculate_circ_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:298,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/postgis/geography_measurement_trees.c:299,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/postgis/geography_measurement_trees.c:300,1
    - Dst: CircTreePIP
      Src: /src/postgis/postgis/geography_measurement_trees.c:302,1
    - Dst: CircTreePIP
      Src: /src/postgis/postgis/geography_measurement_trees.c:302,1
    - Dst: circ_tree_distance_tree
      Src: /src/postgis/postgis/geography_measurement_trees.c:309,1
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:312,1
    - Dst: circ_tree_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:313,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:314,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement_trees.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - g1
    - g2
    - s
    - tolerance
    - distance
    argTypes:
    - GSERIALIZED*
    - GSERIALIZED*
    - SPHEROID*
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 317
    functionName: geography_tree_distance
    functionSourceFile: /src/postgis/postgis/geography_measurement_trees.c
    functionUses: 0
    functionsReached:
    - circ_tree_distance_tree
    - lwgeom_free
    - CircTreePIP
    - circ_tree_free
    - lwgeom_from_gserialized
    - lwgeom_calculate_circ_tree
    - lwgeom_startpoint
    linkageType: ''
    returnType: int
    signature: int geography_tree_distance(const GSERIALIZED* g1, const GSERIALIZED*
      g2, const SPHEROID* s, double tolerance, double* distance)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - column_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: get_pgtype
    functionSourceFile: /src/postgis/postgis/lwgeom_in_flatgeobuf.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: char
    signature: char *get_pgtype(uint8_t column_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:86,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:87,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:88,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:89,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:91,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:92,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:94,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:95,1
    - Dst: PG_GETARG_BYTEA_PP
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:97,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:99,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:100,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:101,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:102,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:103,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:104,1
    - Dst: VARDATA_ANY
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:104,1
    - Dst: flatgeobuf_check_magicbytes
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:107,1
    - Dst: flatgeobuf_decode_header
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:108,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:110,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:112,1
    - Dst: get_pgtype
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:117,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:118,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:118,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:119,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:120,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:121,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:122,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:125,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:127,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:129,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:131,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:134,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:137,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:137,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:137,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:137,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:137,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:139,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:141,1
    - Dst: SPI_connect
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:143,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:144,1
    - Dst: SPI_execute
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:146,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:147,1
    - Dst: SPI_finish
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:149,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:150,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:152,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 155
    functionName: pgis_tablefromflatgeobuf
    functionSourceFile: /src/postgis/postgis/lwgeom_in_flatgeobuf.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - flatgeobuf_decode_header
    - PG_RETURN_NULL
    - lwalloc
    - PG_GETARG_TEXT_P
    - sprintf
    - SPI_execute
    - get_pgtype
    - elog
    - text_to_cstring
    - strlen
    - flatgeobuf_check_magicbytes
    - POSTGIS_DEBUGF
    - strcat
    - palloc0
    - palloc
    - PG_GETARG_BYTEA_PP
    - VARSIZE_ANY_EXHDR
    - PG_ARGISNULL
    - SPI_connect
    - VARDATA_ANY
    - POSTGIS_DEBUG
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_tablefromflatgeobuf(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:169,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:170,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:171,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:175,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:176,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:177,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:178,1
    - Dst: PG_GETARG_BYTEA_PP
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:180,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:182,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:184,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:185,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:186,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:187,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:188,1
    - Dst: VARDATA_ANY
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:188,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:196,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:197,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:198,1
    - Dst: flatgeobuf_check_magicbytes
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:201,1
    - Dst: flatgeobuf_decode_header
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:202,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:204,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:207,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:208,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:209,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:213,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:216,1
    - Dst: flatgeobuf_decode_row
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:220,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:221,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:222,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:224,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_in_flatgeobuf.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 227
    functionName: pgis_fromflatgeobuf
    functionSourceFile: /src/postgis/postgis/lwgeom_in_flatgeobuf.c
    functionUses: 0
    functionsReached:
    - flatgeobuf_decode_header
    - SRF_RETURN_DONE
    - errcode
    - SRF_PERCALL_SETUP
    - SRF_IS_FIRSTCALL
    - flatgeobuf_check_magicbytes
    - ereport
    - POSTGIS_DEBUGF
    - SRF_RETURN_NEXT
    - errmsg
    - flatgeobuf_decode_row
    - palloc0
    - get_call_result_type
    - palloc
    - PG_GETARG_BYTEA_PP
    - VARSIZE_ANY_EXHDR
    - SRF_FIRSTCALL_INIT
    - VARDATA_ANY
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_fromflatgeobuf(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_supportfn.c:120,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_supportfn.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - first_type
    - index
    argTypes:
    - Oid
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: get_strategy_by_type
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - postgis_oid
    linkageType: ''
    returnType: int16
    signature: int16 get_strategy_by_type(Oid first_type, uint16_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_func_name
      Src: /src/postgis/postgis/gserialized_supportfn.c:213,1
    - Dst: strcmp
      Src: /src/postgis/postgis/gserialized_supportfn.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - funcid
    - idxfn
    argTypes:
    - Oid
    - IndexableFunction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: needsSpatialIndex
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_func_name
    linkageType: ''
    returnType: bool
    signature: bool needsSpatialIndex(Oid funcid, IndexableFunction *idxfn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/postgis/postgis/gserialized_supportfn.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - opfamily
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: opFamilyDim
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t opFamilyDim(const char* opfamily)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SearchSysCache1
      Src: /src/postgis/postgis/gserialized_supportfn.c:257,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_supportfn.c:257,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/postgis/gserialized_supportfn.c:258,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:259,1
    - Dst: GETSTRUCT
      Src: /src/postgis/postgis/gserialized_supportfn.c:260,1
    - Dst: NameStr
      Src: /src/postgis/postgis/gserialized_supportfn.c:262,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:263,1
    - Dst: opFamilyDim
      Src: /src/postgis/postgis/gserialized_supportfn.c:265,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_supportfn.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - opfamilyoid
    - dims
    argTypes:
    - Oid
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: opFamilyAmOid
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - opFamilyDim
    - elog
    - ReleaseSysCache
    - ObjectIdGetDatum
    - SearchSysCache1
    - HeapTupleIsValid
    - GETSTRUCT
    - NameStr
    linkageType: ''
    returnType: Oid
    signature: Oid opFamilyAmOid(Oid opfamilyoid, uint8_t* dims)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_namespace_name
      Src: /src/postgis/postgis/gserialized_supportfn.c:284,1
    - Dst: get_func_namespace
      Src: /src/postgis/postgis/gserialized_supportfn.c:284,1
    - Dst: list_make2
      Src: /src/postgis/postgis/gserialized_supportfn.c:285,1
    - Dst: makeString
      Src: /src/postgis/postgis/gserialized_supportfn.c:285,1
    - Dst: makeString
      Src: /src/postgis/postgis/gserialized_supportfn.c:285,1
    - Dst: LookupFuncName
      Src: /src/postgis/postgis/gserialized_supportfn.c:286,1
    - Dst: list_make2
      Src: /src/postgis/postgis/gserialized_supportfn.c:295,1
    - Dst: makeString
      Src: /src/postgis/postgis/gserialized_supportfn.c:295,1
    - Dst: makeString
      Src: /src/postgis/postgis/gserialized_supportfn.c:295,1
    - Dst: LookupFuncName
      Src: /src/postgis/postgis/gserialized_supportfn.c:296,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - geotype
    - callingfunc
    argTypes:
    - Oid
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: expandFunctionOid
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - makeString
    - list_make2
    - get_func_namespace
    - elog
    - get_namespace_name
    - LookupFuncName
    linkageType: ''
    returnType: Oid
    signature: Oid expandFunctionOid(Oid geotype, Oid callingfunc)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:322,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_supportfn.c:329,1
    - Dst: IsA
      Src: /src/postgis/postgis/gserialized_supportfn.c:331,1
    - Dst: gserialized_joinsel_internal
      Src: /src/postgis/postgis/gserialized_supportfn.c:337,1
    - Dst: gserialized_sel_internal
      Src: /src/postgis/postgis/gserialized_supportfn.c:341,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_supportfn.c:343,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:344,1
    - Dst: IsA
      Src: /src/postgis/postgis/gserialized_supportfn.c:351,1
    - Dst: is_funcclause
      Src: /src/postgis/postgis/gserialized_supportfn.c:355,1
    - Dst: needsSpatialIndex
      Src: /src/postgis/postgis/gserialized_supportfn.c:362,1
    - Dst: list_length
      Src: /src/postgis/postgis/gserialized_supportfn.c:364,1
    - Dst: opFamilyAmOid
      Src: /src/postgis/postgis/gserialized_supportfn.c:377,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:382,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:390,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:398,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:404,1
    - Dst: linitial
      Src: /src/postgis/postgis/gserialized_supportfn.c:418,1
    - Dst: lsecond
      Src: /src/postgis/postgis/gserialized_supportfn.c:419,1
    - Dst: linitial
      Src: /src/postgis/postgis/gserialized_supportfn.c:423,1
    - Dst: lsecond
      Src: /src/postgis/postgis/gserialized_supportfn.c:424,1
    - Dst: exprType
      Src: /src/postgis/postgis/gserialized_supportfn.c:432,1
    - Dst: exprType
      Src: /src/postgis/postgis/gserialized_supportfn.c:433,1
    - Dst: get_opfamily_member
      Src: /src/postgis/postgis/gserialized_supportfn.c:440,1
    - Dst: get_strategy_by_type
      Src: /src/postgis/postgis/gserialized_supportfn.c:443,1
    - Dst: OidIsValid
      Src: /src/postgis/postgis/gserialized_supportfn.c:444,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:445,1
    - Dst: list_nth
      Src: /src/postgis/postgis/gserialized_supportfn.c:461,1
    - Dst: expandFunctionOid
      Src: /src/postgis/postgis/gserialized_supportfn.c:462,1
    - Dst: makeFuncExpr
      Src: /src/postgis/postgis/gserialized_supportfn.c:464,1
    - Dst: list_make2
      Src: /src/postgis/postgis/gserialized_supportfn.c:465,1
    - Dst: is_pseudo_constant_for_index
      Src: /src/postgis/postgis/gserialized_supportfn.c:473,1
    - Dst: is_pseudo_constant_for_index
      Src: /src/postgis/postgis/gserialized_supportfn.c:475,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:477,1
    - Dst: make_opclause
      Src: /src/postgis/postgis/gserialized_supportfn.c:480,1
    - Dst: list_make1
      Src: /src/postgis/postgis/gserialized_supportfn.c:484,1
    - Dst: is_pseudo_constant_for_index
      Src: /src/postgis/postgis/gserialized_supportfn.c:500,1
    - Dst: is_pseudo_constant_for_index
      Src: /src/postgis/postgis/gserialized_supportfn.c:502,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:504,1
    - Dst: get_commutator
      Src: /src/postgis/postgis/gserialized_supportfn.c:513,1
    - Dst: OidIsValid
      Src: /src/postgis/postgis/gserialized_supportfn.c:514,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:515,1
    - Dst: make_opclause
      Src: /src/postgis/postgis/gserialized_supportfn.c:518,1
    - Dst: list_make1
      Src: /src/postgis/postgis/gserialized_supportfn.c:522,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:532,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_supportfn.c:536,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_supportfn.c:541,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 542
    functionName: postgis_index_supportfn
    functionSourceFile: /src/postgis/postgis/gserialized_supportfn.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - get_opfamily_member
    - list_length
    - linitial
    - list_make1
    - IsA
    - expandFunctionOid
    - make_opclause
    - opFamilyAmOid
    - elog
    - get_strategy_by_type
    - list_nth
    - makeFuncExpr
    - POSTGIS_DEBUGF
    - lsecond
    - needsSpatialIndex
    - postgis_initialize_cache
    - get_commutator
    - is_funcclause
    - is_pseudo_constant_for_index
    - PG_RETURN_POINTER
    - exprType
    - OidIsValid
    - list_make2
    - gserialized_joinsel_internal
    - gserialized_sel_internal
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_index_supportfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: compareDoubles
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareDoubles(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - centroid
    - inBox
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: getQuadrant4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 getQuadrant4D(BOX2DF *centroid, BOX2DF *inBox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: initRectBox
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - palloc
    linkageType: ''
    returnType: RectBox
    signature: 'RectBox *

      initRectBox(void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:185,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - rect_box
    - centroid
    - quadrant
    argTypes:
    - RectBox*
    - BOX2DF*
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: nextRectBox
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - palloc
    - memcpy
    linkageType: ''
    returnType: RectBox
    signature: 'RectBox *

      nextRectBox(RectBox *rect_box, BOX2DF *centroid, uint8 quadrant)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: overlap4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overlap4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: contain4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contain4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: left4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool left4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: overLeft4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overLeft4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: right4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool right4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: overRight4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overRight4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: below4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool below4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: overBelow4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overBelow4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: above4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool above4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rect_box
    - query
    argTypes:
    - RectBox*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: overAbove4D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overAbove4D(RectBox *rect_box, BOX2DF *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:292,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:295,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:296,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: gserialized_spgist_config_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_VOID
    - postgis_oid
    - postgis_initialize_cache
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_config_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:315,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:316,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:317,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:317,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:320,1
    - Dst: getQuadrant4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:324,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: gserialized_spgist_choose_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - PG_RETURN_VOID
    - getQuadrant4D
    - PointerGetDatum
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_choose_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:339,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:340,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:343,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:344,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:345,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:346,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:351,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:359,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:360,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:361,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:362,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:366,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:375,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:380,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:381,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:388,1
    - Dst: getQuadrant4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:389,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:391,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:395,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:396,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:397,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:398,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 401
    functionName: gserialized_spgist_picksplit_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - palloc
    - getQuadrant4D
    - PG_RETURN_VOID
    - PointerGetDatum
    - qsort
    - pfree
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_picksplit_2d(PG_FUNCTION_ARGS)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:410,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:411,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:422,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:426,1
    - Dst: initRectBox
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:436,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:438,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:442,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:443,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:450,1
    - Dst: nextRectBox
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:454,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:465,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:467,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:468,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:471,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:473,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:474,1
    - Dst: overlap4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:482,1
    - Dst: contain4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:487,1
    - Dst: overRight4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:491,1
    - Dst: right4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:495,1
    - Dst: overLeft4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:499,1
    - Dst: left4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:503,1
    - Dst: overBelow4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:507,1
    - Dst: below4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:511,1
    - Dst: overAbove4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:515,1
    - Dst: above4D
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:519,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:523,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:543,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:548,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:550,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 551
    functionName: gserialized_spgist_inner_consistent_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - initRectBox
    - PG_RETURN_VOID
    - overLeft4D
    - overlap4D
    - elog
    - right4D
    - gserialized_datum_get_box2df_p
    - nextRectBox
    - contain4D
    - pfree
    - PG_RETURN_BOOL
    - palloc
    - DatumGetPointer
    - overRight4D
    - overBelow4D
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - overAbove4D
    - below4D
    - left4D
    - above4D
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_inner_consistent_2d(PG_FUNCTION_ARGS)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:560,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:561,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:562,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:569,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:570,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:587,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:589,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:590,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:593,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:595,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:596,1
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:602,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:607,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:612,1
    - Dst: box2df_equals
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:616,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:620,1
    - Dst: box2df_overleft
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:624,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:628,1
    - Dst: box2df_overright
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:632,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:636,1
    - Dst: box2df_overabove
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:640,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:644,1
    - Dst: box2df_overbelow
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:648,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:652,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:660,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 661
    functionName: gserialized_spgist_leaf_consistent_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - box2df_overlaps
    - gserialized_datum_get_box2df_p
    - box2df_overbelow
    - box2df_above
    - box2df_left
    - box2df_overleft
    - box2df_below
    - elog
    - box2df_contains
    - box2df_overright
    - box2df_overabove
    - PG_RETURN_BOOL
    - box2df_equals
    - box2df_right
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_leaf_consistent_2d(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:667,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:668,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:671,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:674,1
    - Dst: box2df_set_empty
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:679,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:681,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:682,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:686,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:686,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:687,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:687,1
    - Dst: box2df_set_finite
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:689,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:691,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:692,1
    - Dst: box2df_validate
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:696,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:699,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_2d.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 701
    functionName: gserialized_spgist_compress_2d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_2d.c
    functionUses: 0
    functionsReached:
    - palloc
    - box2df_set_empty
    - gserialized_datum_get_box2df_p
    - box2df_set_finite
    - isfinite
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - box2df_validate
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_compress_2d(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geometry_inout.c:51,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:53,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:54,1
    - Dst: PG_GETARG_POINT_P
      Src: /src/postgis/postgis/geometry_inout.c:56,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:59,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/geometry_inout.c:61,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/geometry_inout.c:62,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geometry_inout.c:62,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/geometry_inout.c:63,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geometry_inout.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: point_to_geometry
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_POINT_P
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwpoint_as_lwgeom
    - POSTGIS_DEBUG
    - lwpoint_free
    - lwpoint_make2d
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum point_to_geometry(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:78,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:79,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geometry_inout.c:80,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geometry_inout.c:82,1
    - Dst: elog
      Src: /src/postgis/postgis/geometry_inout.c:83,1
    - Dst: gserialized_peek_first_point
      Src: /src/postgis/postgis/geometry_inout.c:85,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:86,1
    - Dst: palloc
      Src: /src/postgis/postgis/geometry_inout.c:88,1
    - Dst: PG_RETURN_POINT_P
      Src: /src/postgis/postgis/geometry_inout.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: geometry_to_point
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - palloc
    - gserialized_peek_first_point
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_RETURN_POINT_P
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_to_point(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geometry_inout.c:107,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:109,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:110,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geometry_inout.c:112,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geometry_inout.c:114,1
    - Dst: elog
      Src: /src/postgis/postgis/geometry_inout.c:115,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geometry_inout.c:117,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geometry_inout.c:118,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:119,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/geometry_inout.c:120,1
    - Dst: palloc
      Src: /src/postgis/postgis/geometry_inout.c:124,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/geometry_inout.c:125,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geometry_inout.c:132,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geometry_inout.c:137,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geometry_inout.c:138,1
    - Dst: PG_RETURN_PATH_P
      Src: /src/postgis/postgis/geometry_inout.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 141
    functionName: geometry_to_path
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - palloc
    - lwgeom_free
    - getPoint2d_cp
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - gserialized_get_type
    - PG_RETURN_PATH_P
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_to_path(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geometry_inout.c:155,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:157,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:158,1
    - Dst: PG_GETARG_PATH_P
      Src: /src/postgis/postgis/geometry_inout.c:160,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:163,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/geometry_inout.c:165,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/geometry_inout.c:171,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/geometry_inout.c:173,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/geometry_inout.c:174,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/geometry_inout.c:174,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/geometry_inout.c:175,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geometry_inout.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 145
    functionDepth: 7
    functionLinenumber: 145
    functionLinenumberEnd: 178
    functionName: path_to_geometry
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - geometry_serialize
    - lwline_as_lwgeom
    - ptarray_append_point
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_PATH_P
    - POSTGIS_DEBUG
    - lwline_free
    - lwline_construct
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum path_to_geometry(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geometry_inout.c:192,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:194,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:195,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geometry_inout.c:197,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geometry_inout.c:199,1
    - Dst: elog
      Src: /src/postgis/postgis/geometry_inout.c:200,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geometry_inout.c:202,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geometry_inout.c:203,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:204,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/geometry_inout.c:205,1
    - Dst: palloc0
      Src: /src/postgis/postgis/geometry_inout.c:210,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/geometry_inout.c:211,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/geometry_inout.c:215,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geometry_inout.c:223,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geometry_inout.c:228,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geometry_inout.c:229,1
    - Dst: PG_RETURN_POLYGON_P
      Src: /src/postgis/postgis/geometry_inout.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 232
    functionName: geometry_to_polygon
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_POLYGON_P
    - lwgeom_free
    - getPoint2d_cp
    - SET_VARSIZE
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - elog
    - lwgeom_as_lwpoly
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - gserialized_get_type
    - palloc0
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_to_polygon(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geometry_inout.c:246,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geometry_inout.c:248,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:249,1
    - Dst: PG_GETARG_POLYGON_P
      Src: /src/postgis/postgis/geometry_inout.c:251,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geometry_inout.c:254,1
    - Dst: memcmp
      Src: /src/postgis/postgis/geometry_inout.c:257,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/geometry_inout.c:262,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/geometry_inout.c:270,1
    - Dst: palloc
      Src: /src/postgis/postgis/geometry_inout.c:273,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/geometry_inout.c:275,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/geometry_inout.c:276,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/geometry_inout.c:276,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/geometry_inout.c:277,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geometry_inout.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 236
    functionDepth: 7
    functionLinenumber: 236
    functionLinenumberEnd: 280
    functionName: polygon_to_geometry
    functionSourceFile: /src/postgis/postgis/geometry_inout.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - palloc
    - geometry_serialize
    - PG_GETARG_POLYGON_P
    - lwpoly_construct
    - lwpoly_free
    - ptarray_append_point
    - lwpoly_as_lwgeom
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    - memcmp
    linkageType: ''
    returnType: Datum
    signature: Datum polygon_to_geometry(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:60,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:61,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:63,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:70,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:73,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:73,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:74,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:76,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:78,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:80,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:82,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:83,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:85,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 7
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: LWGEOM_simplify2d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_simplify_in_place
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_simplify2d(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:92,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:94,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:101,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:103,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:103,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:104,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:106,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:106,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:107,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:109,1
    - Dst: lwgeom_set_effective_area
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:111,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:112,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:115,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:117,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:118,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:119,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 90
    functionDepth: 8
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: LWGEOM_SetEffectiveArea
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_INT32
    - lwgeom_set_effective_area
    - PG_RETURN_NULL
    - lwgeom_add_bbox
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_SetEffectiveArea(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:126,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:128,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:135,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:137,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:137,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:138,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:141,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:143,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:143,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:145,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:151,1
    - Dst: lwgeom_chaikin
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:153,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:154,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:157,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:159,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:160,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:161,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 163
    functionName: LWGEOM_ChaikinSmoothing
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_INT32
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - lwgeom_add_bbox
    - lwgeom_chaikin
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_ChaikinSmoothing(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:178,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:180,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:181,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:181,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:182,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:189,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:190,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:191,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:194,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:196,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:197,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:198,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:201,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:201,1
    - Dst: lwline_interpolate_points
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:202,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:204,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:204,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:205,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:209,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:209,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:211,1
    - Dst: lwmpoint_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:211,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:214,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:215,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 7
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: LWGEOM_line_interpolate_point
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwmpoint_construct
    - lwline_as_lwgeom
    - PG_RETURN_NULL
    - lwmpoint_as_lwgeom
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - gserialized_get_srid
    - elog
    - PG_GETARG_BOOL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - geometry_serialize
    - PG_NARGS
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - lwpoint_construct
    - lwpoint_as_lwgeom
    - lwline_interpolate_points
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_line_interpolate_point(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:230,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:232,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:239,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:240,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:243,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:245,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:246,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:249,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:250,1
    - Dst: lwline_interpolate_point_3d
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:252,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:254,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:255,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:257,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:257,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:258,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 7
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: ST_3DLineInterpolatePoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - PG_FREE_IF_COPY
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - lwpoint_as_lwgeom
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - lwpoint_free
    - PG_GETARG_FLOAT8
    - lwline_interpolate_point_3d
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum ST_3DLineInterpolatePoint(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: SAMEPOINT
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMEPOINT(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:339,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:342,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:344,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:345,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:346,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:347,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:350,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:352,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:358,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:361,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:363,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:363,1
    - Dst: lwgeom_grid
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:365,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:366,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:370,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:372,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:372,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:374,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 332
    functionDepth: 7
    functionLinenumber: 332
    functionLinenumberEnd: 377
    functionName: LWGEOM_snaptogrid
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_grid
    - geometry_serialize
    - memset
    - POSTGIS_DEBUGF
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - PG_RETURN_NULL
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - lwtype_name
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_snaptogrid(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grid
    argTypes:
    - gridspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: grid_print
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwpgnotice
    linkageType: ''
    returnType: void
    signature: void grid_print(const gridspec *grid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:404,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:407,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:409,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:412,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:413,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:413,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:416,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:419,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:420,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:421,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:422,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:425,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:428,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:429,1
    - Dst: grid_print
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:432,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:438,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:441,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:443,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:443,1
    - Dst: lwgeom_grid
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:445,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:446,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:451,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:454,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:454,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:456,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 393
    functionDepth: 7
    functionLinenumber: 393
    functionLinenumberEnd: 459
    functionName: LWGEOM_snaptogrid_pointoff
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_grid
    - geometry_serialize
    - grid_print
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - POSTGIS_DEBUGF
    - lwgeom_refresh_bbox
    - lwgeom_has_m
    - PG_RETURN_NULL
    - lwgeom_has_z
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - lwtype_name
    - PG_GETARG_FLOAT8
    - getPoint4d_p
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_snaptogrid_pointoff(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:474,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:475,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:477,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:479,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:480,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:484,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:485,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:488,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:488,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:489,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:489,1
    - Dst: lwline_crossing_direction
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:491,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:493,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:494,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 469
    functionDepth: 6
    functionLinenumber: 469
    functionLinenumberEnd: 498
    functionName: ST_LineCrossingDirection
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwline_crossing_direction
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum ST_LineCrossingDirection(PG_FUNCTION_ARGS)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:511,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:512,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:513,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:517,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:521,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:522,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:527,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:528,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:533,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:534,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:539,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:539,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:541,1
    - Dst: lwline_release
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:544,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:545,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:546,1
    - Dst: ptarray_substring
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:551,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:554,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:556,1
    - Dst: lwgeom_as_lwmline
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:567,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:567,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:569,1
    - Dst: lwmline_release
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:572,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:573,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:574,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:582,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:585,1
    - Dst: ptarray_length_2d
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:594,1
    - Dst: ptarray_substring
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:617,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:622,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:627,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:639,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:643,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:644,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:647,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:648,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:649,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:650,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 652
    functionName: LWGEOM_line_substring
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwline_release
    - PG_RETURN_NULL
    - lwalloc
    - lwline_construct
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - elog
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - ptarray_substring
    - geometry_serialize
    - ptarray_length_2d
    - PG_RETURN_POINTER
    - lwgeom_as_lwmline
    - lwmline_release
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwpoint_construct
    - lwcollection_construct
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_line_substring(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:676,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:677,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:679,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:682,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:684,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:684,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:688,1
    - Dst: lwgeom_calculate_mbc
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:689,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:693,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:694,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:695,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:698,1
    - Dst: lwboundingcircle_destroy
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:701,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:702,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:705,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:706,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:708,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:709,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:711,1
    - Dst: Float8GetDatum
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:713,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:716,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:718,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 662
    functionDepth: 8
    functionLinenumber: 662
    functionLinenumberEnd: 721
    functionName: ST_MinimumBoundingRadius
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - Float8GetDatum
    - lwboundingcircle_destroy
    - PG_RETURN_NULL
    - lwpoint_construct_empty
    - lwgeom_calculate_mbc
    - gserialized_get_srid
    - BlessTupleDesc
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_DATUM
    - geometry_serialize
    - lwpgerror
    - PointerGetDatum
    - HeapTupleGetDatum
    - gserialized_is_empty
    - get_call_result_type
    - lwgeom_from_gserialized
    - heap_form_tuple
    - PG_ARGISNULL
    - lwpoint_make2d
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MinimumBoundingRadius(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:739,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:740,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:742,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:743,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:746,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:748,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:748,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:752,1
    - Dst: lwgeom_calculate_mbc
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:753,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:757,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:758,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:759,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:764,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:764,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:766,1
    - Dst: lwpoly_construct_circle
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:766,1
    - Dst: lwboundingcircle_destroy
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:768,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:769,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:772,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:773,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 730
    functionDepth: 8
    functionLinenumber: 730
    functionLinenumberEnd: 776
    functionName: ST_MinimumBoundingCircle
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_calculate_mbc
    - gserialized_get_srid
    - lwgeom_free
    - geometry_serialize
    - lwpgerror
    - lwgeom_from_gserialized
    - lwboundingcircle_destroy
    - lwpoly_as_lwgeom
    - lwpoly_construct_circle
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwpoint_as_lwgeom
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwpoint_make2d
    - lwpoint_construct_empty
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MinimumBoundingCircle(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:798,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:799,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:801,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:805,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:808,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:809,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:813,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:813,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:814,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:814,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:818,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:819,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:823,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:824,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:832,1
    - Dst: FP_MIN
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:836,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:837,1
    - Dst: FP_MIN
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:838,1
    - Dst: FP_MAX
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:844,1
    - Dst: lwgeom_median
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:848,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:849,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:853,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:854,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:857,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:857,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:859,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 785
    functionDepth: 7
    functionLinenumber: 785
    functionLinenumberEnd: 860
    functionName: ST_GeometricMedian
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - FP_MIN
    - lwgeom_free
    - geometry_serialize
    - lwpgerror
    - lwgeom_median
    - lwgeom_from_gserialized
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - FP_MAX
    - lwgeom_has_z
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GeometricMedian(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:875,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:876,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:878,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:879,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:881,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:883,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:884,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 869
    functionDepth: 6
    functionLinenumber: 869
    functionLinenumberEnd: 887
    functionName: ST_IsPolygonCW
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_is_clockwise
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_IsPolygonCW(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:902,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:903,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:905,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:906,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:907,1
    - Dst: lwgeom_is_clockwise
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:908,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:909,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:910,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_analytic.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 896
    functionDepth: 6
    functionLinenumber: 896
    functionLinenumberEnd: 913
    functionName: ST_IsPolygonCCW
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_analytic.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_reverse_in_place
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_is_clockwise
    - PG_RETURN_BOOL
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_IsPolygonCCW(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:51,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:54,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:56,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:57,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:58,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:60,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:61,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:61,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:62,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:63,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:63,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:64,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:64,1
    - Dst: flatgeobuf_agg_ctx_init
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:65,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:67,1
    - Dst: type_is_rowtype
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:70,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:70,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:71,1
    - Dst: PG_GETARG_HEAPTUPLEHEADER
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:72,1
    - Dst: flatgeobuf_agg_transfn
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:74,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:75,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: pgis_asflatgeobuf_transfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_flatgeobuf.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_TEXT_P
    - type_is_rowtype
    - get_fn_expr_argtype
    - flatgeobuf_agg_transfn
    - elog
    - postgis_initialize_cache
    - PG_ARGISNULL
    - PG_NARGS
    - PG_GETARG_BOOL
    - text_to_cstring
    - flatgeobuf_agg_ctx_init
    - AggCheckCallContext
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - PG_GETARG_HEAPTUPLEHEADER
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asflatgeobuf_transfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:87,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:88,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:90,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:91,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:93,1
    - Dst: flatgeobuf_agg_finalfn
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:94,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_flatgeobuf.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: pgis_asflatgeobuf_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_flatgeobuf.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_BYTEA_P
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - AggCheckCallContext
    - flatgeobuf_agg_finalfn
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asflatgeobuf_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_gml.c:83,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - error_code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: gml_lwpgerror
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void gml_lwpgerror(char *msg, __attribute__((__unused__)) int error_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_gml.c:107,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_gml.c:107,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_gml.c:108,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_gml.c:109,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_gml.c:110,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_in_gml.c:113,1
    - Dst: lwgeom_from_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:115,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_gml.c:119,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_gml.c:120,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_gml.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 7
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: geom_from_gml
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 1
    functionsReached:
    - geometry_serialize
    - VARSIZE_ANY_EXHDR
    - lwgeom_free
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - lwgeom_from_gml
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom_from_gml(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:140,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - gml_name
    argTypes:
    - xmlNodePtr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: is_gml_element
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_gml_element(xmlNodePtr xn, const char *gml_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlGetNsList
      Src: /src/postgis/postgis/lwgeom_in_gml.c:156,1
    - Dst: xmlStrcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:174,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:176,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:177,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:179,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:182,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - xnode
    - is_strict
    argTypes:
    - xmlNodePtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 190
    functionName: is_gml_namespace
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xmlGetNsList
    - xmlFree
    - xmlStrcmp
    linkageType: ''
    returnType: bool
    signature: bool is_gml_namespace(xmlNodePtr xnode, bool is_strict)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:202,1
    - Dst: xmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:203,1
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:209,1
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:210,1
    - Dst: xmlGetNoNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - xnode
    - charProp
    argTypes:
    - xmlNodePtr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: gmlGetProp
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - xmlGetNoNsProp
    - xmlGetProp
    - xmlGetNsProp
    - is_gml_namespace
    linkageType: ''
    returnType: xmlChar
    signature: xmlChar *gmlGetProp(xmlNodePtr xnode, const char *charProp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:227,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:229,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:231,1
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:235,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:239,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - xmlNodePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 245
    functionName: is_xlink
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xmlGetNsProp
    - xmlFree
    linkageType: ''
    returnType: bool
    signature: bool is_xlink(xmlNodePtr node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:260,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:266,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:266,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:266,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:267,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_in_gml.c:269,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:277,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:277,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:278,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_in_gml.c:280,1
    - Dst: xmlXPathNewContext
      Src: /src/postgis/postgis/lwgeom_in_gml.c:285,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:288,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:289,1
    - Dst: xmlGetNsList
      Src: /src/postgis/postgis/lwgeom_in_gml.c:294,1
    - Dst: xmlXPathRegisterNs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:295,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:296,1
    - Dst: xmlXPathEvalExpression
      Src: /src/postgis/postgis/lwgeom_in_gml.c:299,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:300,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:303,1
    - Dst: xmlXPathFreeObject
      Src: /src/postgis/postgis/lwgeom_in_gml.c:304,1
    - Dst: xmlXPathFreeContext
      Src: /src/postgis/postgis/lwgeom_in_gml.c:305,1
    - Dst: xmlXPathFreeObject
      Src: /src/postgis/postgis/lwgeom_in_gml.c:309,1
    - Dst: xmlXPathFreeContext
      Src: /src/postgis/postgis/lwgeom_in_gml.c:310,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:316,1
    - Dst: xmlStrcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:319,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:320,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:321,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:325,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - xnode
    argTypes:
    - xmlNodePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 327
    functionName: get_xlink_node
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - xmlXPathFreeContext
    - xmlGetNsProp
    - xmlGetNsList
    - xmlStrcmp
    - gml_lwpgerror
    - xmlXPathNewContext
    - xmlXPathFreeObject
    - xmlXPathEvalExpression
    - lwalloc
    - xmlFree
    - lwfree
    - xmlStrlen
    - xmlXPathRegisterNs
    - sprintf
    - gmlGetProp
    linkageType: ''
    returnType: xmlNodePtr
    signature: xmlNodePtr get_xlink_node(xmlNodePtr xnode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:347,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_gml.c:351,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_in_gml.c:352,1
    - Dst: lwproj_from_str
      Src: /src/postgis/postgis/lwgeom_in_gml.c:355,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:358,1
    - Dst: ptarray_transform
      Src: /src/postgis/postgis/lwgeom_in_gml.c:362,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_gml.c:364,1
    - Dst: proj_destroy
      Src: /src/postgis/postgis/lwgeom_in_gml.c:367,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pa
    - epsg_in
    - epsg_out
    argTypes:
    - POINTARRAY*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 371
    functionName: gml_reproject_pa
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_transform
    - snprintf
    - gml_lwpgerror
    - elog
    - lwproj_from_str
    - pfree
    - proj_destroy
    linkageType: ''
    returnType: POINTARRAY
    signature: 'POINTARRAY *

      gml_reproject_pa(POINTARRAY *pa, int32_t epsg_in, int32_t epsg_out)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SPI_connect
      Src: /src/postgis/postgis/lwgeom_in_gml.c:385,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:386,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_in_gml.c:388,1
    - Dst: SPI_exec
      Src: /src/postgis/postgis/lwgeom_in_gml.c:391,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:392,1
    - Dst: SPI_finish
      Src: /src/postgis/postgis/lwgeom_in_gml.c:397,1
    - Dst: SPI_getvalue
      Src: /src/postgis/postgis/lwgeom_in_gml.c:401,1
    - Dst: malloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:407,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:407,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_in_gml.c:408,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:411,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:415,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:416,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:423,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:428,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_in_gml.c:433,1
    - Dst: free
      Src: /src/postgis/postgis/lwgeom_in_gml.c:439,1
    - Dst: SPI_finish
      Src: /src/postgis/postgis/lwgeom_in_gml.c:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 444
    functionName: gml_is_srs_axis_order_gis_friendly
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - malloc
    - strcpy
    - SPI_finish
    - lwpgerror
    - strstr
    - SPI_exec
    - SPI_getvalue
    - SPI_connect
    - free
    - strlen
    - sprintf
    linkageType: ''
    returnType: int
    signature: int gml_is_srs_axis_order_gis_friendly(int32_t srid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:460,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:470,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:491,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:496,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:497,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:498,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:503,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:509,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:514,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:514,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_in_gml.c:516,1
    - Dst: gml_is_srs_axis_order_gis_friendly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:519,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:521,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:528,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - xnode
    - srs
    argTypes:
    - xmlNodePtr
    - gmlSrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 531
    functionName: parse_gml_srs
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 1
    functionsReached:
    - parse_gml_srs
    - gml_is_srs_axis_order_gis_friendly
    - gml_lwpgerror
    - strncmp
    - atoi
    - xmlFree
    - gmlGetProp
    - isdigit
    linkageType: ''
    returnType: void
    signature: void parse_gml_srs(xmlNodePtr xnode, gmlSrs *srs)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:561,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:565,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:571,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:576,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:582,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:587,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:589,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:591,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:595,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:597,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:601,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_gml.c:603,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 49
    argCount: 3
    argNames:
    - d
    - space_before
    - space_after
    argTypes:
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 604
    functionName: parse_gml_double
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - gml_lwpgerror
    - isspace
    - atof
    - isdigit
    linkageType: ''
    returnType: double
    signature: double parse_gml_double(char *d, bool space_before, bool space_after)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:621,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:631,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:635,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:635,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:636,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:638,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:642,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:646,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:646,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:647,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:649,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:653,1
    - Dst: xmlStrlen
      Src: /src/postgis/postgis/lwgeom_in_gml.c:657,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:657,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:658,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:660,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:664,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:667,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:669,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:673,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:681,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:683,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:684,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:696,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:699,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:702,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_gml.c:706,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:717,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 720
    functionName: parse_gml_coordinates
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - parse_gml_double
    - gml_lwpgerror
    - isspace
    - ptarray_append_point
    - xmlNodeGetContent
    - xmlFree
    - xmlStrlen
    - gmlGetProp
    - isdigit
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_gml_coordinates(xmlNodePtr xnode, bool *hasz)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:735,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:741,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:743,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:745,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:746,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:747,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:749,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:751,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:753,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:754,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:755,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:757,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:759,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:761,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:762,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:763,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:765,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:769,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_gml.c:772,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 775
    functionName: parse_gml_coord
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - parse_gml_double
    - gml_lwpgerror
    - ptarray_append_point
    - is_gml_element
    - xmlNodeGetContent
    - xmlFree
    - is_gml_namespace
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_gml_coord(xmlNodePtr xnode, bool *hasz)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:791,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:793,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:795,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_in_gml.c:799,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:800,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:802,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:807,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:809,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:816,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:822,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:824,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:826,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:832,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:837,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_gml.c:839,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 842
    functionName: parse_gml_pos
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - parse_gml_double
    - gml_lwpgerror
    - isspace
    - ptarray_append_point
    - xmlNodeGetContent
    - xmlFree
    - atoi
    - gmlGetProp
    - isdigit
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_gml_pos(xmlNodePtr xnode, bool *hasz)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:858,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:860,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_in_gml.c:864,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:865,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:866,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_gml.c:871,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:875,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:880,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_gml.c:883,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:889,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:890,1
    - Dst: parse_gml_double
      Src: /src/postgis/postgis/lwgeom_in_gml.c:891,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_gml.c:896,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:901,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:908,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 911
    functionName: parse_gml_poslist
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - parse_gml_double
    - gml_lwpgerror
    - isspace
    - ptarray_append_point
    - xmlNodeGetContent
    - xmlFree
    - atoi
    - gmlGetProp
    - isdigit
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_gml_poslist(xmlNodePtr xnode, bool *hasz)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:938,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:941,1
    - Dst: parse_gml_pos
      Src: /src/postgis/postgis/lwgeom_in_gml.c:943,1
    - Dst: ptarray_merge
      Src: /src/postgis/postgis/lwgeom_in_gml.c:945,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:948,1
    - Dst: parse_gml_poslist
      Src: /src/postgis/postgis/lwgeom_in_gml.c:950,1
    - Dst: ptarray_merge
      Src: /src/postgis/postgis/lwgeom_in_gml.c:952,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:955,1
    - Dst: parse_gml_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:957,1
    - Dst: ptarray_merge
      Src: /src/postgis/postgis/lwgeom_in_gml.c:959,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:962,1
    - Dst: parse_gml_coord
      Src: /src/postgis/postgis/lwgeom_in_gml.c:964,1
    - Dst: ptarray_merge
      Src: /src/postgis/postgis/lwgeom_in_gml.c:966,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:969,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:970,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:976,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:977,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:984,1
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:986,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:986,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:988,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:990,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:992,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:994,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:995,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:998,1
    - Dst: ptarray_merge
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1000,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1004,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 926
    functionDepth: 5
    functionLinenumber: 926
    functionLinenumberEnd: 1007
    functionName: parse_gml_data
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 1
    functionsReached:
    - parse_gml_srs
    - parse_gml_poslist
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - is_xlink
    - get_xlink_node
    - gml_reproject_pa
    - is_gml_element
    - ptarray_merge
    - parse_gml_coord
    - parse_gml_pos
    - parse_gml_coordinates
    - is_gml_namespace
    - parse_gml_data
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_gml_data(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1019,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1019,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1021,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1024,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1024,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1026,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1027,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1029,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1030,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1034,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1039,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1013
    functionDepth: 6
    functionLinenumber: 1013
    functionLinenumberEnd: 1044
    functionName: parse_gml_point
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - get_xlink_node
    - gml_reproject_pa
    - lwpoint_construct
    - lwpoint_as_lwgeom
    - is_xlink
    - lwpoint_construct_empty
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_point(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1056,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1056,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1058,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1061,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1061,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1063,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1064,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1066,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1067,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1071,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1076,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1050
    functionDepth: 6
    functionLinenumber: 1050
    functionLinenumberEnd: 1081
    functionName: parse_gml_line
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - lwline_construct_empty
    - lwline_as_lwgeom
    - get_xlink_node
    - gml_reproject_pa
    - is_xlink
    - lwline_construct
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_line(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1099,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1099,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1101,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1107,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1108,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1114,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1116,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1122,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1124,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1127,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1130,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1131,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1132,1
    - Dst: lwrealloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1135,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1138,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1141,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1144,1
    - Dst: ptarray_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1161,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1164,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1164,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1164,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1166,1
    - Dst: memcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1174,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1174,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1174,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1175,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1177,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1177,1
    - Dst: getPoint_internal
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1178,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1182,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1186,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1188,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1189,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1191,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1192,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1087
    functionDepth: 6
    functionLinenumber: 1087
    functionLinenumberEnd: 1195
    functionName: parse_gml_curve
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_gml_srs
    - ptarray_flip_coordinates
    - gml_reproject_pa
    - lwalloc
    - lwline_construct
    - parse_gml_data
    - gml_lwpgerror
    - ptarray_construct
    - lwfree
    - gmlGetProp
    - is_xlink
    - memcmp
    - get_xlink_node
    - is_gml_namespace
    - is_gml_element
    - getPoint_internal
    - lwrealloc
    - xmlFree
    - memcpy
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_curve(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1207,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1207,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1209,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1210,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1212,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1213,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1216,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1217,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1218,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1221,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1224,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1229
    functionName: parse_gml_linearring
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - ptarray_is_closed_2d
    - lwpoly_construct
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - get_xlink_node
    - gml_reproject_pa
    - lwalloc
    - is_xlink
    - ptarray_is_closed_3d
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_linearring(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1243,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1243,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1245,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1248,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1248,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1250,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1257,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1258,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1259,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1265,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1266,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1268,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1269,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1272,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1273,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1274,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1276,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1282,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1289,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1290,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1291,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1297,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1298,1
    - Dst: lwrealloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1300,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1302,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1305,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1306,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1307,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1309,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1315,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1320,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1322,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 63
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1235
    functionDepth: 6
    functionLinenumber: 1235
    functionLinenumberEnd: 1325
    functionName: parse_gml_polygon
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - ptarray_is_closed_2d
    - lwpoly_construct
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - get_xlink_node
    - gml_reproject_pa
    - lwpoly_as_lwgeom
    - is_gml_element
    - lwpoly_construct_empty
    - lwrealloc
    - lwalloc
    - is_xlink
    - ptarray_is_closed_3d
    - is_gml_namespace
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_polygon(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1339,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1339,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1341,1
    - Dst: lwtriangle_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1344,1
    - Dst: lwtriangle_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1344,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1349,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1352,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1353,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1354,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1357,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1363,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1364,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1370,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1371,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1373,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1374,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1377,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1378,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1379,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1381,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1386,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1389,1
    - Dst: lwtriangle_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1391,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 42
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1394
    functionName: parse_gml_triangle
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_gml_srs
    - ptarray_is_closed_2d
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - lwtriangle_as_lwgeom
    - get_xlink_node
    - is_gml_namespace
    - gml_reproject_pa
    - lwtriangle_construct
    - is_gml_element
    - lwtriangle_construct_empty
    - xmlFree
    - lwalloc
    - is_xlink
    - ptarray_is_closed_3d
    - gmlGetProp
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_triangle(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1410,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1411,1
    - Dst: gmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1414,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1417,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1418,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1419,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1422,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1427,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1428,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1434,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1435,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1437,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1438,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1441,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1442,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1443,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1446,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1452,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1458,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1459,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1465,1
    - Dst: lwrealloc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1467,1
    - Dst: parse_gml_data
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1469,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1472,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1473,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1474,1
    - Dst: ptarray_flip_coordinates
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1477,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1484,1
    - Dst: gml_reproject_pa
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1489,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1491,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 61
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1400
    functionDepth: 6
    functionLinenumber: 1400
    functionLinenumberEnd: 1494
    functionName: parse_gml_patch
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_gml_srs
    - ptarray_is_closed_2d
    - lwpoly_construct
    - ptarray_flip_coordinates
    - gml_lwpgerror
    - gml_reproject_pa
    - is_gml_namespace
    - is_gml_element
    - lwrealloc
    - lwalloc
    - xmlFree
    - ptarray_is_closed_3d
    - gmlGetProp
    - parse_gml_data
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_patch(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1507,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1507,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1509,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1515,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1516,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1522,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1528,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1529,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1534,1
    - Dst: parse_gml_patch
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1536,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1539,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1500
    functionDepth: 7
    functionLinenumber: 1500
    functionLinenumberEnd: 1542
    functionName: parse_gml_surface
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - gml_lwpgerror
    - get_xlink_node
    - is_gml_element
    - parse_gml_patch
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_surface(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1561,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1561,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1563,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1565,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1569,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1578,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1579,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1580,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1592,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1593,1
    - Dst: lwtin_add_lwtriangle
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1596,1
    - Dst: parse_gml_triangle
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1597,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1554
    functionDepth: 7
    functionLinenumber: 1554
    functionLinenumberEnd: 1601
    functionName: parse_gml_tin
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - lwtin_add_lwtriangle
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml_triangle
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_tin(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1613,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1613,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1615,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1617,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1621,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1630,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1631,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1635,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1637,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1640,1
    - Dst: lwmpoint_add_lwpoint
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1643,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1644,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1649
    functionName: parse_gml_mpoint
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - lwmpoint_add_lwpoint
    - parse_gml
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_mpoint(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1661,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1661,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1663,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1665,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1669,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1678,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1679,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1681,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1682,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1686
    functionName: parse_gml_mline
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - lwmline_add_lwline
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_mline(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1698,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1698,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1700,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1702,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1706,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1716,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1717,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1722,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1723,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1726,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1729,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1730,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1692
    functionDepth: 4
    functionLinenumber: 1692
    functionLinenumberEnd: 1735
    functionName: parse_gml_mcurve
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - lwmline_add_lwline
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_mcurve(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1747,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1747,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1749,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1751,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1755,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1764,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1765,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1767,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1768,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1741
    functionDepth: 4
    functionLinenumber: 1741
    functionLinenumberEnd: 1772
    functionName: parse_gml_mpoly
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - lwmpoly_add_lwpoly
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_mpoly(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1784,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1784,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1786,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1788,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1792,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1801,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1802,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1807,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1808,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1811,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1814,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1815,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1778
    functionDepth: 4
    functionLinenumber: 1778
    functionLinenumberEnd: 1820
    functionName: parse_gml_msurface
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - lwmpoly_add_lwpoly
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_msurface(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1834,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1834,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1836,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1838,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1842,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1851,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1852,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1864,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1865,1
    - Dst: lwpsurface_add_lwpoly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1867,1
    - Dst: parse_gml_patch
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1868,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1827
    functionDepth: 7
    functionLinenumber: 1827
    functionLinenumberEnd: 1872
    functionName: parse_gml_psurface
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - lwpsurface_add_lwpoly
    - parse_gml_srs
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml_patch
    - is_xlink
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_psurface(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_xlink
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1884,1
    - Dst: get_xlink_node
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1884,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1886,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1888,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1892,1
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1900,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1907,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1908,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1909,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1910,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1913,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1914,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1878
    functionDepth: 4
    functionLinenumber: 1878
    functionLinenumberEnd: 1919
    functionName: parse_gml_coll
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 0
    functionsReached:
    - parse_gml_srs
    - gml_lwpgerror
    - get_xlink_node
    - lwcollection_construct_empty
    - is_gml_element
    - parse_gml
    - is_xlink
    - is_gml_namespace
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml_coll(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlInitParser
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1934,1
    - Dst: xmlReadMemory
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1936,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1939,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1940,1
    - Dst: xmlDocGetRootElement
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1944,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1947,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1948,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1949,1
    - Dst: parse_gml
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1953,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1955,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1956,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1971,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - xml
    - xml_size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1924
    functionDepth: 4
    functionLinenumber: 1924
    functionLinenumberEnd: 1977
    functionName: lwgeom_from_gml
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 1
    functionsReached:
    - xmlInitParser
    - lwgeom_free
    - xmlDocGetRootElement
    - gml_lwpgerror
    - xmlReadMemory
    - lwgeom_force_2d
    - parse_gml
    - xmlFreeDoc
    - xmlCleanupParser
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_from_gml(const char *xml, int xml_size)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_gml_namespace
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1990,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1995,1
    - Dst: parse_gml_srs
      Src: /src/postgis/postgis/lwgeom_in_gml.c:1997,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2003,1
    - Dst: parse_gml_point
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2004,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2006,1
    - Dst: parse_gml_line
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2007,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2009,1
    - Dst: parse_gml_curve
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2010,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2012,1
    - Dst: parse_gml_linearring
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2013,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2015,1
    - Dst: parse_gml_polygon
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2016,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2018,1
    - Dst: parse_gml_triangle
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2019,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2021,1
    - Dst: parse_gml_surface
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2022,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2024,1
    - Dst: parse_gml_mpoint
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2025,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2027,1
    - Dst: parse_gml_mline
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2028,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2030,1
    - Dst: parse_gml_mcurve
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2031,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2033,1
    - Dst: parse_gml_mpoly
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2034,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2036,1
    - Dst: parse_gml_msurface
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2037,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2039,1
    - Dst: parse_gml_psurface
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2040,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2042,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2043,1
    - Dst: parse_gml_tin
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2044,1
    - Dst: is_gml_element
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2046,1
    - Dst: parse_gml_coll
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2047,1
    - Dst: gml_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_gml.c:2049,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - xnode
    - hasz
    - root_srid
    argTypes:
    - xmlNodePtr
    - bool*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 1983
    functionDepth: 8
    functionLinenumber: 1983
    functionLinenumberEnd: 2051
    functionName: parse_gml
    functionSourceFile: /src/postgis/postgis/lwgeom_in_gml.c
    functionUses: 7
    functionsReached:
    - parse_gml_srs
    - parse_gml_curve
    - parse_gml_tin
    - gml_lwpgerror
    - parse_gml_mpoly
    - parse_gml_mpoint
    - parse_gml_coll
    - parse_gml_point
    - parse_gml_triangle
    - parse_gml_linearring
    - parse_gml_polygon
    - parse_gml_surface
    - parse_gml_psurface
    - is_gml_element
    - parse_gml_msurface
    - parse_gml_mcurve
    - parse_gml_line
    - parse_gml_mline
    - is_gml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_gml(xmlNodePtr xnode, bool *hasz, int *root_srid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:113,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:113,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:114,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:115,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: gidx_copy
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - palloc
    - VARSIZE
    - memcpy
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: GIDX
    signature: 'GIDX *

      gidx_copy(GIDX *b)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/postgis/gserialized_gist_nd.c:124,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:125,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:125,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:126,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:128,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:128,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:131,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:132,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:132,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: gidx_validate
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - GIDX_SET_MAX
    - POSTGIS_DEBUGF
    - GIDX_NDIMS
    - GIDX_SET_MIN
    - gidx_to_string
    - GIDX_GET_MIN
    - Assert
    linkageType: ''
    returnType: void
    signature: void gidx_validate(GIDX *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/gserialized_gist_nd.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: gidx_is_unknown
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - VARSIZE_ANY_EXHDR
    linkageType: ''
    returnType: bool
    signature: bool gidx_is_unknown(const GIDX *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: gidx_set_unknown
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - SET_VARSIZE
    linkageType: ''
    returnType: void
    signature: void gidx_set_unknown(GIDX *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/postgis/gserialized_gist_nd.c:163,1
    - Dst: Assert
      Src: /src/postgis/postgis/gserialized_gist_nd.c:164,1
    - Dst: Assert
      Src: /src/postgis/postgis/gserialized_gist_nd.c:165,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:169,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:174,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_gist_nd.c:176,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:177,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:181,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:182,1
    - Dst: repalloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:188,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:188,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:189,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:189,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:196,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:196,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:196,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:196,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:198,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:198,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:198,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - b_union
    - b_new
    argTypes:
    - GIDX**
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: gidx_merge
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_copy
    - GIDX_SIZE
    - GIDX_GET_MAX
    - GIDX_SET_MAX
    - GIDX_NDIMS
    - gidx_is_unknown
    - repalloc
    - VARSIZE
    - GIDX_SET_MIN
    - pfree
    - Min
    - GIDX_GET_MIN
    - Max
    - SET_VARSIZE
    - Assert
    linkageType: ''
    returnType: void
    signature: void gidx_merge(GIDX **b_union, GIDX *b_new)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:208,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:210,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:210,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:211,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:212,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:212,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:213,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: gidx_volume
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - POSTGIS_DEBUGF
    - GIDX_NDIMS
    - gidx_is_unknown
    - gidx_to_string
    - GIDX_GET_MIN
    linkageType: ''
    returnType: float
    signature: float gidx_volume(GIDX *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:223,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:225,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:225,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:226,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:227,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:227,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:228,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: gidx_edge
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - POSTGIS_DEBUGF
    - GIDX_NDIMS
    - gidx_is_unknown
    - gidx_to_string
    - GIDX_GET_MIN
    linkageType: ''
    returnType: float
    signature: float gidx_edge(GIDX *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:236,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX**
    - GIDX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: gidx_dimensionality_check
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_NDIMS
    linkageType: ''
    returnType: void
    signature: void gidx_dimensionality_check(GIDX **a, GIDX **b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:252,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:256,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:260,1
    - Dst: gidx_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:261,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:263,1
    - Dst: gidx_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:264,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:266,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:266,1
    - Dst: gidx_dimensionality_check
      Src: /src/postgis/postgis/gserialized_gist_nd.c:270,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:272,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:273,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:276,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:280,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:284,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:284,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:286,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:286,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 289
    functionName: gidx_union_volume
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - gidx_volume
    - gidx_dimensionality_check
    - POSTGIS_DEBUGF
    - gidx_is_unknown
    - GIDX_NDIMS
    - elog
    - gidx_to_string
    - Min
    - POSTGIS_DEBUG
    - GIDX_GET_MIN
    - Max
    linkageType: ''
    returnType: float
    signature: float gidx_union_volume(GIDX *a, GIDX *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:299,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:303,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:307,1
    - Dst: gidx_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:308,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:310,1
    - Dst: gidx_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:311,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:313,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:313,1
    - Dst: gidx_dimensionality_check
      Src: /src/postgis/postgis/gserialized_gist_nd.c:317,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:319,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:320,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:323,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:327,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:331,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:331,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:333,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:333,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 336
    functionName: gidx_union_edge
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - gidx_volume
    - gidx_dimensionality_check
    - POSTGIS_DEBUGF
    - gidx_is_unknown
    - GIDX_NDIMS
    - elog
    - gidx_to_string
    - Min
    - POSTGIS_DEBUG
    - GIDX_GET_MIN
    - Max
    linkageType: ''
    returnType: float
    signature: float gidx_union_edge(GIDX *a, GIDX *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:345,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:349,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:353,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:353,1
    - Dst: gidx_dimensionality_check
      Src: /src/postgis/postgis/gserialized_gist_nd.c:357,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:360,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:367,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:369,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:375,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:375,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 377
    functionName: gidx_inter_volume
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - gidx_dimensionality_check
    - POSTGIS_DEBUGF
    - gidx_is_unknown
    - GIDX_NDIMS
    - elog
    - gidx_to_string
    - Min
    - POSTGIS_DEBUG
    - GIDX_GET_MIN
    - Max
    linkageType: ''
    returnType: float
    signature: float gidx_inter_volume(GIDX *a, GIDX *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:397,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:402,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:402,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:405,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:406,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:410,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:413,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:413,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:415,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:415,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:417,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 423
    functionName: gidx_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - GIDX_NDIMS
    - gidx_is_unknown
    - Min
    - POSTGIS_DEBUG
    - GIDX_GET_MIN
    linkageType: ''
    returnType: bool
    signature: bool gidx_overlaps(GIDX *a, GIDX *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:438,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:438,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:441,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:442,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:446,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:449,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:449,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:451,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:451,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:453,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 459
    functionName: gidx_contains
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 2
    functionsReached:
    - GIDX_GET_MAX
    - GIDX_NDIMS
    - gidx_is_unknown
    - Min
    - GIDX_GET_MIN
    linkageType: ''
    returnType: bool
    signature: bool gidx_contains(GIDX *a, GIDX *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:476,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:476,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:479,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:479,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:482,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:483,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:487,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:490,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:490,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:492,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:492,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:494,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:494,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 499
    functionName: gidx_equals
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MAX
    - GIDX_NDIMS
    - gidx_is_unknown
    - Min
    - GIDX_GET_MIN
    linkageType: ''
    returnType: bool
    signature: bool gidx_equals(GIDX *a, GIDX *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:514,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:518,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:519,1
    - Dst: predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:519,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:521,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:521,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - gs1
    - gs2
    - predicate
    argTypes:
    - Datum
    - Datum
    - gidx_predicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 505
    functionDepth: 8
    functionLinenumber: 505
    functionLinenumberEnd: 525
    functionName: gserialized_datum_predicate
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_gidx_p
    - POSTGIS_DEBUGF
    - gidx_to_string
    - POSTGIS_DEBUG
    - predicate
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_predicate(Datum gs1, Datum gs2, gidx_predicate
      predicate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:534,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:538,1
    - Dst: predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:538,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:540,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:540,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gidx1
    - gs2
    - predicate
    argTypes:
    - GIDX*
    - Datum
    - gidx_predicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 8
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: gserialized_datum_predicate_gidx_geom
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_gidx_p
    - POSTGIS_DEBUGF
    - gidx_to_string
    - POSTGIS_DEBUG
    - predicate
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_predicate_gidx_geom(GIDX *gidx1, Datum gs2, gidx_predicate
      predicate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:553,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:557,1
    - Dst: predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:557,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:559,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:559,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - gs1
    - gidx2
    - predicate
    argTypes:
    - Datum
    - GIDX*
    - gidx_predicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 546
    functionDepth: 8
    functionLinenumber: 546
    functionLinenumberEnd: 563
    functionName: gserialized_datum_predicate_geom_gidx
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_gidx_p
    - POSTGIS_DEBUGF
    - gidx_to_string
    - POSTGIS_DEBUG
    - predicate
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_predicate_geom_gidx(Datum gs1, GIDX *gidx2, gidx_predicate
      predicate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_nd.c:575,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:575,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:575,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:579,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:580,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:581,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:582,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:583,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:584,1
    - Dst: assert
      Src: /src/postgis/postgis/gserialized_gist_nd.c:603,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_nd.c:606,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:612,1
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_gist_nd.c:614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - a
    - b
    - m_is_time
    argTypes:
    - GIDX*
    - GIDX*
    - int
    assertStmts:
    - condition: (bmin > amax)
      pos:
        line_end: 602
        line_start: 602
        source_file: /src/postgis/postgis/gserialized_gist_nd.c
    constantsTouched: []
    func_position:
      end: 615
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 615
    functionName: gidx_distance
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - assert
    - GIDX_GET_MAX
    - POSTGIS_DEBUGF
    - GIDX_NDIMS
    - isfinite
    - Min
    - GIDX_GET_MIN
    - sqrt
    linkageType: ''
    returnType: double
    signature: double gidx_distance(const GIDX *a, const GIDX *b, int m_is_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init
      Src: /src/postgis/postgis/gserialized_gist_nd.c:624,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:628,1
    - Dst: gbox_expand
      Src: /src/postgis/postgis/gserialized_gist_nd.c:631,1
    - Dst: gserialized_set_gbox
      Src: /src/postgis/postgis/gserialized_gist_nd.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - g
    - distance
    argTypes:
    - GSERIALIZED*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 7
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: gserialized_expand
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gbox_expand
    - gbox_init
    - gserialized_set_gbox
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: GSERIALIZED
    signature: 'GSERIALIZED *

      gserialized_expand(GSERIALIZED *g, double distance)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/gserialized_gist_nd.c:647,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/gserialized_gist_nd.c:648,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/gserialized_gist_nd.c:649,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/gserialized_gist_nd.c:650,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/gserialized_gist_nd.c:655,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/gserialized_gist_nd.c:655,1
    - Dst: lwgeom_closest_line_3d
      Src: /src/postgis/postgis/gserialized_gist_nd.c:657,1
    - Dst: lwgeom_length
      Src: /src/postgis/postgis/gserialized_gist_nd.c:658,1
    - Dst: lwgeom_closest_line
      Src: /src/postgis/postgis/gserialized_gist_nd.c:662,1
    - Dst: lwgeom_length_2d
      Src: /src/postgis/postgis/gserialized_gist_nd.c:663,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/gserialized_gist_nd.c:667,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/gserialized_gist_nd.c:667,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/gserialized_gist_nd.c:674,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:677,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/gserialized_gist_nd.c:680,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/postgis/gserialized_gist_nd.c:682,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/gserialized_gist_nd.c:682,1
    - Dst: lwgeom_interpolate_point
      Src: /src/postgis/postgis/gserialized_gist_nd.c:683,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/gserialized_gist_nd.c:684,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/gserialized_gist_nd.c:689,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:692,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/gserialized_gist_nd.c:695,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/postgis/gserialized_gist_nd.c:697,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/gserialized_gist_nd.c:697,1
    - Dst: lwgeom_interpolate_point
      Src: /src/postgis/postgis/gserialized_gist_nd.c:698,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/gserialized_gist_nd.c:699,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:707,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:707,1
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_gist_nd.c:725,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/gserialized_gist_nd.c:728,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/gserialized_gist_nd.c:730,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/gserialized_gist_nd.c:731,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:732,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 733
    functionName: gserialized_distance_nd
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_has_z
    - lwgeom_closest_line
    - PG_RETURN_FLOAT8
    - sqrt
    - lwgeom_length
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - lwgeom_has_m
    - lwgeom_length_2d
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_free
    - lwgeom_interpolate_point
    - lwline_get_lwpoint
    - lwgeom_get_type
    - lwpoint_getPoint4d_p
    - lwgeom_from_gserialized
    - lwgeom_closest_line_3d
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_distance_nd(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:742,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:742,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:742,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:743,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 9
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: gserialized_within
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_within(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:755,1
    - Dst: gserialized_datum_predicate_geom_gidx
      Src: /src/postgis/postgis/gserialized_gist_nd.c:757,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:757,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:758,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 753
    functionDepth: 9
    functionLinenumber: 753
    functionLinenumberEnd: 761
    functionName: gserialized_gidx_geom_within
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_predicate_geom_gidx
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_geom_within(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_gist_nd.c:770,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:770,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:770,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:771,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: gserialized_gidx_gidx_within
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_contains
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_gidx_within(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:783,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:783,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:783,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:784,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 781
    functionDepth: 9
    functionLinenumber: 781
    functionLinenumberEnd: 787
    functionName: gserialized_contains
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contains(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:796,1
    - Dst: gserialized_datum_predicate_gidx_geom
      Src: /src/postgis/postgis/gserialized_gist_nd.c:798,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:798,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:799,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 9
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: gserialized_gidx_geom_contains
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_gidx_geom
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_geom_contains(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_gist_nd.c:811,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:811,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:811,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:812,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 815
    functionName: gserialized_gidx_gidx_contains
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_contains
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_gidx_contains(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:824,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:824,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:824,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:825,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 9
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: gserialized_same
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_same(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:833,1
    - Dst: gserialized_datum_predicate_gidx_geom
      Src: /src/postgis/postgis/gserialized_gist_nd.c:835,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:835,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:836,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 831
    functionDepth: 9
    functionLinenumber: 831
    functionLinenumberEnd: 839
    functionName: gserialized_gidx_geom_same
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_gidx_geom
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_geom_same(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_equals
      Src: /src/postgis/postgis/gserialized_gist_nd.c:848,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:848,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:848,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:849,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionName: gserialized_gidx_gidx_same
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_equals
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_gidx_same(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:861,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:861,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:861,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:862,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 859
    functionDepth: 9
    functionLinenumber: 859
    functionLinenumberEnd: 865
    functionName: gserialized_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:873,1
    - Dst: gserialized_datum_predicate_gidx_geom
      Src: /src/postgis/postgis/gserialized_gist_nd.c:875,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:875,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:876,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 871
    functionDepth: 9
    functionLinenumber: 871
    functionLinenumberEnd: 879
    functionName: gserialized_gidx_geog_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_gidx_geom
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_geog_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:884,1
    - Dst: gserialized_datum_predicate_gidx_geom
      Src: /src/postgis/postgis/gserialized_gist_nd.c:886,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:886,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:887,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 882
    functionDepth: 9
    functionLinenumber: 882
    functionLinenumberEnd: 890
    functionName: gserialized_gidx_geom_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_gidx_geom
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_geom_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_overlaps
      Src: /src/postgis/postgis/gserialized_gist_nd.c:895,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:895,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:895,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:896,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 899
    functionName: gserialized_gidx_gidx_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_overlaps
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gidx_gidx_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:914,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:921,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:929,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:930,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:933,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:934,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_nd.c:940,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:942,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:943,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:944,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:945,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:949,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:955,1
    - Dst: gidx_set_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:956,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:957,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:958,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:958,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:963,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:966,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:966,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:971,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_nd.c:973,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:973,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_nd.c:973,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:973,1
    - Dst: gidx_set_unknown
      Src: /src/postgis/postgis/gserialized_gist_nd.c:975,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:976,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:977,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:977,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:982,1
    - Dst: gidx_validate
      Src: /src/postgis/postgis/gserialized_gist_nd.c:987,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:990,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:991,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:991,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:994,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 912
    functionDepth: 8
    functionLinenumber: 912
    functionLinenumberEnd: 996
    functionName: gserialized_gist_compress
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - palloc
    - gserialized_datum_get_gidx_p
    - gidx_set_unknown
    - gidx_copy
    - GIDX_GET_MAX
    - POSTGIS_DEBUGF
    - gistentryinit
    - PointerGetDatum
    - GIDX_NDIMS
    - gidx_validate
    - isfinite
    - gidx_to_string
    - GIDX_GET_MIN
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_compress(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1005,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1007,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: gserialized_gist_decompress
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_POINTER
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_decompress(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1018,1
    - Dst: gidx_overlaps
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1023,1
    - Dst: gidx_equals
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1026,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1030,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - key
    - query
    - strategy
    argTypes:
    - GIDX*
    - GIDX*
    - StrategyNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1041
    functionName: gserialized_gist_consistent_leaf
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_overlaps
    - gidx_contains
    - gidx_equals
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_consistent_leaf(GIDX *key, GIDX *query, StrategyNumber
      strategy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1051,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1055,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1056,1
    - Dst: gidx_overlaps
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1063,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - key
    - query
    - strategy
    argTypes:
    - GIDX*
    - GIDX*
    - StrategyNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1075
    functionName: gserialized_gist_consistent_internal
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_overlaps
    - gidx_contains
    - gidx_to_string
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_consistent_internal(GIDX *key, GIDX *query, StrategyNumber
      strategy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1084,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1085,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1092,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1099,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1102,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1102,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1104,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1105,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1109,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1111,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1112,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1116,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1116,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1118,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1119,1
    - Dst: GIST_LEAF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1123,1
    - Dst: gserialized_gist_consistent_leaf
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1126,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1126,1
    - Dst: gserialized_gist_consistent_internal
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1130,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1131,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1082
    functionDepth: 8
    functionLinenumber: 1082
    functionLinenumberEnd: 1135
    functionName: gserialized_gist_consistent
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - gserialized_datum_get_gidx_p
    - gserialized_gist_consistent_leaf
    - gserialized_gist_consistent_internal
    - GIST_LEAF
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_consistent(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - realm
    argTypes:
    - float
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1168
    functionName: pack_float
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float pack_float(const float value, const uint8_t realm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1177,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1178,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1179,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1182,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1183,1
    - Dst: gidx_union_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1195,1
    - Dst: gidx_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1196,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1199,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1200,1
    - Dst: pack_float
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1204,1
    - Dst: gidx_union_edge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1208,1
    - Dst: gidx_edge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1209,1
    - Dst: pack_float
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1212,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1175
    functionDepth: 5
    functionLinenumber: 1175
    functionLinenumberEnd: 1216
    functionName: gserialized_gist_penalty
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - gidx_edge
    - PG_DETOAST_DATUM
    - gidx_volume
    - pack_float
    - gidx_union_edge
    - gidx_union_volume
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_penalty(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1224,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1225,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1229,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1233,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1235,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1239,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1240,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1243,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1245,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1245,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1248
    functionName: gserialized_gist_union
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_copy
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUGF
    - VARSIZE
    - gidx_to_string
    - POSTGIS_DEBUG
    - gidx_merge
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_union(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1256,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1257,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1258,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1260,1
    - Dst: gidx_equals
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1262,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1265
    functionName: gserialized_gist_same
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_equals
    - PG_RETURN_POINTER
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_same(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1270,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1271,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1272,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1273,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1279,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1284,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1285,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1289,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1291,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1292,1
    - Dst: GIST_LEAF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1296,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1300,1
    - Dst: gidx_distance
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1307,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1308,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1268
    functionDepth: 8
    functionLinenumber: 1268
    functionLinenumberEnd: 1311
    functionName: gserialized_gist_geog_distance
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_get_gidx_p
    - GIST_LEAF
    - POSTGIS_DEBUGF
    - PG_DETOAST_DATUM
    - elog
    - gidx_distance
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_geog_distance(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1332,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1333,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1337,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1341,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1347,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1348,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1352,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1352,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1354,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1355,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1359,1
    - Dst: gidx_distance
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1362,1
    - Dst: GIST_LEAF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1365,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1330
    functionDepth: 8
    functionLinenumber: 1330
    functionLinenumberEnd: 1369
    functionName: gserialized_gist_distance
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_get_gidx_p
    - PG_DETOAST_DATUM
    - GIST_LEAF
    - elog
    - gidx_distance
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_distance(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1379,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1382,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - list
    - box_union
    - box_current
    - pos
    - num
    argTypes:
    - OffsetNumber*
    - GIDX**
    - GIDX*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1375
    functionDepth: 3
    functionLinenumber: 1375
    functionLinenumberEnd: 1388
    functionName: gserialized_gist_picksplit_addlist
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_copy
    - pfree
    - gidx_merge
    linkageType: ''
    returnType: void
    signature: void gserialized_gist_picksplit_addlist(OffsetNumber *list, GIDX **box_union,
      GIDX *box_current, int *pos, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1402
    functionName: gserialized_gist_picksplit_badratio
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: int
    signature: int gserialized_gist_picksplit_badratio(int x, int y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_gist_picksplit_badratio
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - dims
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1414
    functionName: gserialized_gist_picksplit_badratios
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gserialized_gist_picksplit_badratio
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_picksplit_badratios(int *pos, int dims)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1428,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1433,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1434,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1437,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1439,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1445,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1447,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1454,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1456,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1462,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1462,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1464,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1467,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1467,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - entryvec
    - v
    argTypes:
    - GistEntryVector*
    - GIST_SPLITVEC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1471
    functionName: gserialized_gist_picksplit_fallback
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - palloc
    - gidx_copy
    - OffsetNumberNext
    - PG_DETOAST_DATUM
    - PointerGetDatum
    - POSTGIS_DEBUG
    - gidx_merge
    linkageType: ''
    returnType: void
    signature: void gserialized_gist_picksplit_fallback(GistEntryVector *entryvec,
      GIST_SPLITVEC *v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1484,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1490,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1491,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1492,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1493,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1496,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1496,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1497,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1497,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1498,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1498,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1499,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1499,1
    - Dst: gidx_inter_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1501,1
    - Dst: gidx_inter_volume
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1502,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1504,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1514,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1521,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1521,1
    - Dst: DirectFunctionCall3
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1522,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1523,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1524,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1525,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1526,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1526,1
    - Dst: DirectFunctionCall3
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1527,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1528,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1529,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1530,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1532,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1539,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1548,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1548,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1549,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1551,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1551,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1552,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1561,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1561,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1562,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1564,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1564,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 7
    argNames:
    - v
    - list1
    - nlist1
    - union1
    - list2
    - nlist2
    - union2
    argTypes:
    - GIST_SPLITVEC*
    - OffsetNumber*
    - int
    - GIDX**
    - OffsetNumber*
    - int
    - GIDX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1569
    functionName: gserialized_gist_picksplit_constructsplit
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_copy
    - gidx_inter_volume
    - PG_DETOAST_DATUM
    - POSTGIS_DEBUGF
    - gistentryinit
    - PointerGetDatum
    - DirectFunctionCall3
    - POSTGIS_DEBUG
    - gidx_merge
    linkageType: ''
    returnType: void
    signature: "void gserialized_gist_picksplit_constructsplit(GIST_SPLITVEC *v,\n\t\t\t\t\t
      \ OffsetNumber *list1,\n\t\t\t\t\t  int nlist1,\n\t\t\t\t\t  GIDX **union1,\n\t\t\t\t\t
      \ OffsetNumber *list2,\n\t\t\t\t\t  int nlist2,\n\t\t\t\t\t  GIDX **union2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1572
    functionName: BELOW
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BELOW(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1573
    functionName: ABOVE
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABOVE(d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1585,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1587,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1603,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1610,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1611,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1614,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1614,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1616,1
    - Dst: gidx_equals
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1618,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1621,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1624,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1624,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1629,1
    - Dst: gserialized_gist_picksplit_fallback
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1630,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1631,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1636,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1637,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1638,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1639,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1640,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1643,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1643,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1644,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1644,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1645,1
    - Dst: gidx_new
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1645,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1646,1
    - Dst: gidx_new
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1646,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1647,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1648,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1656,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1657,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1659,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1663,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1663,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1664,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1664,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1665,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1666,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1666,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1666,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1668,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1669,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1669,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1669,1
    - Dst: gserialized_gist_picksplit_badratios
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1680,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1686,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1691,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1693,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1695,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1697,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1697,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1702,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1702,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1703,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1707,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1710,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1714,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1714,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1716,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1717,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1717,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1717,1
    - Dst: FPeq
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1718,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1719,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1719,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1720,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1720,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1721,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1723,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1726,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1726,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1727,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1729,1
    - Dst: gserialized_gist_picksplit_addlist
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1732,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1733,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1733,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1733,1
    - Dst: gserialized_gist_picksplit_badratios
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1738,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1740,1
    - Dst: gserialized_gist_picksplit_fallback
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1742,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1743,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1756,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1756,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1756,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1764,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1766,1
    - Dst: gserialized_gist_picksplit_constructsplit
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1768,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1769,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1770,1
    - Dst: BELOW
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1771,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1772,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1773,1
    - Dst: ABOVE
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1774,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1776,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1776,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1777,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1777,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1779,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1783,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1784,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1785,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1786,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1787,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1788,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1790,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1582
    functionDepth: 5
    functionLinenumber: 1582
    functionLinenumberEnd: 1791
    functionName: gserialized_gist_picksplit
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_new
    - BELOW
    - gserialized_gist_picksplit_fallback
    - GIDX_NDIMS
    - FPeq
    - gidx_equals
    - gidx_to_string
    - Max
    - gidx_merge
    - OffsetNumberNext
    - gserialized_gist_picksplit_constructsplit
    - ABOVE
    - elog
    - gidx_copy
    - POSTGIS_DEBUGF
    - GIDX_GET_MIN
    - PG_RETURN_POINTER
    - palloc
    - GIDX_GET_MAX
    - PG_DETOAST_DATUM
    - gserialized_gist_picksplit_badratios
    - gserialized_gist_picksplit_addlist
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_picksplit(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1800,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1800,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1800,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1802
    functionName: gidx_in
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - ereport
    - PG_RETURN_POINTER
    - errcode
    - errmsg
    linkageType: ''
    returnType: Datum
    signature: Datum gidx_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1807,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1808,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/gserialized_gist_nd.c:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1810
    functionName: gidx_out
    functionSourceFile: /src/postgis/postgis/gserialized_gist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gidx_to_string
    - PG_RETURN_CSTRING
    linkageType: ''
    returnType: Datum
    signature: Datum gidx_out(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:91,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:92,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:93,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:94,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:95,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:97,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:98,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:103,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:104,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:105,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:107,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:109,1
    - Dst: makeStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:112,1
    - Dst: composite_to_geojson
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:114,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:116,1
    - Dst: cstring_to_text_with_len
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 117
    functionName: ST_AsGeoJsonRow
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_TEXT_P
    - postgis_oid
    - cstring_to_text_with_len
    - makeStringInfo
    - PG_GETARG_BOOL
    - PG_GETARG_INT32
    - postgis_initialize_cache
    - text_to_cstring
    - composite_to_geojson
    - strlen
    - PG_RETURN_TEXT_P
    - PG_GETARG_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AsGeoJsonRow(PG_FUNCTION_ARGS)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: makeStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:142,1
    - Dst: makeStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:143,1
    - Dst: DatumGetHeapTupleHeader
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:149,1
    - Dst: HeapTupleHeaderGetTypeId
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:152,1
    - Dst: HeapTupleHeaderGetTypMod
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:153,1
    - Dst: lookup_rowtype_tupdesc
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:154,1
    - Dst: HeapTupleHeaderGetDatumLength
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:157,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:161,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:170,1
    - Dst: NameStr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:177,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:180,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:185,1
    - Dst: heap_getattr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:192,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:195,1
    - Dst: TextDatumGetCString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:198,1
    - Dst: CallerFInfoFunctionCall2
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:198,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:202,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:206,1
    - Dst: heap_getattr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:213,1
    - Dst: json_categorize_type
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:221,1
    - Dst: datum_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:223,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:228,1
    - Dst: escape_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:231,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:232,1
    - Dst: heap_getattr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:234,1
    - Dst: json_categorize_type
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:242,1
    - Dst: datum_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:244,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:249,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:250,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:251,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:256,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:257,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:258,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:260,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:261,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:264,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:265,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:267,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:268,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 9
    argNames:
    - fcinfo
    - composite
    - geom_column_name
    - id_column_name
    - maxdecimaldigits
    - result
    - use_line_feeds
    - geom_oid
    - geog_oid
    argTypes:
    - FunctionCallInfo
    - Datum
    - char*
    - char*
    - int32
    - StringInfo
    - bool
    - Oid
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 269
    functionName: composite_to_geojson
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - strcmp
    - json_categorize_type
    - heap_getattr
    - HeapTupleHeaderGetTypeId
    - DatumGetHeapTupleHeader
    - escape_json
    - errcode
    - appendStringInfoString
    - makeStringInfo
    - HeapTupleHeaderGetTypMod
    - ereport
    - TupleDescAttr
    - appendStringInfo
    - CallerFInfoFunctionCall2
    - errmsg
    - lookup_rowtype_tupdesc
    - datum_to_json
    - ReleaseTupleDesc
    - TextDatumGetCString
    - HeapTupleHeaderGetDatumLength
    - Int32GetDatum
    - NameStr
    linkageType: ''
    returnType: void
    signature: "void composite_to_geojson(FunctionCallInfo fcinfo,\n\t\t     Datum
      composite,\n\t\t     char *geom_column_name,\n\t\t     char *id_column_name,\n\t\t
      \    int32 maxdecimaldigits,\n\t\t     StringInfo result,\n\t\t     bool use_line_feeds,\n\t\t
      \    Oid geom_oid,\n\t\t     Oid geog_oid)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getBaseType
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:295,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:317,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:335,1
    - Dst: OidIsValid
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:341,1
    - Dst: get_element_type
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:341,1
    - Dst: type_is_rowtype
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:344,1
    - Dst: find_coercion_pathway
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:356,1
    - Dst: OidIsValid
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:359,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:367,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:373,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - typoid
    - tcategory
    - outfuncoid
    argTypes:
    - Oid
    - JsonTypeCategory*
    - Oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 378
    functionName: json_categorize_type
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - getBaseType
    - type_is_rowtype
    - get_element_type
    - OidIsValid
    - find_coercion_pathway
    - getTypeOutputInfo
    linkageType: ''
    returnType: void
    signature: "void json_categorize_type(Oid typoid,\n\t\t\t\t\t JsonTypeCategory
      *tcategory,\n\t\t\t\t\t Oid *outfuncoid)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: check_stack_depth
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:397,1
    - Dst: Assert
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:400,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:404,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:413,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:414,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:415,1
    - Dst: array_to_json_internal
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:420,1
    - Dst: composite_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:423,1
    - Dst: DatumGetBool
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:426,1
    - Dst: escape_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:428,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:430,1
    - Dst: OidOutputFunctionCall
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:433,1
    - Dst: IsValidJsonNumber
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:439,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:439,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:440,1
    - Dst: escape_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:442,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:443,1
    - Dst: postgis_JsonEncodeDateTime
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:449,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:450,1
    - Dst: postgis_JsonEncodeDateTime
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:457,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:458,1
    - Dst: postgis_JsonEncodeDateTime
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:465,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:466,1
    - Dst: OidOutputFunctionCall
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:471,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:472,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:473,1
    - Dst: DatumGetTextPP
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:477,1
    - Dst: OidFunctionCall1
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:477,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:478,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:479,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:480,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:481,1
    - Dst: OidOutputFunctionCall
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:484,1
    - Dst: escape_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:485,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:486,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 6
    argNames:
    - val
    - is_null
    - result
    - tcategory
    - outfuncoid
    - key_scalar
    argTypes:
    - Datum
    - bool
    - StringInfo
    - JsonTypeCategory
    - Oid
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 489
    functionName: datum_to_json
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - IsValidJsonNumber
    - postgis_JsonEncodeDateTime
    - DatumGetBool
    - OidOutputFunctionCall
    - escape_json
    - errcode
    - appendStringInfoString
    - text_to_cstring
    - strlen
    - composite_to_json
    - ereport
    - check_stack_depth
    - appendStringInfo
    - pfree
    - errmsg
    - DatumGetTextPP
    - Assert
    - OidFunctionCall1
    - array_to_json_internal
    linkageType: ''
    returnType: void
    signature: "void datum_to_json(Datum val, bool is_null, StringInfo result,\n\t\t\t
      \ JsonTypeCategory tcategory, Oid outfuncoid,\n\t\t\t  bool key_scalar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetArrayTypeP
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:497,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:498,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:511,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:512,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:513,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:517,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:521,1
    - Dst: json_categorize_type
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:524,1
    - Dst: deconstruct_array
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:527,1
    - Dst: array_dim_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:531,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:534,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - array
    - result
    - use_line_feeds
    argTypes:
    - Datum
    - StringInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: array_to_json_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - array_dim_to_json
    - ARR_DIMS
    - appendStringInfoString
    - json_categorize_type
    - ARR_NDIM
    - ARR_ELEMTYPE
    - pfree
    - DatumGetArrayTypeP
    - deconstruct_array
    - get_typlenbyvalalign
    - ArrayGetNItems
    linkageType: ''
    returnType: void
    signature: void array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetHeapTupleHeader
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:556,1
    - Dst: HeapTupleHeaderGetTypeId
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:559,1
    - Dst: HeapTupleHeaderGetTypMod
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:560,1
    - Dst: lookup_rowtype_tupdesc
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:561,1
    - Dst: HeapTupleHeaderGetDatumLength
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:564,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:568,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:577,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:583,1
    - Dst: NameStr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:586,1
    - Dst: escape_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:587,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:588,1
    - Dst: heap_getattr
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:590,1
    - Dst: json_categorize_type
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:598,1
    - Dst: datum_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:600,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:603,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - composite
    - result
    - use_line_feeds
    argTypes:
    - Datum
    - StringInfo
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 605
    functionName: composite_to_json
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - datum_to_json
    - appendStringInfoString
    - TupleDescAttr
    - json_categorize_type
    - heap_getattr
    - HeapTupleHeaderGetTypMod
    - appendStringInfoChar
    - ReleaseTupleDesc
    - escape_json
    - HeapTupleHeaderGetTypeId
    - DatumGetHeapTupleHeader
    - HeapTupleHeaderGetDatumLength
    - NameStr
    - lookup_rowtype_tupdesc
    linkageType: ''
    returnType: void
    signature: void composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:620,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:624,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:629,1
    - Dst: datum_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:633,1
    - Dst: array_dim_to_json
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:643,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 10
    argNames:
    - result
    - dim
    - ndims
    - dims
    - vals
    - nulls
    - valcount
    - tcategory
    - outfuncoid
    - use_line_feeds
    argTypes:
    - StringInfo
    - int
    - int
    - int*
    - Datum*
    - bool*
    - int*
    - JsonTypeCategory
    - Oid
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 649
    functionName: array_dim_to_json
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 2
    functionsReached:
    - array_dim_to_json
    - datum_to_json
    - appendStringInfoString
    - appendStringInfoChar
    - Assert
    linkageType: ''
    returnType: void
    signature: "void array_dim_to_json(StringInfo result, int dim, int ndims, int
      *dims, Datum *vals,\n\t\t\t\t  bool *nulls, int *valcount, JsonTypeCategory
      tcategory,\n\t\t\t\t  Oid outfuncoid, bool use_line_feeds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - time
    - tm
    - fsec
    argTypes:
    - TimeADT
    - struct pg_tm*
    - fsec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: postgis_time2tm
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int postgis_time2tm(TimeADT time, struct pg_tm *tm, fsec_t *fsec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - time
    - tm
    - fsec
    - tzp
    argTypes:
    - TimeTzADT*
    - struct pg_tm*
    - fsec_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 680
    functionName: postgis_timetz2tm
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int postgis_timetz2tm(TimeTzADT *time, struct pg_tm *tm, fsec_t *fsec,
      int *tzp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:686,1
    - Dst: DatumGetDateADT
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:695,1
    - Dst: DATE_NOT_FINITE
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:698,1
    - Dst: EncodeSpecialDate
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:699,1
    - Dst: j2date
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:702,1
    - Dst: EncodeDateOnly
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:704,1
    - Dst: DatumGetTimeADT
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:710,1
    - Dst: postgis_time2tm
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:716,1
    - Dst: EncodeTimeOnly
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:717,1
    - Dst: DatumGetTimeTzADTP
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:722,1
    - Dst: postgis_timetz2tm
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:729,1
    - Dst: EncodeTimeOnly
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:730,1
    - Dst: DatumGetTimestamp
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:739,1
    - Dst: TIMESTAMP_NOT_FINITE
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:741,1
    - Dst: EncodeSpecialTimestamp
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:742,1
    - Dst: timestamp2tm
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:743,1
    - Dst: EncodeDateTime
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:744,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:746,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:747,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:748,1
    - Dst: DatumGetTimestampTz
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:759,1
    - Dst: TIMESTAMP_NOT_FINITE
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:761,1
    - Dst: EncodeSpecialTimestamp
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:762,1
    - Dst: timestamp2tm
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:763,1
    - Dst: EncodeDateTime
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:764,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:766,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:767,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:768,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_geojson.c:772,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - buf
    - value
    - typid
    argTypes:
    - char*
    - Datum
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 777
    functionName: postgis_JsonEncodeDateTime
    functionSourceFile: /src/postgis/postgis/lwgeom_out_geojson.c
    functionUses: 1
    functionsReached:
    - DatumGetDateADT
    - postgis_timetz2tm
    - j2date
    - timestamp2tm
    - postgis_time2tm
    - DATE_NOT_FINITE
    - errcode
    - elog
    - DatumGetTimestamp
    - EncodeTimeOnly
    - EncodeDateOnly
    - EncodeDateTime
    - ereport
    - DatumGetTimeTzADTP
    - EncodeSpecialDate
    - errmsg
    - EncodeSpecialTimestamp
    - palloc
    - TIMESTAMP_NOT_FINITE
    - DatumGetTimeADT
    - DatumGetTimestampTz
    linkageType: ''
    returnType: char
    signature: 'char *

      postgis_JsonEncodeDateTime(char *buf, Datum value, Oid typid)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CALLED_AS_TRIGGER
      Src: /src/postgis/postgis/lwgeom_triggers.c:57,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:58,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:65,1
    - Dst: TRIGGER_FIRED_BY_UPDATE
      Src: /src/postgis/postgis/lwgeom_triggers.c:70,1
    - Dst: TRIGGER_FIRED_BY_DELETE
      Src: /src/postgis/postgis/lwgeom_triggers.c:76,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:78,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_triggers.c:79,1
    - Dst: TRIGGER_FIRED_AFTER
      Src: /src/postgis/postgis/lwgeom_triggers.c:81,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:83,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_triggers.c:84,1
    - Dst: TRIGGER_FIRED_FOR_STATEMENT
      Src: /src/postgis/postgis/lwgeom_triggers.c:86,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:88,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_triggers.c:89,1
    - Dst: SPI_connect
      Src: /src/postgis/postgis/lwgeom_triggers.c:95,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:96,1
    - Dst: SPI_fnumber
      Src: /src/postgis/postgis/lwgeom_triggers.c:99,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:101,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_triggers.c:105,1
    - Dst: SPI_gettype
      Src: /src/postgis/postgis/lwgeom_triggers.c:105,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_triggers.c:106,1
    - Dst: SPI_getbinval
      Src: /src/postgis/postgis/lwgeom_triggers.c:109,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_triggers.c:113,1
    - Dst: SPI_modifytuple
      Src: /src/postgis/postgis/lwgeom_triggers.c:114,1
    - Dst: SPI_finish
      Src: /src/postgis/postgis/lwgeom_triggers.c:119,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_triggers.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 122
    functionName: cache_bbox
    functionSourceFile: /src/postgis/postgis/lwgeom_triggers.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TRIGGER_FIRED_BY_UPDATE
    - SPI_finish
    - CALLED_AS_TRIGGER
    - PointerGetDatum
    - TRIGGER_FIRED_FOR_STATEMENT
    - elog
    - TRIGGER_FIRED_BY_DELETE
    - SPI_connect
    - TRIGGER_FIRED_AFTER
    - SPI_gettype
    - SPI_getbinval
    - DirectFunctionCall1
    - SPI_fnumber
    - SPI_modifytuple
    linkageType: ''
    returnType: Datum
    signature: Datum cache_bbox(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:41,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - error_code
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: geohash_lwpgerror
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geohash.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void geohash_lwpgerror(char *msg, __attribute__((__unused__)) int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:52,1
    - Dst: geohash_lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:56,1
    - Dst: decode_geohash_bbox
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:59,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:61,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:62,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:64,1
    - Dst: lwflags
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:64,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - geohash
    - precision
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: parse_geohash
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geohash.c
    functionUses: 0
    functionsReached:
    - geohash_lwpgerror
    - POSTGIS_DEBUGF
    - decode_geohash_bbox
    - lwflags
    - POSTGIS_DEBUG
    - gbox_new
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      parse_geohash(char *geohash, int precision)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:84,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:86,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:89,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:91,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:94,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:95,1
    - Dst: parse_geohash
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:97,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: box2d_from_geohash
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geohash.c
    functionUses: 0
    functionsReached:
    - parse_geohash
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum box2d_from_geohash(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:113,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:115,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:118,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:120,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:123,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:124,1
    - Dst: parse_geohash
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:126,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:131,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:132,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:134,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_geohash.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 103
    functionDepth: 7
    functionLinenumber: 103
    functionLinenumberEnd: 137
    functionName: point_from_geohash
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geohash.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - parse_geohash
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - lwfree
    - PG_GETARG_TEXT_P
    - lwpoint_make2d
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum point_from_geohash(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/lwgeom_box3d.c:57,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:59,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_box3d.c:63,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_box3d.c:65,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box3d.c:66,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:67,1
    - Dst: sscanf
      Src: /src/postgis/postgis/lwgeom_box3d.c:70,1
    - Dst: sscanf
      Src: /src/postgis/postgis/lwgeom_box3d.c:80,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_box3d.c:83,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box3d.c:84,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:87,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 111
    functionName: BOX3D_in
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_CSTRING
    - strstr
    - elog
    - PG_RETURN_NULL
    - pfree
    - sscanf
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_in(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:122,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:130,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_box3d.c:131,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/lwgeom_box3d.c:132,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:135,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:142,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:144,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:146,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:148,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:150,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box3d.c:152,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/lwgeom_box3d.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 157
    functionName: BOX3D_out
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - lwprint_double
    - strcat
    - PG_RETURN_CSTRING
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_out(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:162,1
    - Dst: box3d_to_gbox
      Src: /src/postgis/postgis/lwgeom_box3d.c:163,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: BOX3D_to_BOX2D
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - box3d_to_gbox
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_to_BOX2D(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - box
    - out
    argTypes:
    - BOX3D*
    - BOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: box3d_to_box_p
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box3d_to_box_p(BOX3D *box, BOX *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:183,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:184,1
    - Dst: box3d_to_box_p
      Src: /src/postgis/postgis/lwgeom_box3d.c:186,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: BOX3D_to_BOX
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_POINTER
    - palloc
    - box3d_to_box_p
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_to_BOX(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:193,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_box3d.c:210,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_box3d.c:215,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_box3d.c:220,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:222,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:222,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:223,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_box3d.c:230,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_box3d.c:235,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_box3d.c:239,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:241,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:241,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:242,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:256,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:257,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:257,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:258,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:272,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:273,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:273,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:274,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:288,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:289,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:289,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:290,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:297,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:311,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:312,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:314,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:315,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:317,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:318,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:320,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:321,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:323,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:324,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box3d.c:326,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box3d.c:327,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_box3d.c:329,1
    - Dst: FLAGS_SET_SOLID
      Src: /src/postgis/postgis/lwgeom_box3d.c:331,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box3d.c:333,1
    - Dst: lwcollection_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:334,1
    - Dst: gserialized_set_srid
      Src: /src/postgis/postgis/lwgeom_box3d.c:337,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:339,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 191
    functionDepth: 7
    functionLinenumber: 191
    functionLinenumberEnd: 340
    functionName: BOX3D_to_LWGEOM
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_set_srid
    - lwline_as_lwgeom
    - ptarray_append_point
    - lwalloc
    - lwline_construct
    - lwpoly_construct_rectangle
    - lwpoly_free
    - lwcollection_free
    - lwpoint_free
    - geometry_serialize
    - lwpoly_as_lwgeom
    - lwline_free
    - PG_RETURN_POINTER
    - ptarray_construct_empty
    - lwpoint_construct
    - lwpoint_as_lwgeom
    - lwcollection_construct
    - FLAGS_SET_SOLID
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_to_LWGEOM(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - box
    - d
    argTypes:
    - BOX3D*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: expand_box3d
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expand_box3d(BOX3D *box, double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - box
    - dx
    - dy
    - dz
    argTypes:
    - BOX3D*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: expand_box3d_xyz
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expand_box3d_xyz(BOX3D *box, double dx, double dy, double dz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:369,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:370,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box3d.c:371,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_box3d.c:373,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:376,1
    - Dst: expand_box3d
      Src: /src/postgis/postgis/lwgeom_box3d.c:377,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:381,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:382,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:383,1
    - Dst: expand_box3d_xyz
      Src: /src/postgis/postgis/lwgeom_box3d.c:385,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: BOX3D_expand
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - expand_box3d_xyz
    - PG_NARGS
    - expand_box3d
    - PG_GETARG_FLOAT8
    - memcpy
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_expand(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:400,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box3d.c:401,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_box3d.c:404,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:407,1
    - Dst: box3d_from_gbox
      Src: /src/postgis/postgis/lwgeom_box3d.c:409,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:412,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 398
    functionDepth: 7
    functionLinenumber: 398
    functionLinenumberEnd: 414
    functionName: LWGEOM_to_BOX3D
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - box3d_from_gbox
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_BOX3D(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:419,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:420,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: BOX3D_xmin
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_FLOAT8
    - Min
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_xmin(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:426,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:427,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: BOX3D_ymin
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_FLOAT8
    - Min
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_ymin(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:433,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:434,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: BOX3D_zmin
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_FLOAT8
    - Min
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_zmin(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:440,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:441,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: BOX3D_xmax
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - Max
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_xmax(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:447,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:448,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: BOX3D_ymax
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - Max
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_ymax(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:454,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:455,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: BOX3D_zmax
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - Max
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_zmax(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:466,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:467,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_box3d.c:467,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box3d.c:467,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:477,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:482,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box3d.c:483,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:484,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box3d.c:491,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_box3d.c:493,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_box3d.c:494,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_box3d.c:499,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:502,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:503,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box3d.c:504,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:505,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_box3d.c:511,1
    - Dst: box3d_from_gbox
      Src: /src/postgis/postgis/lwgeom_box3d.c:512,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:514,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:517,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:518,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:519,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:520,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:521,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:522,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:523,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_box3d.c:526,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 528
    functionName: BOX3D_combine
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - lwgeom_free
    - PG_FREE_IF_COPY
    - box3d_from_gbox
    - PG_DETOAST_DATUM
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - Min
    - PG_GETARG_DATUM
    - Max
    - memcpy
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_combine(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:533,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:533,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:534,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:534,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:538,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:541,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:544,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:546,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:547,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:548,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box3d.c:549,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:550,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:551,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box3d.c:552,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 556
    functionName: BOX3D_combine_BOX3D
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - Min
    - Max
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_combine_BOX3D(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:561,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:562,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box3d.c:563,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box3d.c:567,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box3d.c:568,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box3d.c:572,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:573,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_box3d.c:576,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_box3d.c:576,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box3d.c:577,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box3d.c:578,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_box3d.c:581,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/postgis/lwgeom_box3d.c:583,1
    - Dst: getPoint3dz_p
      Src: /src/postgis/postgis/lwgeom_box3d.c:584,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box3d.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 559
    functionDepth: 6
    functionLinenumber: 559
    functionLinenumberEnd: 597
    functionName: BOX3D_construct
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - palloc
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - getPoint3dz_p
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX3D_construct(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: BOX3D_contains_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_contains_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:617,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:618,1
    - Dst: BOX3D_contains_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:619,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: BOX3D_contains
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_contains_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_contains(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BOX3D_contains_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: BOX3D_contained_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_contains_internal
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_contained_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:634,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:635,1
    - Dst: BOX3D_contained_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:636,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: BOX3D_contained
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_contained_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_contained(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: BOX3D_overlaps_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overlaps_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:653,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:654,1
    - Dst: BOX3D_overlaps_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:655,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: BOX3D_overlaps
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_overlaps_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:663,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:663,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:664,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:664,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:665,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box3d.c:665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: BOX3D_same_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - FPeq
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_same_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:672,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:673,1
    - Dst: BOX3D_same_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:674,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: BOX3D_same
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    - BOX3D_same_internal
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_same(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: BOX3D_left_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_left_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:689,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:690,1
    - Dst: BOX3D_left_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:691,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: BOX3D_left
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_left_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_left(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 700
    functionName: BOX3D_overleft_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overleft_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:706,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:707,1
    - Dst: BOX3D_overleft_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:708,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: BOX3D_overleft
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - BOX3D_overleft_internal
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overleft(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: BOX3D_right_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_right_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:723,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:724,1
    - Dst: BOX3D_right_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:725,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 727
    functionName: BOX3D_right
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - BOX3D_right_internal
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_right(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 734
    functionName: BOX3D_overright_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overright_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:740,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:741,1
    - Dst: BOX3D_overright_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:742,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 744
    functionName: BOX3D_overright
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - BOX3D_overright_internal
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overright(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 751
    functionName: BOX3D_below_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_below_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:757,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:758,1
    - Dst: BOX3D_below_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:759,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: BOX3D_below
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_below_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_below(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: BOX3D_overbelow_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overbelow_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:774,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:775,1
    - Dst: BOX3D_overbelow_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:776,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: BOX3D_overbelow
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_overbelow_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overbelow(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: BOX3D_above_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_above_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:791,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:792,1
    - Dst: BOX3D_above_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:793,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 795
    functionName: BOX3D_above
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    - BOX3D_above_internal
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_above(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 802
    functionName: BOX3D_overabove_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overabove_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:808,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:809,1
    - Dst: BOX3D_overabove_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:810,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: BOX3D_overabove
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_overabove_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overabove(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: BOX3D_front_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_front_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:825,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:826,1
    - Dst: BOX3D_front_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:827,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: BOX3D_front
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_front_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_front(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: BOX3D_overfront_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overfront_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:842,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:843,1
    - Dst: BOX3D_overfront_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:844,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 846
    functionName: BOX3D_overfront
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_BOX3D_P
    - BOX3D_overfront_internal
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overfront(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: BOX3D_back_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_back_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:859,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:860,1
    - Dst: BOX3D_back_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:861,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 863
    functionName: BOX3D_back
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_back_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_back(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: BOX3D_overback_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BOX3D_overback_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:876,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:877,1
    - Dst: BOX3D_overback_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:878,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box3d.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: BOX3D_overback
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_overback_internal
    - PG_GETARG_BOX3D_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_overback(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BOX3D_overlaps_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:889,1
    - Dst: sqrt
      Src: /src/postgis/postgis/lwgeom_box3d.c:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - box1
    - box2
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 927
    functionName: BOX3D_distance_internal
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_overlaps_internal
    - sqrt
    linkageType: ''
    returnType: double
    signature: double BOX3D_distance_internal(BOX3D *box1, BOX3D *box2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:933,1
    - Dst: PG_GETARG_BOX3D_P
      Src: /src/postgis/postgis/lwgeom_box3d.c:934,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box3d.c:935,1
    - Dst: BOX3D_distance_internal
      Src: /src/postgis/postgis/lwgeom_box3d.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 931
    functionDepth: 2
    functionLinenumber: 931
    functionLinenumberEnd: 936
    functionName: BOX3D_distance
    functionSourceFile: /src/postgis/postgis/lwgeom_box3d.c
    functionUses: 0
    functionsReached:
    - BOX3D_distance_internal
    - PG_RETURN_FLOAT8
    - PG_GETARG_BOX3D_P
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT BOX3D_distance(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_accum.c:75,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_accum.c:79,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_accum.c:80,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_accum.c:81,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_accum.c:83,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_accum.c:86,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:90,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_accum.c:92,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_accum.c:92,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/postgis/lwgeom_accum.c:94,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:101,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_accum.c:102,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_accum.c:103,1
    - Dst: datumCopy
      Src: /src/postgis/postgis/lwgeom_accum.c:104,1
    - Dst: get_typbyval
      Src: /src/postgis/postgis/lwgeom_accum.c:104,1
    - Dst: get_typlen
      Src: /src/postgis/postgis/lwgeom_accum.c:104,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_accum.c:105,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:110,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:113,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_accum.c:114,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_accum.c:116,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:116,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_accum.c:118,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_accum.c:124,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/postgis/lwgeom_accum.c:126,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_accum.c:126,1
    - Dst: lappend
      Src: /src/postgis/postgis/lwgeom_accum.c:130,1
    - Dst: list_make1
      Src: /src/postgis/postgis/lwgeom_accum.c:132,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_accum.c:134,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 137
    functionName: pgis_geometry_accum_transfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lappend
    - MemoryContextAlloc
    - list_make1
    - PG_GETARG_DATUM
    - errcode
    - get_fn_expr_argtype
    - elog
    - get_typlen
    - AggCheckCallContext
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - ereport
    - PG_NARGS
    - errmsg
    - get_typbyval
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - lwgeom_clone_deep
    - MemoryContextSwitchTo
    - datumCopy
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_accum_transfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/postgis/postgis/lwgeom_accum.c:162,1
    - Dst: IsA
      Src: /src/postgis/postgis/lwgeom_accum.c:163,1
    - Dst: IsA
      Src: /src/postgis/postgis/lwgeom_accum.c:164,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_accum.c:168,1
    - Dst: list_length
      Src: /src/postgis/postgis/lwgeom_accum.c:169,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_accum.c:173,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_accum.c:174,1
    - Dst: foreach
      Src: /src/postgis/postgis/lwgeom_accum.c:176,1
    - Dst: lfirst
      Src: /src/postgis/postgis/lwgeom_accum.c:178,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_accum.c:183,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_accum.c:184,1
    - Dst: construct_md_array
      Src: /src/postgis/postgis/lwgeom_accum.c:197,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_accum.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - state
    - mctx
    - fcinfo
    argTypes:
    - CollectionBuildState*
    - MemoryContext
    - FunctionCallInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 146
    functionDepth: 7
    functionLinenumber: 146
    functionLinenumberEnd: 201
    functionName: pgis_accum_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - palloc
    - geometry_serialize
    - PointerGetDatum
    - list_length
    - lfirst
    - IsA
    - foreach
    - construct_md_array
    - get_typlenbyvalalign
    - Assert
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_accum_finalfn(CollectionBuildState *state, MemoryContext
      mctx, __attribute__((__unused__)) FunctionCallInfo fcinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:215,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:216,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:218,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:220,1
    - Dst: PGISDirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_accum.c:221,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:223,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: pgis_geometry_collect_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PGISDirectFunctionCall1
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_collect_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:241,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:242,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:244,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:246,1
    - Dst: PGISDirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_accum.c:247,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:249,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 234
    functionDepth: 8
    functionLinenumber: 234
    functionLinenumberEnd: 252
    functionName: pgis_geometry_polygonize_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PGISDirectFunctionCall1
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_polygonize_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:266,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:267,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:269,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:271,1
    - Dst: PGISDirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_accum.c:272,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:274,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 8
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: pgis_geometry_makeline_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PGISDirectFunctionCall1
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_makeline_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:291,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:292,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:294,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:295,1
    - Dst: PGISDirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_accum.c:296,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:298,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 8
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: pgis_geometry_clusterintersecting_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PGISDirectFunctionCall1
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_clusterintersecting_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:315,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:316,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:318,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_accum.c:322,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:323,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:326,1
    - Dst: PGISDirectFunctionCall2
      Src: /src/postgis/postgis/lwgeom_accum.c:327,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:329,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 8
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: pgis_geometry_clusterwithin_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PGISDirectFunctionCall2
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_clusterwithin_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_accum.c:348,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:349,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_accum.c:351,1
    - Dst: pgis_accum_finalfn
      Src: /src/postgis/postgis/lwgeom_accum.c:353,1
    - Dst: PGISDirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_accum.c:354,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_accum.c:356,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_accum.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 341
    functionDepth: 8
    functionLinenumber: 341
    functionLinenumberEnd: 359
    functionName: pgis_geometry_coverageunion_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PGISDirectFunctionCall1
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pgis_accum_finalfn
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_coverageunion_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/postgis/lwgeom_accum.c:369,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/postgis/lwgeom_accum.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - func
    - arg1
    argTypes:
    - PGFunction
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: PGISDirectFunctionCall1
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 5
    functionsReached:
    - InitFunctionCallInfoData
    - LOCAL_FCINFO
    linkageType: ''
    returnType: Datum
    signature: Datum PGISDirectFunctionCall1(PGFunction func, Datum arg1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/postgis/lwgeom_accum.c:393,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/postgis/lwgeom_accum.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - func
    - arg1
    - arg2
    argTypes:
    - PGFunction
    - Datum
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 410
    functionName: PGISDirectFunctionCall2
    functionSourceFile: /src/postgis/postgis/lwgeom_accum.c
    functionUses: 1
    functionsReached:
    - InitFunctionCallInfoData
    - LOCAL_FCINFO
    linkageType: ''
    returnType: Datum
    signature: Datum PGISDirectFunctionCall2(PGFunction func, Datum arg1, Datum arg2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:46,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:46,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:48,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:49,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:51,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:51,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:53,1
    - Dst: lwgeom_from_encoded_polyline
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:57,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:60,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:61,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:63,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:65,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:66,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_encoded_polyline.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: line_from_encoded_polyline
    functionSourceFile: /src/postgis/postgis/lwgeom_in_encoded_polyline.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - PG_GETARG_INT32
    - lwgeom_from_encoded_polyline
    - lwgeom_set_srid
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum line_from_encoded_polyline(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/lwgeom_spheroid.c:82,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_spheroid.c:83,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_spheroid.c:87,1
    - Dst: strstr
      Src: /src/postgis/postgis/lwgeom_spheroid.c:89,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_spheroid.c:91,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_spheroid.c:92,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:93,1
    - Dst: sscanf
      Src: /src/postgis/postgis/lwgeom_spheroid.c:96,1
    - Dst: sscanf
      Src: /src/postgis/postgis/lwgeom_spheroid.c:100,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_spheroid.c:105,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_spheroid.c:106,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:107,1
    - Dst: sqrt
      Src: /src/postgis/postgis/lwgeom_spheroid.c:114,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_spheroid.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: ellipsoid_in
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    - PG_GETARG_CSTRING
    - strstr
    - elog
    - PG_RETURN_NULL
    - pfree
    - sscanf
    - sqrt
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ellipsoid_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_spheroid.c:123,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_spheroid.c:126,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_spheroid.c:128,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/lwgeom_spheroid.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: ellipsoid_out
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_CSTRING
    - palloc
    - snprintf
    linkageType: ''
    returnType: Datum
    signature: Datum ellipsoid_out(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:148,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:148,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:152,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:153,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:154,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - azimuth
    - sigma
    - tsm
    - sphere
    argTypes:
    - double
    - double
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: deltaLongitude
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: double
    signature: double deltaLongitude(double azimuth, double sigma, double tsm,SPHEROID
      *sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/postgis/lwgeom_spheroid.c:171,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:172,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - azimuth
    - sphere
    argTypes:
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: mu2
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 2
    functionsReached:
    - cos
    - sqrt
    linkageType: ''
    returnType: double
    signature: double mu2(double azimuth,SPHEROID *sphere)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u2
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: bigA
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double bigA(double u2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u2
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: bigB
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double bigB(double u2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: distance_ellipse_calculation
      Src: /src/postgis/postgis/lwgeom_spheroid.c:219,1
    - Dst: distance_sphere_method
      Src: /src/postgis/postgis/lwgeom_spheroid.c:222,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_spheroid.c:224,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_spheroid.c:226,1
    - Dst: distance_sphere_method
      Src: /src/postgis/postgis/lwgeom_spheroid.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - lat1
    - long1
    - lat2
    - long2
    - sphere
    argTypes:
    - double
    - double
    - double
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 238
    functionName: distance_ellipse
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - distance_ellipse_calculation
    - POSTGIS_DEBUGF
    - distance_sphere_method
    linkageType: ''
    returnType: double
    signature: "double distance_ellipse(double lat1, double long1,\n                 double
      lat2, double long2, SPHEROID *sphere)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/postgis/postgis/lwgeom_spheroid.c:266,1
    - Dst: tan
      Src: /src/postgis/postgis/lwgeom_spheroid.c:266,1
    - Dst: atan
      Src: /src/postgis/postgis/lwgeom_spheroid.c:267,1
    - Dst: tan
      Src: /src/postgis/postgis/lwgeom_spheroid.c:267,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:268,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:269,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:270,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:271,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:275,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:276,1
    - Dst: acos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:281,1
    - Dst: asin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:282,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:282,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:289,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:289,1
    - Dst: acos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:298,1
    - Dst: deltaLongitude
      Src: /src/postgis/postgis/lwgeom_spheroid.c:305,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:308,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:309,1
    - Dst: fabs
      Src: /src/postgis/postgis/lwgeom_spheroid.c:312,1
    - Dst: mu2
      Src: /src/postgis/postgis/lwgeom_spheroid.c:315,1
    - Dst: bigA
      Src: /src/postgis/postgis/lwgeom_spheroid.c:316,1
    - Dst: bigB
      Src: /src/postgis/postgis/lwgeom_spheroid.c:317,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:320,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:320,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:321,1
    - Dst: cos
      Src: /src/postgis/postgis/lwgeom_spheroid.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 5
    argNames:
    - lat1
    - long1
    - lat2
    - long2
    - sphere
    argTypes:
    - double
    - double
    - double
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 323
    functionName: distance_ellipse_calculation
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 1
    functionsReached:
    - tan
    - bigA
    - acos
    - sin
    - fabs
    - bigB
    - atan
    - deltaLongitude
    - cos
    - mu2
    - asin
    linkageType: ''
    returnType: double
    signature: "double distance_ellipse_calculation(double lat1, double long1,\n                             double
      lat2, double long2, SPHEROID *sphere)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_spheroid.c:338,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_spheroid.c:339,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_spheroid.c:340,1
    - Dst: lwgeom_length_spheroid
      Src: /src/postgis/postgis/lwgeom_spheroid.c:341,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_spheroid.c:342,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_spheroid.c:343,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_spheroid.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 6
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: LWGEOM_length2d_ellipsoid
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_length_spheroid
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_length2d_ellipsoid(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_spheroid.c:361,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_spheroid.c:362,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_spheroid.c:363,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_spheroid.c:367,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_spheroid.c:369,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_spheroid.c:370,1
    - Dst: lwgeom_length_spheroid
      Src: /src/postgis/postgis/lwgeom_spheroid.c:373,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_spheroid.c:374,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_spheroid.c:375,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_spheroid.c:380,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:381,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_spheroid.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 6
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: LWGEOM_length_ellipsoid_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_length_spheroid
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_length_ellipsoid_linestring(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:456,1
    - Dst: sqrt
      Src: /src/postgis/postgis/lwgeom_spheroid.c:462,1
    - Dst: sin
      Src: /src/postgis/postgis/lwgeom_spheroid.c:464,1
    - Dst: sqrt
      Src: /src/postgis/postgis/lwgeom_spheroid.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - lat1
    - long1
    - lat2
    - long2
    - sphere
    argTypes:
    - double
    - double
    - double
    - double
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 476
    functionName: distance_sphere_method
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 1
    functionsReached:
    - sin
    - sqrt
    linkageType: ''
    returnType: double
    signature: double distance_sphere_method(double lat1, double long1,double lat2,double
      long2, SPHEROID *sphere)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_spheroid.c:484,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_spheroid.c:485,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_spheroid.c:486,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_spheroid.c:487,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_spheroid.c:488,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:489,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_spheroid.c:492,1
    - Dst: spheroid_init
      Src: /src/postgis/postgis/lwgeom_spheroid.c:495,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_spheroid.c:506,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:507,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_spheroid.c:513,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_spheroid.c:514,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_spheroid.c:518,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_spheroid.c:519,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/lwgeom_spheroid.c:522,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/lwgeom_spheroid.c:523,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_spheroid.c:524,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_spheroid.c:525,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/lwgeom_spheroid.c:527,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_spheroid.c:529,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 482
    functionDepth: 7
    functionLinenumber: 482
    functionLinenumberEnd: 531
    functionName: geometry_distance_spheroid
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - elog
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - lwgeom_set_geodetic
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_distance_spheroid
    - gserialized_get_type
    - spheroid_init
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_distance_spheroid(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_spheroid.c:539,1
    - Dst: spheroid_init
      Src: /src/postgis/postgis/lwgeom_spheroid.c:541,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:542,1
    - Dst: DirectFunctionCall4
      Src: /src/postgis/postgis/lwgeom_spheroid.c:542,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:543,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:544,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_spheroid.c:545,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/lwgeom_spheroid.c:546,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:549,1
    - Dst: DirectFunctionCall4
      Src: /src/postgis/postgis/lwgeom_spheroid.c:549,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:550,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:551,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:552,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/lwgeom_spheroid.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 554
    functionName: LWGEOM_distance_ellipsoid
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PointerGetDatum
    - PG_NARGS
    - BoolGetDatum
    - DirectFunctionCall4
    - PG_GETARG_DATUM
    - spheroid_init
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_distance_ellipsoid(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spheroid_init
      Src: /src/postgis/postgis/lwgeom_spheroid.c:561,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_spheroid.c:563,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_spheroid.c:564,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:568,1
    - Dst: DirectFunctionCall4
      Src: /src/postgis/postgis/lwgeom_spheroid.c:568,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:569,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_spheroid.c:569,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_spheroid.c:569,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/lwgeom_spheroid.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: LWGEOM_distance_sphere
    functionSourceFile: /src/postgis/postgis/lwgeom_spheroid.c
    functionUses: 0
    functionsReached:
    - PointerGetDatum
    - PG_NARGS
    - BoolGetDatum
    - DirectFunctionCall4
    - PG_GETARG_DATUM
    - spheroid_init
    - PG_RETURN_DATUM
    - PG_GETARG_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_distance_sphere(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: PUSH
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: LAST
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: POP
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POP(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_dump.c:87,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_dump.c:89,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:92,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_dump.c:94,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_dump.c:95,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dump.c:98,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_dump.c:102,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dump.c:107,1
    - Dst: PUSH
      Src: /src/postgis/postgis/lwgeom_dump.c:110,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_dump.c:119,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_dump.c:120,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/postgis/lwgeom_dump.c:126,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:128,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dump.c:132,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:139,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_dump.c:141,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:141,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_dump.c:142,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/lwgeom_dump.c:145,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/postgis/lwgeom_dump.c:146,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_dump.c:147,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dump.c:150,1
    - Dst: LAST
      Src: /src/postgis/postgis/lwgeom_dump.c:155,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_dump.c:161,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_dump.c:168,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_dump.c:169,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_dump.c:184,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:186,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dump.c:188,1
    - Dst: PUSH
      Src: /src/postgis/postgis/lwgeom_dump.c:191,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:193,1
    - Dst: POP
      Src: /src/postgis/postgis/lwgeom_dump.c:198,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:198,1
    - Dst: LAST
      Src: /src/postgis/postgis/lwgeom_dump.c:199,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/lwgeom_dump.c:205,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/postgis/lwgeom_dump.c:206,1
    - Dst: TupleGetDatum
      Src: /src/postgis/postgis/lwgeom_dump.c:207,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dump.c:209,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 70
    functionDepth: 12
    functionLinenumber: 70
    functionLinenumberEnd: 210
    functionName: LWGEOM_dump
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - SRF_RETURN_DONE
    - POP
    - LAST
    - lwalloc
    - lwgeom_to_hexwkb_buffer
    - sprintf
    - PG_GETARG_GSERIALIZED_P_COPY
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - elog
    - SRF_IS_FIRSTCALL
    - TupleDescGetAttInMetadata
    - HeapTupleGetDatum
    - PUSH
    - SRF_RETURN_NEXT
    - TupleGetDatum
    - get_call_result_type
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - SRF_FIRSTCALL_INIT
    - BuildTupleFromCStrings
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dump(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_dump.c:232,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_dump.c:234,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:237,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_dump.c:239,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_dump.c:240,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_dump.c:242,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_dump.c:245,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dump.c:248,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/lwgeom_dump.c:249,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_dump.c:250,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_dump.c:259,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_dump.c:260,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/postgis/lwgeom_dump.c:266,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:268,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dump.c:272,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:287,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/postgis/lwgeom_dump.c:290,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_dump.c:293,1
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_dump.c:300,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/lwgeom_dump.c:303,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:305,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/postgis/lwgeom_dump.c:307,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_dump.c:308,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dump.c:310,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (state->poly)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/postgis/postgis/lwgeom_dump.c
    constantsTouched: []
    func_position:
      end: 315
      start: 219
    functionDepth: 12
    functionLinenumber: 219
    functionLinenumberEnd: 315
    functionName: LWGEOM_dump_rings
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 0
    functionsReached:
    - assert
    - SRF_RETURN_DONE
    - lwalloc
    - lwgeom_to_hexwkb_buffer
    - sprintf
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwpoly_construct
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - elog
    - lwgeom_as_lwpoly
    - SRF_IS_FIRSTCALL
    - gserialized_get_type
    - TupleDescGetAttInMetadata
    - HeapTupleGetDatum
    - ptarray_clone_deep
    - SRF_RETURN_NEXT
    - get_call_result_type
    - lwgeom_from_gserialized
    - SRF_FIRSTCALL_INIT
    - BuildTupleFromCStrings
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dump_rings(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_dump.c:336,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_dump.c:346,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:351,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_dump.c:356,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_dump.c:357,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_dump.c:362,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_dump.c:362,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_dump.c:363,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_dump.c:368,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_dump.c:368,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_dump.c:369,1
    - Dst: lwgeom_subdivide_prec
      Src: /src/postgis/postgis/lwgeom_dump.c:374,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:377,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_dump.c:380,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dump.c:389,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dump.c:393,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_dump.c:398,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dump.c:400,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_dump.c:400,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dump.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 322
    functionDepth: 13
    functionLinenumber: 322
    functionLinenumberEnd: 407
    functionName: ST_Subdivide
    functionSourceFile: /src/postgis/postgis/lwgeom_dump.c
    functionUses: 0
    functionsReached:
    - palloc
    - lwgeom_subdivide_prec
    - geometry_serialize
    - SRF_RETURN_DONE
    - lwgeom_from_gserialized
    - SRF_PERCALL_SETUP
    - PointerGetDatum
    - SRF_FIRSTCALL_INIT
    - PG_NARGS
    - PG_ARGISNULL
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - PG_GETARG_GSERIALIZED_P
    - SRF_RETURN_NEXT
    - MemoryContextSwitchTo
    - PG_GETARG_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Subdivide(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:54,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:55,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:56,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:57,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:58,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 8
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: lwgeom_lt
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_lt(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:65,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:66,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:67,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:68,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:69,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 8
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: lwgeom_le
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_le(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:76,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:77,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:78,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:79,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:80,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 8
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: lwgeom_eq
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_eq(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:87,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:88,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:89,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:90,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:91,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: lwgeom_neq
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_neq(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:98,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:99,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:100,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:101,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:102,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: lwgeom_ge
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_ge(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:109,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:110,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:111,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:112,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:113,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_btree.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 8
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: lwgeom_gt
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_gt(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:120,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:121,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:122,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:123,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:124,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_btree.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 8
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: lwgeom_cmp
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - gserialized_cmp
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_cmp(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_btree.c:131,1
    - Dst: gserialized_hash
      Src: /src/postgis/postgis/lwgeom_btree.c:133,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_btree.c:134,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_btree.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: lwgeom_hash
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_INT32
    - PG_FREE_IF_COPY
    - gserialized_hash
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_hash(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - ssup
    argTypes:
    - Datum
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: lwgeom_cmp_abbrev
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lwgeom_cmp_abbrev(Datum x, Datum y, SortSupport ssup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_btree.c:153,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_btree.c:154,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_btree.c:155,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/lwgeom_btree.c:156,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/lwgeom_btree.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - y
    - ssup
    argTypes:
    - Datum
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: lwgeom_cmp_full
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - POSTGIS_FREE_IF_COPY_P
    - gserialized_cmp
    - PG_DETOAST_DATUM
    linkageType: ''
    returnType: int
    signature: int lwgeom_cmp_full(Datum x, Datum y, SortSupport ssup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memtupcount
    - ssup
    argTypes:
    - int
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: lwgeom_abbrev_abort
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool lwgeom_abbrev_abort(int memtupcount, SortSupport ssup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_btree.c:170,1
    - Dst: gserialized_get_sortable_hash
      Src: /src/postgis/postgis/lwgeom_btree.c:171,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/lwgeom_btree.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - original
    - ssup
    argTypes:
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 8
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: lwgeom_abbrev_convert
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - POSTGIS_FREE_IF_COPY_P
    - gserialized_get_sortable_hash
    - PG_DETOAST_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_abbrev_convert(Datum original, SortSupport ssup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_btree.c:182,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/lwgeom_btree.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: lwgeom_sortsupport
    functionSourceFile: /src/postgis/postgis/lwgeom_btree.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_VOID
    linkageType: ''
    returnType: Datum
    signature: Datum lwgeom_sortsupport(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_centroid.c:65,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_centroid.c:66,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_centroid.c:70,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/geography_centroid.c:73,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_centroid.c:76,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/geography_centroid.c:78,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/postgis/geography_centroid.c:79,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_centroid.c:80,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_centroid.c:81,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_centroid.c:85,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_centroid.c:88,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/geography_centroid.c:92,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_centroid.c:98,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/postgis/geography_centroid.c:104,1
    - Dst: palloc
      Src: /src/postgis/postgis/geography_centroid.c:108,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/geography_centroid.c:112,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/geography_centroid.c:113,1
    - Dst: geography_centroid_from_wpoints
      Src: /src/postgis/postgis/geography_centroid.c:117,1
    - Dst: pfree
      Src: /src/postgis/postgis/geography_centroid.c:118,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/geography_centroid.c:124,1
    - Dst: lwmline_construct_empty
      Src: /src/postgis/postgis/geography_centroid.c:127,1
    - Dst: lwmline_add_lwline
      Src: /src/postgis/postgis/geography_centroid.c:128,1
    - Dst: geography_centroid_from_mline
      Src: /src/postgis/postgis/geography_centroid.c:130,1
    - Dst: lwmline_free
      Src: /src/postgis/postgis/geography_centroid.c:131,1
    - Dst: lwgeom_as_lwmline
      Src: /src/postgis/postgis/geography_centroid.c:137,1
    - Dst: geography_centroid_from_mline
      Src: /src/postgis/postgis/geography_centroid.c:138,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/geography_centroid.c:144,1
    - Dst: lwmpoly_construct_empty
      Src: /src/postgis/postgis/geography_centroid.c:147,1
    - Dst: lwmpoly_add_lwpoly
      Src: /src/postgis/postgis/geography_centroid.c:148,1
    - Dst: geography_centroid_from_mpoly
      Src: /src/postgis/postgis/geography_centroid.c:150,1
    - Dst: lwmpoly_free
      Src: /src/postgis/postgis/geography_centroid.c:151,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/postgis/geography_centroid.c:157,1
    - Dst: geography_centroid_from_mpoly
      Src: /src/postgis/postgis/geography_centroid.c:158,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_centroid.c:162,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_centroid.c:163,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_centroid.c:166,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geography_centroid.c:168,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_centroid.c:169,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_centroid.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 53
    functionDepth: 7
    functionLinenumber: 53
    functionLinenumberEnd: 172
    functionName: geography_centroid
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 0
    functionsReached:
    - geography_serialize
    - PG_RETURN_NULL
    - lwgeom_as_lwmpoint
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - geography_centroid_from_wpoints
    - lwmpoly_free
    - elog
    - PG_GETARG_BOOL
    - lwgeom_as_lwpoly
    - PG_GETARG_GSERIALIZED_P
    - lwmpoly_add_lwpoly
    - lwmpoly_construct_empty
    - lwmline_free
    - lwgeom_as_lwmpoly
    - lwcollection_construct_empty
    - geography_centroid_from_mline
    - pfree
    - lwgeom_get_type
    - gserialized_is_empty
    - PG_RETURN_POINTER
    - palloc
    - lwmline_construct_empty
    - lwgeom_as_lwmline
    - lwpoint_get_y
    - spheroid_init_from_srid
    - lwcollection_as_lwgeom
    - lwgeom_get_srid
    - lwmline_add_lwline
    - lwgeom_from_gserialized
    - geography_centroid_from_mpoly
    - lwpoint_as_lwgeom
    - lwpoint_get_x
    linkageType: ''
    returnType: Datum
    signature: Datum geography_centroid(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lonlat_to_cart
      Src: /src/postgis/postgis/geography_centroid.c:193,1
    - Dst: lwfree
      Src: /src/postgis/postgis/geography_centroid.c:202,1
    - Dst: cart_to_lwpoint
      Src: /src/postgis/postgis/geography_centroid.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - srid
    - points
    - size
    argTypes:
    - int32_t
    - POINT3DM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 206
    functionName: geography_centroid_from_wpoints
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 1
    functionsReached:
    - cart_to_lwpoint
    - lwfree
    - lonlat_to_cart
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      geography_centroid_from_wpoints(const int32_t srid, const POINT3DM *points,
      const uint32_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/postgis/geography_centroid.c:213,1
    - Dst: sinl
      Src: /src/postgis/postgis/geography_centroid.c:222,1
    - Dst: cosl
      Src: /src/postgis/postgis/geography_centroid.c:225,1
    - Dst: sinl
      Src: /src/postgis/postgis/geography_centroid.c:226,1
    - Dst: cosl
      Src: /src/postgis/postgis/geography_centroid.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - raw_lon
    - raw_lat
    argTypes:
    - double_t
    - double_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 230
    functionName: lonlat_to_cart
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 1
    functionsReached:
    - cosl
    - sinl
    - lwalloc
    linkageType: ''
    returnType: POINT3D
    signature: POINT3D * lonlat_to_cart(const double_t raw_lon, const double_t raw_lat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrtl
      Src: /src/postgis/postgis/geography_centroid.c:244,1
    - Dst: powl
      Src: /src/postgis/postgis/geography_centroid.c:244,1
    - Dst: powl
      Src: /src/postgis/postgis/geography_centroid.c:244,1
    - Dst: powl
      Src: /src/postgis/postgis/geography_centroid.c:244,1
    - Dst: atan2l
      Src: /src/postgis/postgis/geography_centroid.c:246,1
    - Dst: acosl
      Src: /src/postgis/postgis/geography_centroid.c:247,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/geography_centroid.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x_sum
    - y_sum
    - z_sum
    - weight_sum
    - srid
    argTypes:
    - double_t
    - double_t
    - double_t
    - double_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: cart_to_lwpoint
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 1
    functionsReached:
    - sqrtl
    - powl
    - atan2l
    - acosl
    - lwpoint_make2d
    linkageType: ''
    returnType: LWPOINT
    signature: "LWPOINT *\ncart_to_lwpoint(const double_t x_sum,\n\t\tconst double_t
      y_sum,\n\t\tconst double_t z_sum,\n\t\tconst double_t weight_sum,\n\t\tconst
      int32_t srid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geography_centroid.c:269,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geography_centroid.c:276,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geography_centroid.c:277,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/geography_centroid.c:281,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/geography_centroid.c:282,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geography_centroid.c:283,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geography_centroid.c:284,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_centroid.c:285,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_centroid.c:286,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/geography_centroid.c:289,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_centroid.c:301,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_centroid.c:302,1
    - Dst: geography_centroid_from_wpoints
      Src: /src/postgis/postgis/geography_centroid.c:306,1
    - Dst: pfree
      Src: /src/postgis/postgis/geography_centroid.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - mline
    - s
    argTypes:
    - LWMLINE*
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 309
    functionName: geography_centroid_from_mline
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 1
    functionsReached:
    - palloc
    - lwgeom_free
    - getPoint2d_cp
    - geography_centroid_from_wpoints
    - lwpoint_as_lwgeom
    - lwgeom_set_geodetic
    - pfree
    - lwgeom_distance_spheroid
    - lwpoint_make2d
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * geography_centroid_from_mline(const LWMLINE* mline, SPHEROID*
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geography_centroid.c:330,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geography_centroid.c:334,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geography_centroid.c:344,1
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/geography_centroid.c:345,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/geography_centroid.c:352,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/postgis/geography_centroid.c:353,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/postgis/geography_centroid.c:354,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/postgis/geography_centroid.c:355,1
    - Dst: ptarray_insert_point
      Src: /src/postgis/postgis/geography_centroid.c:356,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/postgis/geography_centroid.c:358,1
    - Dst: lwpoly_add_ring
      Src: /src/postgis/postgis/geography_centroid.c:359,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/geography_centroid.c:361,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_centroid.c:362,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/postgis/geography_centroid.c:369,1
    - Dst: lwgeom_area_sphere
      Src: /src/postgis/postgis/geography_centroid.c:371,1
    - Dst: geography_centroid_from_wpoints
      Src: /src/postgis/postgis/geography_centroid.c:387,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/geography_centroid.c:389,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/geography_centroid.c:390,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/geography_centroid.c:394,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_centroid.c:395,1
    - Dst: geography_centroid_from_wpoints
      Src: /src/postgis/postgis/geography_centroid.c:399,1
    - Dst: pfree
      Src: /src/postgis/postgis/geography_centroid.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 3
    argNames:
    - mpoly
    - use_spheroid
    - s
    argTypes:
    - LWMPOLY*
    - bool
    - SPHEROID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 402
    functionName: geography_centroid_from_mpoly
    functionSourceFile: /src/postgis/postgis/geography_centroid.c
    functionUses: 1
    functionsReached:
    - palloc
    - ptarray_construct_empty
    - lwpoly_add_ring
    - getPoint2d_cp
    - geography_centroid_from_wpoints
    - lwpoint_get_y
    - lwgeom_free
    - lwpoly_as_lwgeom
    - lwgeom_area_sphere
    - lwpoly_construct_empty
    - lwgeom_set_geodetic
    - pfree
    - lwpoint_free
    - ptarray_insert_point
    - lwgeom_area_spheroid
    - lwpoint_get_x
    linkageType: ''
    returnType: LWPOINT
    signature: LWPOINT * geography_centroid_from_mpoly(const LWMPOLY* mpoly, bool
      use_spheroid, SPHEROID* s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: itree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_itree.c:65,1
    - Dst: itree_free
      Src: /src/postgis/postgis/lwgeom_itree.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lwgeom
    - geomcache
    argTypes:
    - LWGEOM*
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: IntervalTreeBuilder
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_free
    - itree_from_lwgeom
    linkageType: ''
    returnType: int
    signature: int IntervalTreeBuilder(const LWGEOM *lwgeom, GeomCache *geomcache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: itree_free
      Src: /src/postgis/postgis/lwgeom_itree.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - geomcache
    argTypes:
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: IntervalTreeFreer
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_free
    linkageType: ''
    returnType: int
    signature: int IntervalTreeFreer(GeomCache *geomcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_itree.c:95,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_itree.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: IntervalTreeAllocator
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    linkageType: ''
    returnType: GeomCache
    signature: 'GeomCache *

      IntervalTreeAllocator(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetGeomCache
      Src: /src/postgis/postgis/lwgeom_itree.c:120,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_itree.c:127,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_itree.c:128,1
    - Dst: itree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_itree.c:129,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_itree.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fcinfo
    - g1
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 7
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: GetIntervalTree
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - GetGeomCache
    - lwgeom_free
    - lwgeom_from_gserialized
    - itree_from_lwgeom
    - shared_gserialized_get
    linkageType: ''
    returnType: IntervalTree
    signature: 'IntervalTree *

      GetIntervalTree(FunctionCallInfo fcinfo, SHARED_GSERIALIZED *g1)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:142,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:144,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:144,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:146,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:149,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/postgis/lwgeom_itree.c:155,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:163,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_itree.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - itree
    - lwpoints
    argTypes:
    - IntervalTree*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 178
    functionName: itree_pip_contains
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_multipolygon
    - lwgeom_as_lwpoint
    - elog
    - lwgeom_get_type
    - lwpoint_is_empty
    - lwgeom_as_lwmpoint
    linkageType: ''
    returnType: bool
    signature: bool itree_pip_contains(const IntervalTree *itree, const LWGEOM *lwpoints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:187,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:189,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:189,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:191,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:193,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/postgis/lwgeom_itree.c:198,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:201,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_itree.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - itree
    - lwpoints
    argTypes:
    - IntervalTree*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 211
    functionName: itree_pip_covers
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_multipolygon
    - lwgeom_as_lwpoint
    - elog
    - lwgeom_get_type
    - lwpoint_is_empty
    - lwgeom_as_lwmpoint
    linkageType: ''
    returnType: bool
    signature: bool itree_pip_covers(const IntervalTree *itree, const LWGEOM *lwpoints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:219,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:221,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:221,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_itree.c:223,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:225,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/postgis/lwgeom_itree.c:230,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:233,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_itree.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - itree
    - lwpoints
    argTypes:
    - IntervalTree*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: itree_pip_intersects
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_multipolygon
    - lwgeom_as_lwpoint
    - elog
    - lwgeom_get_type
    - lwpoint_is_empty
    - lwgeom_as_lwmpoint
    linkageType: ''
    returnType: bool
    signature: bool itree_pip_intersects(const IntervalTree *itree, const LWGEOM *lwpoints)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_itree.c:253,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_itree.c:254,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_itree.c:261,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_itree.c:261,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_itree.c:263,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_itree.c:264,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_itree.c:265,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_itree.c:268,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_itree.c:269,1
    - Dst: itree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_itree.c:279,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:280,1
    - Dst: itree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_itree.c:284,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_itree.c:285,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_itree.c:289,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_itree.c:291,1
    - Dst: itree_point_in_multipolygon
      Src: /src/postgis/postgis/lwgeom_itree.c:291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 292
    functionName: ST_IntersectsIntervalTree
    functionSourceFile: /src/postgis/postgis/lwgeom_itree.c
    functionUses: 0
    functionsReached:
    - itree_point_in_multipolygon
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - PG_RETURN_BOOL
    - itree_from_lwgeom
    - elog
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_IntersectsIntervalTree(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:89,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:90,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:92,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:95,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:95,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:101,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:102,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:105,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:105,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:107,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:108,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:109,1
    - Dst: lwgeom_add_bbox_deep
      Src: /src/postgis/postgis/geography_measurement.c:113,1
    - Dst: lwgeom_add_bbox_deep
      Src: /src/postgis/postgis/geography_measurement.c:114,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:116,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:118,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:121,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:122,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:123,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:124,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:129,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 133
    functionName: geography_distance_knn
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_add_bbox_deep
    - gserialized_get_srid
    - lwgeom_free
    - spheroid_init_from_srid
    - POSTGIS_DEBUGF
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_distance_spheroid
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_distance_knn(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:144,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:145,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:152,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:152,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:153,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:156,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:156,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:157,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:159,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:162,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:162,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:168,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:169,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:172,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:172,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:174,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:175,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:176,1
    - Dst: lwgeom_add_bbox_deep
      Src: /src/postgis/postgis/geography_measurement.c:180,1
    - Dst: lwgeom_add_bbox_deep
      Src: /src/postgis/postgis/geography_measurement.c:181,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:183,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:186,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:187,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:188,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:189,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:194,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 198
    functionName: geography_distance_uncached
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_add_bbox_deep
    - gserialized_get_srid
    - lwgeom_free
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_GETARG_BOOL
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_RETURN_FLOAT8
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_distance_spheroid
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_distance_uncached(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/geography_measurement.c:208,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/geography_measurement.c:209,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement.c:210,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement.c:211,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:216,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:217,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:219,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:222,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:222,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:229,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:229,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:231,1
    - Dst: geography_distance_cache
      Src: /src/postgis/postgis/geography_measurement.c:235,1
    - Dst: geography_tree_distance
      Src: /src/postgis/postgis/geography_measurement.c:239,1
    - Dst: round
      Src: /src/postgis/postgis/geography_measurement.c:250,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:255,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:256,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 206
    functionDepth: 10
    functionLinenumber: 206
    functionLinenumberEnd: 260
    functionName: geography_distance
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - spheroid_init_from_srid
    - geography_distance_cache
    - ToastCacheGetGeometry
    - elog
    - PG_GETARG_BOOL
    - PG_NARGS
    - shared_gserialized_get
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_RETURN_FLOAT8
    - gserialized_is_empty
    - round
    - geography_tree_distance
    linkageType: ''
    returnType: Datum
    signature: Datum geography_distance(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/geography_measurement.c:269,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/geography_measurement.c:270,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement.c:271,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/geography_measurement.c:272,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:279,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:282,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:282,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:283,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:286,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:286,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:287,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:290,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:290,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:297,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:297,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:298,1
    - Dst: geography_dwithin_cache
      Src: /src/postgis/postgis/geography_measurement.c:301,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:303,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:304,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:305,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:308,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:310,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:311,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 267
    functionDepth: 10
    functionLinenumber: 267
    functionLinenumberEnd: 315
    functionName: geography_dwithin
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_free
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - ToastCacheGetGeometry
    - geography_dwithin_cache
    - PG_NARGS
    - PG_ARGISNULL
    - shared_gserialized_get
    - PG_GETARG_BOOL
    - gserialized_error_if_srid_mismatch
    - elog
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - lwgeom_distance_spheroid
    - PG_GETARG_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum geography_dwithin(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:320,1
    - Dst: CallerFInfoFunctionCall2
      Src: /src/postgis/postgis/geography_measurement.c:320,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/geography_measurement.c:322,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/geography_measurement.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: geography_intersects
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - CallerFInfoFunctionCall2
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_intersects(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:340,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:341,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:343,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:346,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:346,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:348,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:349,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:350,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:354,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:354,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:355,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:358,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:358,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:359,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:362,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:362,1
    - Dst: geography_tree_distance
      Src: /src/postgis/postgis/geography_measurement.c:368,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:370,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:371,1
    - Dst: round
      Src: /src/postgis/postgis/geography_measurement.c:374,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 377
    functionName: geography_distance_tree
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - spheroid_init_from_srid
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - round
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    - geography_tree_distance
    linkageType: ''
    returnType: Datum
    signature: Datum geography_distance_tree(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:398,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:399,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:400,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:403,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:403,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:404,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:407,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:407,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:408,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:411,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:411,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:417,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:418,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:421,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:421,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:423,1
    - Dst: lwgeom_distance_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:426,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:429,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:430,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:431,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:432,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:437,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:438,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:441,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 386
    functionDepth: 7
    functionLinenumber: 386
    functionLinenumberEnd: 442
    functionName: geography_dwithin_uncached
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_free
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_BOOL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwgeom_distance_spheroid
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_dwithin_uncached(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/geography_measurement.c:461,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:464,1
    - Dst: gserialized_expand
      Src: /src/postgis/postgis/geography_measurement.c:471,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:476,1
    - Dst: pfree
      Src: /src/postgis/postgis/geography_measurement.c:481,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 8
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: geography_expand
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_P_COPY
    - pfree
    - gserialized_expand
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_expand(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:502,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:505,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:508,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:508,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:510,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:513,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:515,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:516,1
    - Dst: lwgeom_calculate_gbox_geodetic
      Src: /src/postgis/postgis/geography_measurement.c:522,1
    - Dst: FP_GTEQ
      Src: /src/postgis/postgis/geography_measurement.c:529,1
    - Dst: FP_LTEQ
      Src: /src/postgis/postgis/geography_measurement.c:529,1
    - Dst: lwgeom_area_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:542,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:545,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:546,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:551,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:552,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 492
    functionDepth: 6
    functionLinenumber: 492
    functionLinenumberEnd: 556
    functionName: geography_area
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_free
    - spheroid_init_from_srid
    - lwgeom_calculate_gbox_geodetic
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_GETARG_BOOL
    - FP_LTEQ
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - FP_GTEQ
    - PG_RETURN_FLOAT8
    - lwgeom_area_spheroid
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_area(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:573,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:576,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:579,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:582,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:585,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:587,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:588,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:592,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:595,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:595,1
    - Dst: lwgeom_length_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:602,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:607,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:608,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:612,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:614,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 616
    functionName: geography_perimeter
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_get_srid
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - lwgeom_length_spheroid
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_perimeter(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:632,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:633,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:636,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:638,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:639,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:643,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:646,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:646,1
    - Dst: lwgeom_length_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:653,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:658,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:659,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:663,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:665,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 623
    functionDepth: 6
    functionLinenumber: 623
    functionLinenumberEnd: 667
    functionName: geography_length
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_get_srid
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_length_spheroid
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_length(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/geography_measurement.c:681,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/geography_measurement.c:681,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_measurement.c:683,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:684,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:685,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:687,1
    - Dst: gbox_to_string
      Src: /src/postgis/postgis/geography_measurement.c:687,1
    - Dst: gbox_pt_outside
      Src: /src/postgis/postgis/geography_measurement.c:690,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/geography_measurement.c:692,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:694,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 674
    functionDepth: 7
    functionLinenumber: 674
    functionLinenumberEnd: 695
    functionName: geography_point_outside
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - geography_serialize
    - POSTGIS_DEBUGF
    - elog
    - PG_RETURN_NULL
    - gbox_pt_outside
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - gserialized_datum_get_gbox_p
    - lwpoint_make2d
    - gbox_to_string
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_point_outside(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:714,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:715,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:716,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:719,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:720,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:723,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:723,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:725,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:726,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:727,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:728,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:729,1
    - Dst: lwgeom_covers_lwgeom_sphere
      Src: /src/postgis/postgis/geography_measurement.c:733,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:736,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:737,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:738,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:739,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 705
    functionDepth: 6
    functionLinenumber: 705
    functionLinenumberEnd: 742
    functionName: geography_covers
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwgeom_covers_lwgeom_sphere
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_covers(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:755,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:756,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:757,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:760,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:761,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:764,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:764,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:766,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:767,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:768,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:769,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:770,1
    - Dst: lwgeom_covers_lwgeom_sphere
      Src: /src/postgis/postgis/geography_measurement.c:774,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:777,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:778,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:779,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:780,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 745
    functionDepth: 6
    functionLinenumber: 745
    functionLinenumberEnd: 783
    functionName: geography_coveredby
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwgeom_covers_lwgeom_sphere
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_coveredby(PG_FUNCTION_ARGS)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:806,1
    - Dst: gserialized_get_lwflags
      Src: /src/postgis/postgis/geography_measurement.c:808,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:810,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:813,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/geography_measurement.c:816,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:817,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:819,1
    - Dst: gbox_to_string
      Src: /src/postgis/postgis/geography_measurement.c:819,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/geography_measurement.c:821,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:822,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:824,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:827,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:829,1
    - Dst: gserialized_get_lwflags
      Src: /src/postgis/postgis/geography_measurement.c:830,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:831,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/geography_measurement.c:832,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:833,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:836,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/geography_measurement.c:838,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:839,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:841,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:854,1
    - Dst: gbox_union
      Src: /src/postgis/postgis/geography_measurement.c:862,1
    - Dst: gbox_centroid
      Src: /src/postgis/postgis/geography_measurement.c:864,1
    - Dst: gbox_angular_width
      Src: /src/postgis/postgis/geography_measurement.c:867,1
    - Dst: gbox_angular_height
      Src: /src/postgis/postgis/geography_measurement.c:868,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:870,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:871,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/geography_measurement.c:872,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:877,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:883,1
    - Dst: floor
      Src: /src/postgis/postgis/geography_measurement.c:894,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:901,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:906,1
    - Dst: floor
      Src: /src/postgis/postgis/geography_measurement.c:919,1
    - Dst: floor
      Src: /src/postgis/postgis/geography_measurement.c:924,1
    - Dst: floor
      Src: /src/postgis/postgis/geography_measurement.c:929,1
    - Dst: floor
      Src: /src/postgis/postgis/geography_measurement.c:934,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:940,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/geography_measurement.c:948,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 794
    functionDepth: 8
    functionLinenumber: 794
    functionLinenumberEnd: 950
    functionName: geography_bestsrid
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_lwflags
    - lwgeom_free
    - POSTGIS_DEBUGF
    - lwgeom_isfinite
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - gserialized_get_gbox_p
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - gbox_angular_height
    - gbox_angular_width
    - floor
    - gbox_centroid
    - gbox_to_string
    - gbox_union
    linkageType: ''
    returnType: Datum
    signature: Datum geography_bestsrid(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:970,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:970,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:970,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:971,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:974,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:977,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:980,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:981,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:984,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:985,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:988,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:990,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:991,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:992,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:995,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:995,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:996,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:999,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:999,1
    - Dst: FP_EQUALS
      Src: /src/postgis/postgis/geography_measurement.c:1002,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1004,1
    - Dst: lwgeom_project_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:1008,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1008,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1013,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1014,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1018,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1019,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geography_measurement.c:1019,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/geography_measurement.c:1020,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1022,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1023,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 958
    functionDepth: 7
    functionLinenumber: 958
    functionLinenumberEnd: 1024
    functionName: geography_project
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - geography_serialize
    - lwgeom_as_lwpoint
    - PG_RETURN_NULL
    - lwgeom_project_spheroid
    - PG_FREE_IF_COPY
    - gserialized_get_srid
    - elog
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - lwpoint_free
    - PG_GETARG_FLOAT8
    - PG_NARGS
    - FP_EQUALS
    - PG_RETURN_POINTER
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_ARGISNULL
    - lwpoint_as_lwgeom
    linkageType: ''
    returnType: Datum
    signature: Datum geography_project(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1041,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1042,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1044,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1045,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1047,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1048,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1051,1
    - Dst: FP_EQUALS
      Src: /src/postgis/postgis/geography_measurement.c:1054,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1056,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1059,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1060,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1063,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1063,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1065,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1066,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1067,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1068,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1072,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1072,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1075,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1076,1
    - Dst: lwgeom_project_spheroid_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1077,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1082,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1083,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1087,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1088,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1089,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/geography_measurement.c:1089,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/geography_measurement.c:1090,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1092,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1093,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1032
    functionDepth: 7
    functionLinenumber: 1032
    functionLinenumberEnd: 1095
    functionName: geography_project_geography
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - geography_serialize
    - spheroid_init_from_srid
    - lwgeom_get_srid
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_project_spheroid_lwpoint
    - elog
    - PG_RETURN_NULL
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - lwpoint_free
    - PG_GETARG_FLOAT8
    - FP_EQUALS
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_project_geography(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1106,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1107,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1115,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1116,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1119,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1120,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1123,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1124,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1127,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1127,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1129,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1130,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1131,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1132,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1136,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1136,1
    - Dst: lwgeom_azumith_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:1139,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1139,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1139,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1142,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1143,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1145,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1146,1
    - Dst: isfinite
      Src: /src/postgis/postgis/geography_measurement.c:1149,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1151,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1104
    functionDepth: 6
    functionLinenumber: 1104
    functionLinenumberEnd: 1155
    functionName: geography_azimuth
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_get_srid
    - PG_FREE_IF_COPY
    - spheroid_init_from_srid
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - isfinite
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    - lwgeom_azumith_spheroid
    linkageType: ''
    returnType: Datum
    signature: Datum geography_azimuth(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1168,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1170,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1171,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1174,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1175,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1178,1
    - Dst: lwgeom_segmentize_sphere
      Src: /src/postgis/postgis/geography_measurement.c:1181,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_measurement.c:1187,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/geography_measurement.c:1190,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1193,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1196,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1197,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1198,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1164
    functionDepth: 7
    functionLinenumber: 1164
    functionLinenumberEnd: 1201
    functionName: geography_segmentize
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - geography_serialize
    - lwgeom_from_gserialized
    - lwgeom_drop_bbox
    - lwgeom_set_geodetic
    - lwgeom_segmentize_sphere
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_segmentize(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1213,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1214,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1215,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:1222,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_measurement.c:1222,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:1223,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1226,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1228,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1229,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1234,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1235,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1236,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1240,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1241,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1242,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1246,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1247,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/geography_measurement.c:1250,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1250,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1253,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1254,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1255,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1259,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1259,1
    - Dst: geography_substring
      Src: /src/postgis/postgis/geography_measurement.c:1264,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/geography_measurement.c:1267,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1268,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_measurement.c:1269,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1270,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1271,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1211
    functionDepth: 7
    functionLinenumber: 1211
    functionLinenumberEnd: 1274
    functionName: geography_line_substring
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - geography_serialize
    - PG_RETURN_NULL
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - gserialized_get_srid
    - elog
    - PG_GETARG_BOOL
    - lwgeom_set_geodetic
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_NARGS
    - gserialized_is_empty
    - lwline_free
    - geography_substring
    - PG_RETURN_POINTER
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    linkageType: ''
    returnType: Datum
    signature: Datum geography_line_substring(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1288,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1289,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:1291,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_measurement.c:1293,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:1293,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1300,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1302,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1303,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1308,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1309,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1310,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/geography_measurement.c:1313,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1313,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1316,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1317,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1318,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1322,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1322,1
    - Dst: geography_interpolate_points
      Src: /src/postgis/postgis/geography_measurement.c:1328,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1330,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/geography_measurement.c:1330,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1331,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_measurement.c:1333,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1334,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1335,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1286
    functionDepth: 7
    functionLinenumber: 1286
    functionLinenumberEnd: 1338
    functionName: geography_line_interpolate_point
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_free
    - geography_serialize
    - spheroid_init_from_srid
    - geography_interpolate_points
    - lwline_as_lwgeom
    - lwgeom_from_gserialized
    - elog
    - PG_GETARG_BOOL
    - PG_NARGS
    - PG_RETURN_NULL
    - lwgeom_set_geodetic
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum geography_line_interpolate_point(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1348,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1349,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:1350,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:1359,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1362,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1362,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1364,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1365,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1366,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1369,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1371,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1372,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/geography_measurement.c:1374,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_measurement.c:1376,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1377,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1386,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1386,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/geography_measurement.c:1389,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1389,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/geography_measurement.c:1390,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1390,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/geography_measurement.c:1393,1
    - Dst: ptarray_locate_point_spheroid
      Src: /src/postgis/postgis/geography_measurement.c:1395,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/geography_measurement.c:1397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1346
    functionDepth: 6
    functionLinenumber: 1346
    functionLinenumberEnd: 1398
    functionName: geography_line_locate_point
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwpoint_getPoint4d_p
    - spheroid_init_from_srid
    - ptarray_locate_point_spheroid
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - elog
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum geography_line_locate_point(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1409,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1410,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:1414,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1416,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1417,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1420,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1420,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1422,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1423,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1424,1
    - Dst: geography_tree_closestpoint
      Src: /src/postgis/postgis/geography_measurement.c:1427,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1428,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1429,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1430,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1431,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1433,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1434,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1407
    functionDepth: 8
    functionLinenumber: 1407
    functionLinenumberEnd: 1436
    functionName: geography_closestpoint
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - geography_serialize
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - geography_tree_closestpoint
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_closestpoint(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1445,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_measurement.c:1446,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/geography_measurement.c:1447,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/geography_measurement.c:1452,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1454,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_measurement.c:1455,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1458,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1458,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1460,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1461,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1462,1
    - Dst: spheroid_init_from_srid
      Src: /src/postgis/postgis/geography_measurement.c:1466,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/geography_measurement.c:1466,1
    - Dst: geography_tree_shortestline
      Src: /src/postgis/postgis/geography_measurement.c:1472,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/geography_measurement.c:1474,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_measurement.c:1475,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_measurement.c:1477,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_measurement.c:1478,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1480,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_measurement.c:1481,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_measurement.c:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1443
    functionDepth: 9
    functionLinenumber: 1443
    functionLinenumberEnd: 1483
    functionName: geography_shortestline
    functionSourceFile: /src/postgis/postgis/geography_measurement.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - geography_serialize
    - lwgeom_free
    - spheroid_init_from_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - geography_tree_shortestline
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_shortestline(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_c_version
      Src: /src/postgis/postgis/postgis_libprotobuf.c:15,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/postgis_libprotobuf.c:16,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/postgis_libprotobuf.c:17,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/postgis_libprotobuf.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: postgis_libprotobuf_version
    functionSourceFile: /src/postgis/postgis/postgis_libprotobuf.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_NULL
    - protobuf_c_version
    - cstring_to_text
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_libprotobuf_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/postgis_libprotobuf.c:27,1
    - Dst: libwagyu_version
      Src: /src/postgis/postgis/postgis_libprotobuf.c:29,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/postgis_libprotobuf.c:30,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/postgis_libprotobuf.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: postgis_wagyu_version
    functionSourceFile: /src/postgis/postgis/postgis_libprotobuf.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_NULL
    - libwagyu_version
    - cstring_to_text
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_wagyu_version(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:49,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:50,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:64,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:65,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:66,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:70,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:70,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:71,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:71,1
    - Dst: lwgeom_make_valid_params
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:72,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:75,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:80,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:81,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:84,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:86,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:88,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 91
    functionName: ST_MakeValid
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_TEXT_P
    - PG_GETARG_GSERIALIZED_P_COPY
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - PG_RETURN_POINTER
    - lwtype_name
    - lwgeom_make_valid_params
    - PG_FREE_IF_COPY
    - lwgeom_make_valid
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MakeValid(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_make_valid
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:100,1
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:107,1
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:107,1
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:109,1
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:110,1
    - Dst: lwgeom_dimensionality
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:110,1
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:119,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:121,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - lwgeom_in
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 133
    functionName: lwgeom_clean
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - lwtype_name
    - lwgeom_dimensionality
    - lwpgnotice
    - lwgeom_make_valid
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_clean(LWGEOM* lwgeom_in)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:143,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:144,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:148,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:150,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:151,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:152,1
    - Dst: lwgeom_clean
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:156,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:159,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:160,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:163,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos_clean.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 165
    functionName: ST_CleanGeometry
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_clean.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_clean
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CleanGeometry(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_geos_version
      Src: /src/postgis/postgis/lwgeom_geos.c:94,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos.c:95,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: postgis_geos_version
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_POINTER
    - cstring_to_text
    - lwgeom_geos_version
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_geos_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_geos_compiled_version
      Src: /src/postgis/postgis/lwgeom_geos.c:102,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos.c:103,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: postgis_geos_compiled_version
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - cstring_to_text
    - lwgeom_geos_compiled_version
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_geos_compiled_version(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:123,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:124,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:126,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:126,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:127,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:129,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:131,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:133,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:135,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:138,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:139,1
    - Dst: GEOSHausdorffDistance
      Src: /src/postgis/postgis/lwgeom_geos.c:142,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:143,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:144,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:146,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:148,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:149,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 152
    functionName: hausdorffdistance
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_RETURN_FLOAT8
    - GEOSHausdorffDistance
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum hausdorffdistance(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:173,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:174,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:175,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:177,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:177,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:178,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:180,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:182,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:184,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:186,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:189,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:190,1
    - Dst: GEOSHausdorffDistanceDensify
      Src: /src/postgis/postgis/lwgeom_geos.c:193,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:194,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:195,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:197,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:199,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:200,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: hausdorffdistancedensify
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSHausdorffDistanceDensify
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - GEOSGeom_destroy
    - PG_RETURN_FLOAT8
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum hausdorffdistancedensify(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:223,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:224,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:225,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:227,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:227,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:228,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:230,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:232,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:234,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:236,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:239,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:240,1
    - Dst: GEOSFrechetDistance
      Src: /src/postgis/postgis/lwgeom_geos.c:245,1
    - Dst: GEOSFrechetDistanceDensify
      Src: /src/postgis/postgis/lwgeom_geos.c:249,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:252,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:253,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:255,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:257,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:258,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 261
    functionName: ST_FrechetDistance
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - HANDLE_GEOS_ERROR
    - GEOSFrechetDistanceDensify
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - GEOSFrechetDistance
    - GEOSGeom_destroy
    - PG_RETURN_FLOAT8
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_FrechetDistance(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:270,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:274,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:289,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:290,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:292,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:293,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:294,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:297,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:299,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:299,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:300,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:300,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:301,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:302,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:312,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:313,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:315,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:316,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:318,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos.c:320,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:321,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:328,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:330,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:332,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos.c:334,1
    - Dst: GEOSMaximumInscribedCircle
      Src: /src/postgis/postgis/lwgeom_geos.c:337,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:340,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:341,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:342,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/postgis/postgis/lwgeom_geos.c:347,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:350,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:351,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:352,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/postgis/postgis/lwgeom_geos.c:356,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/postgis/postgis/lwgeom_geos.c:357,1
    - Dst: GEOSDistance
      Src: /src/postgis/postgis/lwgeom_geos.c:358,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:359,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:360,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:362,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:363,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:364,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:365,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:366,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:367,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_geos.c:370,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_geos.c:371,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:373,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:375,1
    - Dst: Float8GetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:377,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_geos.c:379,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:381,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 266
    functionDepth: 8
    functionLinenumber: 266
    functionLinenumberEnd: 386
    functionName: ST_MaximumInscribedCircle
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - lwgeom_free
    - GEOSDistance
    - Float8GetDatum
    - lwgeom_isfinite
    - GEOSMaximumInscribedCircle
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - lwpoint_construct_empty
    - GEOSGeomGetStartPoint
    - gserialized_get_srid
    - BlessTupleDesc
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - gserialized_get_type
    - PG_RETURN_DATUM
    - gserialized_has_z
    - geometry_serialize
    - HANDLE_GEOS_ERROR
    - lwpgerror
    - PointerGetDatum
    - HeapTupleGetDatum
    - GEOSGeom_destroy
    - gserialized_is_empty
    - GEOSLargestEmptyCircle
    - get_call_result_type
    - GEOSGeomGetEndPoint
    - lwgeom_from_gserialized
    - heap_form_tuple
    - GEOS2POSTGIS
    - PG_ARGISNULL
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MaximumInscribedCircle(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:395,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:399,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:415,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:416,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:418,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:419,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:420,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:421,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:422,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:424,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:428,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:430,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:430,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:431,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:431,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:432,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:433,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:443,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:444,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:446,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:447,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:449,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos.c:452,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:453,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:463,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:465,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:467,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:471,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:473,1
    - Dst: GEOSLargestEmptyCircle
      Src: /src/postgis/postgis/lwgeom_geos.c:476,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:479,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:480,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:481,1
    - Dst: GEOSGeomGetStartPoint
      Src: /src/postgis/postgis/lwgeom_geos.c:484,1
    - Dst: GEOSGeomGetEndPoint
      Src: /src/postgis/postgis/lwgeom_geos.c:485,1
    - Dst: GEOSDistance
      Src: /src/postgis/postgis/lwgeom_geos.c:486,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:487,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:488,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:490,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:491,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:492,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:493,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:494,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:495,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:496,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_geos.c:499,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_geos.c:500,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:502,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:504,1
    - Dst: Float8GetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:506,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_geos.c:508,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:510,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 391
    functionDepth: 8
    functionLinenumber: 391
    functionLinenumberEnd: 515
    functionName: ST_LargestEmptyCircle
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - lwgeom_free
    - GEOSDistance
    - Float8GetDatum
    - lwgeom_isfinite
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - lwpoint_construct_empty
    - GEOSGeomGetStartPoint
    - gserialized_get_srid
    - BlessTupleDesc
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_RETURN_DATUM
    - PG_GETARG_FLOAT8
    - gserialized_has_z
    - geometry_serialize
    - HANDLE_GEOS_ERROR
    - lwpgerror
    - PointerGetDatum
    - HeapTupleGetDatum
    - GEOSGeom_destroy
    - gserialized_is_empty
    - GEOSLargestEmptyCircle
    - get_call_result_type
    - GEOSGeomGetEndPoint
    - lwgeom_from_gserialized
    - heap_form_tuple
    - GEOS2POSTGIS
    - PG_ARGISNULL
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: Datum
    signature: Datum ST_LargestEmptyCircle(PG_FUNCTION_ARGS)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:549,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:550,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_geos.c:552,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_geos.c:553,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_geos.c:553,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_geos.c:553,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:556,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:559,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_geos.c:560,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:566,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:571,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:574,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:583,1
    - Dst: ARR_DATA_PTR
      Src: /src/postgis/postgis/lwgeom_geos.c:583,1
    - Dst: GEOSGetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:587,1
    - Dst: GEOSUnaryUnion
      Src: /src/postgis/postgis/lwgeom_geos.c:588,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:589,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:590,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:591,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:592,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:593,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:594,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:601,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:607,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_geos.c:608,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_geos.c:614,1
    - Dst: gserialized_error_if_srid_mismatch_reference
      Src: /src/postgis/postgis/lwgeom_geos.c:618,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:622,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:623,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:628,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos.c:630,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:634,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:639,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:644,1
    - Dst: repalloc
      Src: /src/postgis/postgis/lwgeom_geos.c:653,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:661,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/postgis/lwgeom_geos.c:669,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:670,1
    - Dst: GEOSUnaryUnion
      Src: /src/postgis/postgis/lwgeom_geos.c:672,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:673,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:674,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:676,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:677,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:678,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:686,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:686,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:686,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:691,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:698,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:701,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 527
    functionDepth: 7
    functionLinenumber: 527
    functionLinenumberEnd: 702
    functionName: pgis_union_geometry_array
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - ARR_DIMS
    - array_iterate
    - ARR_NDIM
    - POSTGIS2GEOS
    - lwgeom_construct_empty
    - PG_RETURN_NULL
    - GEOSGetSRID
    - GEOSUnaryUnion
    - gserialized_get_srid
    - repalloc
    - ARR_DATA_PTR
    - ArrayGetNItems
    - initGEOS
    - gserialized_get_type
    - gserialized_has_z
    - geometry_serialize
    - HANDLE_GEOS_ERROR
    - POSTGIS_DEBUGF
    - gserialized_error_if_srid_mismatch_reference
    - array_create_iterator
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - PG_GETARG_ARRAYTYPE_P
    - GEOS2POSTGIS
    - PG_ARGISNULL
    - GEOSGeom_createCollection
    - array_free_iterator
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_union_geometry_array(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:719,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:720,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:720,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:721,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:723,1
    - Dst: lwgeom_unaryunion_prec
      Src: /src/postgis/postgis/lwgeom_geos.c:725,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:726,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:728,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:729,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:731,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 712
    functionDepth: 11
    functionLinenumber: 712
    functionLinenumberEnd: 734
    functionName: ST_UnaryUnion
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - lwgeom_unaryunion_prec
    linkageType: ''
    returnType: Datum
    signature: Datum ST_UnaryUnion(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:745,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:746,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:747,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:747,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:748,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:750,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:751,1
    - Dst: lwgeom_union_prec
      Src: /src/postgis/postgis/lwgeom_geos.c:753,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:754,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:756,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:757,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:758,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:760,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:761,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 737
    functionDepth: 11
    functionLinenumber: 737
    functionLinenumberEnd: 764
    functionName: ST_Union
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_union_prec
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Union(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:771,1
    - Dst: DirectFunctionCall2
      Src: /src/postgis/postgis/lwgeom_geos.c:771,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:773,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: symdifference
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - DirectFunctionCall2
    linkageType: ''
    returnType: Datum
    signature: Datum symdifference(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:791,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:792,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:793,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:793,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:794,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:796,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:797,1
    - Dst: lwgeom_symdifference_prec
      Src: /src/postgis/postgis/lwgeom_geos.c:799,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:800,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:802,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:803,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:804,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:806,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:807,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 783
    functionDepth: 11
    functionLinenumber: 783
    functionLinenumberEnd: 810
    functionName: ST_SymDifference
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_symdifference_prec
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_SymDifference(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:822,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:825,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:826,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:828,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:830,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:832,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:835,1
    - Dst: GEOSConvexHull
      Src: /src/postgis/postgis/lwgeom_geos.c:837,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:838,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:840,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:842,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/postgis/lwgeom_geos.c:842,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:844,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/postgis/lwgeom_geos.c:846,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:846,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:847,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:851,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:853,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos.c:857,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_geos.c:861,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:864,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:865,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:869,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:870,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:873,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 813
    functionDepth: 7
    functionLinenumber: 813
    functionLinenumberEnd: 875
    functionName: convexhull
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - lwgeom_free
    - gbox_copy
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - PG_FREE_IF_COPY
    - gserialized_get_srid
    - elog
    - GEOSConvexHull
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - gserialized_has_z
    - geometry_serialize
    - GEOSGeomToWKT
    - HANDLE_GEOS_ERROR
    - POSTGIS_DEBUGF
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_POINTER
    - gserialized_get_gbox_p
    linkageType: ''
    returnType: Datum
    signature: Datum convexhull(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:883,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:887,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:890,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:891,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:892,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:894,1
    - Dst: lwgeom_concavehull
      Src: /src/postgis/postgis/lwgeom_geos.c:895,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:896,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:898,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:899,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:900,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 879
    functionDepth: 11
    functionLinenumber: 879
    functionLinenumberEnd: 903
    functionName: ST_ConcaveHull
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwgeom_concavehull
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ConcaveHull(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:911,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:915,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:918,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:919,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:920,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:922,1
    - Dst: lwgeom_simplify_polygonal
      Src: /src/postgis/postgis/lwgeom_geos.c:923,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:924,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:926,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:927,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:928,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 907
    functionDepth: 11
    functionLinenumber: 907
    functionLinenumberEnd: 931
    functionName: ST_SimplifyPolygonHull
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_simplify_polygonal
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_SimplifyPolygonHull(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:944,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:945,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:946,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_geos.c:949,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:950,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:951,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:953,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:955,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:956,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:959,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:961,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:962,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:964,1
    - Dst: GEOSTopologyPreserveSimplify
      Src: /src/postgis/postgis/lwgeom_geos.c:966,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:967,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:969,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:971,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/postgis/lwgeom_geos.c:971,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:973,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:973,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:975,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:975,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:976,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:980,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:981,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:984,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:985,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 935
    functionDepth: 10
    functionLinenumber: 935
    functionLinenumberEnd: 986
    functionName: topologypreservesimplify
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - lwgeom_free
    - lwgeom_isfinite
    - PG_RETURN_NULL
    - PG_FREE_IF_COPY
    - gserialized_get_srid
    - elog
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_GETARG_FLOAT8
    - gserialized_has_z
    - GEOSGeomToWKT
    - HANDLE_GEOS_ERROR
    - lwpgerror
    - POSTGIS_DEBUGF
    - LWGEOM2GEOS
    - GEOSGeom_destroy
    - lwgeom_get_type
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - GEOS2POSTGIS
    - GEOSTopologyPreserveSimplify
    linkageType: ''
    returnType: Datum
    signature: Datum topologypreservesimplify(PG_FUNCTION_ARGS)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1016,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:1017,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:1020,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1022,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos.c:1026,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1030,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_geos.c:1032,1
    - Dst: lwpoly_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1032,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:1033,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1035,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1035,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1038,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:1040,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1042,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1043,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1045,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1047,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1049,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:1051,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_geos.c:1054,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos.c:1057,1
    - Dst: strtok
      Src: /src/postgis/postgis/lwgeom_geos.c:1062,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1064,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_geos.c:1067,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1070,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1076,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1078,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1083,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1087,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1088,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1092,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1098,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1107,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1109,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1113,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1114,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1118,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1124,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1132,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1133,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_geos.c:1136,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1138,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_geos.c:1141,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1143,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1145,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1149,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1153,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1160,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1166,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos.c:1172,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1176,1
    - Dst: GEOSBufferParams_create
      Src: /src/postgis/postgis/lwgeom_geos.c:1179,1
    - Dst: GEOSBufferParams_setEndCapStyle
      Src: /src/postgis/postgis/lwgeom_geos.c:1182,1
    - Dst: GEOSBufferParams_setJoinStyle
      Src: /src/postgis/postgis/lwgeom_geos.c:1183,1
    - Dst: GEOSBufferParams_setMitreLimit
      Src: /src/postgis/postgis/lwgeom_geos.c:1184,1
    - Dst: GEOSBufferParams_setQuadrantSegments
      Src: /src/postgis/postgis/lwgeom_geos.c:1185,1
    - Dst: GEOSBufferParams_setSingleSided
      Src: /src/postgis/postgis/lwgeom_geos.c:1186,1
    - Dst: GEOSBufferWithParams
      Src: /src/postgis/postgis/lwgeom_geos.c:1188,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1192,1
    - Dst: GEOSBufferParams_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1194,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1198,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1201,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:1203,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1205,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/postgis/lwgeom_geos.c:1205,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:1207,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:1207,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:1209,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:1209,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1210,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:1214,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1215,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1218,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1219,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 989
    functionDepth: 8
    functionLinenumber: 989
    functionLinenumberEnd: 1220
    functionName: buffer
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 42
    functionsReached:
    - strcmp
    - lwgeom_free
    - GEOSSetSRID
    - lwgeom_isfinite
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - lwpoly_construct_empty
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - gserialized_get_srid
    - GEOSBufferParams_create
    - GEOSBufferWithParams
    - elog
    - text_to_cstring
    - strtok
    - cstring_to_text
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - GEOSBufferParams_setJoinStyle
    - PG_GETARG_FLOAT8
    - geometry_serialize
    - gserialized_has_z
    - GEOSGeomToWKT
    - HANDLE_GEOS_ERROR
    - lwpgerror
    - POSTGIS_DEBUGF
    - lwpoly_as_lwgeom
    - PG_NARGS
    - GEOSBufferParams_setSingleSided
    - GEOSGeom_destroy
    - pfree
    - GEOSBufferParams_setMitreLimit
    - gserialized_is_empty
    - atoi
    - PG_RETURN_POINTER
    - VARSIZE_ANY_EXHDR
    - GEOSBufferParams_destroy
    - lwgeom_from_gserialized
    - GEOSBufferParams_setEndCapStyle
    - GEOS2POSTGIS
    - GEOSBufferParams_setQuadrantSegments
    - strchr
    - atof
    linkageType: ''
    returnType: Datum
    signature: Datum buffer(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1238,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_geos.c:1239,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1242,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:1244,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1244,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_geos.c:1246,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1249,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1250,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1255,1
    - Dst: lwgeom_to_points
      Src: /src/postgis/postgis/lwgeom_geos.c:1256,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1257,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1258,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1262,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1265,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1266,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1229
    functionDepth: 13
    functionLinenumber: 1229
    functionLinenumberEnd: 1268
    functionName: ST_GeneratePoints
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_points
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GeneratePoints(PG_FUNCTION_ARGS)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:1301,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1302,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:1303,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1306,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1309,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1311,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1314,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1315,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1320,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos.c:1321,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1323,1
    - Dst: strtok
      Src: /src/postgis/postgis/lwgeom_geos.c:1328,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1330,1
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_geos.c:1333,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1336,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1342,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1344,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1346,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1350,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1350,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1354,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1360,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1366,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1367,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_geos.c:1370,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_geos.c:1372,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_geos.c:1375,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1379,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1385,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos.c:1386,1
    - Dst: lwgeom_offsetcurve
      Src: /src/postgis/postgis/lwgeom_geos.c:1389,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1392,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1394,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1395,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1396,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1397,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1276
    functionDepth: 12
    functionLinenumber: 1276
    functionLinenumberEnd: 1398
    functionName: ST_OffsetCurve
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - PG_GETARG_TEXT_P
    - text_to_cstring
    - strtok
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - geometry_serialize
    - POSTGIS_DEBUGF
    - lwpgerror
    - PG_NARGS
    - pfree
    - atoi
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_offsetcurve
    - strchr
    - atof
    linkageType: ''
    returnType: Datum
    signature: Datum ST_OffsetCurve(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1409,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1410,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:1411,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1411,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:1412,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1414,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1415,1
    - Dst: lwgeom_intersection_prec
      Src: /src/postgis/postgis/lwgeom_geos.c:1417,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1418,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1420,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1421,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1422,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1424,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1425,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1401
    functionDepth: 11
    functionLinenumber: 1401
    functionLinenumberEnd: 1428
    functionName: ST_Intersection
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_intersection_prec
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Intersection(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1439,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1440,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:1441,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1441,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:1442,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1444,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1445,1
    - Dst: lwgeom_difference_prec
      Src: /src/postgis/postgis/lwgeom_geos.c:1447,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1448,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1450,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1451,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1452,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1454,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1455,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1431
    functionDepth: 11
    functionLinenumber: 1431
    functionLinenumberEnd: 1458
    functionName: ST_Difference
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwgeom_difference_prec
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Difference(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1470,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1472,1
    - Dst: lwgeom_pointonsurface
      Src: /src/postgis/postgis/lwgeom_geos.c:1473,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1474,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1475,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1477,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1479,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1480,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1465
    functionDepth: 11
    functionLinenumber: 1465
    functionLinenumberEnd: 1482
    functionName: pointonsurface
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - lwgeom_pointonsurface
    - lwgeom_free
    - geometry_serialize
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pointonsurface(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1490,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1492,1
    - Dst: lwgeom_centroid
      Src: /src/postgis/postgis/lwgeom_geos.c:1493,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1494,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1495,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1497,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1499,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1500,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1485
    functionDepth: 11
    functionLinenumber: 1485
    functionLinenumberEnd: 1502
    functionName: centroid
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 4
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_centroid
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum centroid(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:1510,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1511,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1513,1
    - Dst: lwgeom_reduceprecision
      Src: /src/postgis/postgis/lwgeom_geos.c:1514,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1515,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1516,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1518,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1520,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1521,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1506
    functionDepth: 11
    functionLinenumber: 1506
    functionLinenumberEnd: 1523
    functionName: ST_ReducePrecision
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_reduceprecision
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ReducePrecision(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_get_internals_p
      Src: /src/postgis/postgis/lwgeom_geos.c:1539,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:1539,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:1542,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:1542,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1546,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/postgis/lwgeom_geos.c:1550,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:1552,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos.c:1552,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos.c:1556,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1559,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1560,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1561,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1562,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1565,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1565,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/postgis/lwgeom_geos.c:1566,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1569,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1572,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1574,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1527
    functionDepth: 11
    functionLinenumber: 1527
    functionLinenumberEnd: 1576
    functionName: ST_ClipByBox2d
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gbox_overlaps_2d
    - geometry_serialize
    - lwgeom_free
    - lwgeom_clip_by_rect
    - lwgeom_from_gserialized
    - gserialized_datum_get_internals_p
    - gbox_contains_2d
    - lwgeom_construct_empty
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClipByBox2d(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1589,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1592,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1593,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1595,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1597,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1600,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1602,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1603,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1607,1
    - Dst: GEOSisValid
      Src: /src/postgis/postgis/lwgeom_geos.c:1610,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1611,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:1615,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1616,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1619,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1582
    functionDepth: 10
    functionLinenumber: 1582
    functionLinenumberEnd: 1621
    functionName: isvalid
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - PG_FREE_IF_COPY
    - lwpgerror
    - lwgeom_from_gserialized
    - LWGEOM2GEOS
    - elog
    - PG_RETURN_NULL
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - GEOSisValid
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum isvalid(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1631,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1633,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1635,1
    - Dst: GEOSisValidReason
      Src: /src/postgis/postgis/lwgeom_geos.c:1638,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1639,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:1640,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos.c:1641,1
    - Dst: GEOSFree
      Src: /src/postgis/postgis/lwgeom_geos.c:1642,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos.c:1646,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1649,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1651
    functionName: isvalidreason
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSisValidReason
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - GEOSGeom_destroy
    - GEOSFree
    - PG_GETARG_GSERIALIZED_P
    - cstring_to_text
    - initGEOS
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum isvalidreason(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_geos.c:1674,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_geos.c:1675,1
    - Dst: TupleDescGetAttInMetadata
      Src: /src/postgis/postgis/lwgeom_geos.c:1681,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1683,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_geos.c:1684,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1686,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1688,1
    - Dst: GEOSisValidDetail
      Src: /src/postgis/postgis/lwgeom_geos.c:1692,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1693,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/lwgeom_geos.c:1696,1
    - Dst: GEOSFree
      Src: /src/postgis/postgis/lwgeom_geos.c:1697,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/postgis/lwgeom_geos.c:1701,1
    - Dst: GEOSHasZ
      Src: /src/postgis/postgis/lwgeom_geos.c:1701,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1702,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1708,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1709,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/lwgeom_geos.c:1715,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/lwgeom_geos.c:1725,1
    - Dst: BuildTupleFromCStrings
      Src: /src/postgis/postgis/lwgeom_geos.c:1727,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:1728,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_geos.c:1729,1
    - Dst: heap_freetuple
      Src: /src/postgis/postgis/lwgeom_geos.c:1730,1
    - Dst: PG_RETURN_HEAPTUPLEHEADER
      Src: /src/postgis/postgis/lwgeom_geos.c:1732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1654
    functionDepth: 12
    functionLinenumber: 1654
    functionLinenumberEnd: 1733
    functionName: isvaliddetail
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - pstrdup
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - lwgeom_to_hexwkb_buffer
    - PG_RETURN_HEAPTUPLEHEADER
    - BlessTupleDesc
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_GETARG_INT32
    - TupleDescGetAttInMetadata
    - lwpgerror
    - heap_freetuple
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - GEOSFree
    - get_call_result_type
    - GEOSisValidDetail
    - palloc
    - BuildTupleFromCStrings
    - GEOSHasZ
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum isvaliddetail(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_geos.c:1743,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1745,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1747,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1748,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1750,1
    - Dst: lwgeom_is_simple
      Src: /src/postgis/postgis/lwgeom_geos.c:1751,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1752,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1753,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1756,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1737
    functionDepth: 11
    functionLinenumber: 1737
    functionLinenumberEnd: 1760
    functionName: issimple
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_is_simple
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum issimple(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1769,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:1772,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1773,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1775,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1777,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:1779,1
    - Dst: GEOSGeomTypeId
      Src: /src/postgis/postgis/lwgeom_geos.c:1781,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1783,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:1784,1
    - Dst: GEOSisRing
      Src: /src/postgis/postgis/lwgeom_geos.c:1787,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1788,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:1790,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1792,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:1793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1763
    functionDepth: 5
    functionLinenumber: 1763
    functionLinenumberEnd: 1794
    functionName: isring
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - elog
    - GEOSGeomTypeId
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - GEOSisRing
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum isring(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/postgis/lwgeom_geos.c:1802,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1805,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1809,1
    - Dst: lwgeom_summary
      Src: /src/postgis/postgis/lwgeom_geos.c:1809,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_geos.c:1811,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_geos.c:1811,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:1813,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - geom
    - want3d
    argTypes:
    - GEOSGeom
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1796
    functionDepth: 7
    functionLinenumber: 1796
    functionLinenumberEnd: 1817
    functionName: GEOS2POSTGIS
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 5
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_summary
    - POSTGIS_DEBUGF
    - lwpgerror
    - GEOS2LWGEOM
    - lwgeom_add_bbox
    - lwgeom_needs_bbox
    linkageType: ''
    returnType: GSERIALIZED
    signature: 'GSERIALIZED *

      GEOS2POSTGIS(GEOSGeom geom, char want3d)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1825,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1828,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1831,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:1832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pglwgeom
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1821
    functionDepth: 10
    functionLinenumber: 1821
    functionLinenumberEnd: 1835
    functionName: POSTGIS2GEOS
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 11
    functionsReached:
    - lwpgerror
    - lwgeom_free
    - lwgeom_from_gserialized
    - LWGEOM2GEOS
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      POSTGIS2GEOS(const GSERIALIZED *pglwgeom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:1844,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_geos.c:1845,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - array
    argTypes:
    - ArrayType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1854
    functionName: array_nelems_not_null
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - array_free_iterator
    - array_create_iterator
    - array_iterate
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t array_nelems_not_null(ArrayType* array)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:1865,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:1867,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_geos.c:1869,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_geos.c:1871,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:1876,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:1878,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1881,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:1887,1
    - Dst: gserialized_error_if_srid_mismatch_reference
      Src: /src/postgis/postgis/lwgeom_geos.c:1890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1857
    functionDepth: 6
    functionLinenumber: 1857
    functionLinenumberEnd: 1896
    functionName: ARRAY2LWGEOM
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 3
    functionsReached:
    - palloc
    - DatumGetPointer
    - gserialized_has_z
    - gserialized_get_srid
    - array_iterate
    - lwpgerror
    - lwgeom_from_gserialized
    - gserialized_error_if_srid_mismatch_reference
    - array_create_iterator
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM ** ARRAY2LWGEOM(ArrayType* array, uint32_t nelems,  int* is3d,
      int* srid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:1907,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:1909,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_geos.c:1911,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_geos.c:1913,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:1918,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1920,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:1924,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1927,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:1934,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:1937,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1941,1
    - Dst: gserialized_error_if_srid_mismatch_reference
      Src: /src/postgis/postgis/lwgeom_geos.c:1943,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_geos.c:1950,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1899
    functionDepth: 11
    functionLinenumber: 1899
    functionLinenumberEnd: 1952
    functionName: ARRAY2GEOS
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 1
    functionsReached:
    - palloc
    - DatumGetPointer
    - gserialized_has_z
    - gserialized_get_srid
    - array_iterate
    - lwpgerror
    - gserialized_error_if_srid_mismatch_reference
    - array_create_iterator
    - POSTGIS2GEOS
    - GEOSGeom_destroy
    - array_free_iterator
    linkageType: ''
    returnType: GEOSGeometry
    signature: GEOSGeometry ** ARRAY2GEOS(ArrayType* array, uint32_t nelems, int*
      is3d, int* srid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1961,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1963,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1964,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1965,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:1967,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_geos.c:1967,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:1968,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:1970,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1955
    functionDepth: 11
    functionLinenumber: 1955
    functionLinenumberEnd: 1973
    functionName: GEOSnoop
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - POSTGIS2GEOS
    - GEOS2POSTGIS
    - PG_RETURN_NULL
    - GEOSGeom_destroy
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum GEOSnoop(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1986,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1987,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_geos.c:1989,1
    - Dst: array_nelems_not_null
      Src: /src/postgis/postgis/lwgeom_geos.c:1990,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:1993,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:1995,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:1998,1
    - Dst: ARRAY2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2000,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_geos.c:2002,1
    - Dst: GEOSPolygonize
      Src: /src/postgis/postgis/lwgeom_geos.c:2004,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_geos.c:2006,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2008,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos.c:2009,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2011,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:2013,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:2014,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2015,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2018,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2019,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1976
    functionDepth: 12
    functionLinenumber: 1976
    functionLinenumberEnd: 2023
    functionName: polygonize_garray
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - array_nelems_not_null
    - GEOSSetSRID
    - POSTGIS_DEBUGF
    - PG_GETARG_ARRAYTYPE_P
    - GEOS2POSTGIS
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - GEOSPolygonize
    - GEOSGeom_destroy
    - pfree
    - POSTGIS_DEBUG
    - initGEOS
    - PG_RETURN_POINTER
    - ARRAY2GEOS
    linkageType: ''
    returnType: Datum
    signature: Datum polygonize_garray(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2042,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2043,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2045,1
    - Dst: array_nelems_not_null
      Src: /src/postgis/postgis/lwgeom_geos.c:2046,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:2048,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2050,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2055,1
    - Dst: ARRAY2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2057,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2060,1
    - Dst: cluster_intersecting
      Src: /src/postgis/postgis/lwgeom_geos.c:2063,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2065,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2066,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos.c:2068,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2070,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:2072,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:2075,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:2075,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2076,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos.c:2078,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_geos.c:2080,1
    - Dst: construct_array
      Src: /src/postgis/postgis/lwgeom_geos.c:2081,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2085,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2086,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2089,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2027
    functionDepth: 12
    functionLinenumber: 2027
    functionLinenumberEnd: 2090
    functionName: clusterintersecting_garray
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - array_nelems_not_null
    - palloc
    - POSTGIS_DEBUGF
    - construct_array
    - PG_GETARG_ARRAYTYPE_P
    - PointerGetDatum
    - elog
    - GEOS2POSTGIS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - cluster_intersecting
    - GEOSGeom_destroy
    - pfree
    - lwfree
    - initGEOS
    - PG_RETURN_POINTER
    - get_typlenbyvalalign
    - ARRAY2GEOS
    linkageType: ''
    returnType: Datum
    signature: Datum clusterintersecting_garray(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2110,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2111,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2113,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2115,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2118,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2119,1
    - Dst: array_nelems_not_null
      Src: /src/postgis/postgis/lwgeom_geos.c:2122,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos.c:2124,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2126,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2131,1
    - Dst: ARRAY2LWGEOM
      Src: /src/postgis/postgis/lwgeom_geos.c:2133,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2136,1
    - Dst: cluster_within_distance
      Src: /src/postgis/postgis/lwgeom_geos.c:2139,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2141,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2142,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos.c:2144,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2146,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos.c:2148,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_geos.c:2151,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2151,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2152,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_geos.c:2154,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_geos.c:2156,1
    - Dst: construct_array
      Src: /src/postgis/postgis/lwgeom_geos.c:2157,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2161,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2162,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2093
    functionDepth: 7
    functionLinenumber: 2093
    functionLinenumberEnd: 2166
    functionName: cluster_within_distance_garray
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - construct_array
    - PG_RETURN_NULL
    - array_nelems_not_null
    - elog
    - initGEOS
    - PG_GETARG_FLOAT8
    - geometry_serialize
    - POSTGIS_DEBUGF
    - lwpgerror
    - PointerGetDatum
    - pfree
    - lwfree
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - PG_GETARG_ARRAYTYPE_P
    - cluster_within_distance
    - PG_ARGISNULL
    - ARRAY2LWGEOM
    linkageType: ''
    returnType: Datum
    signature: Datum cluster_within_distance_garray(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2176,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos.c:2178,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:2179,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2181,1
    - Dst: lwgeom_linemerge_directed
      Src: /src/postgis/postgis/lwgeom_geos.c:2183,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2184,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2186,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2187,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2189,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2169
    functionDepth: 11
    functionLinenumber: 2169
    functionLinenumberEnd: 2192
    functionName: linemerge
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 2
    functionsReached:
    - lwgeom_linemerge_directed
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_GETARG_BOOL
    - PG_NARGS
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum linemerge(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2208,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2209,1
    - Dst: lwgeom_buildarea
      Src: /src/postgis/postgis/lwgeom_geos.c:2211,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2212,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2216,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2217,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2220,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2221,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2223,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2202
    functionDepth: 11
    functionLinenumber: 2202
    functionLinenumberEnd: 2225
    functionName: ST_BuildArea
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_buildarea
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_BuildArea(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2240,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2241,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_geos.c:2242,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2244,1
    - Dst: lwgeom_delaunay_triangulation
      Src: /src/postgis/postgis/lwgeom_geos.c:2245,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2246,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2250,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2251,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2254,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2255,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2257,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2232
    functionDepth: 11
    functionLinenumber: 2232
    functionLinenumberEnd: 2259
    functionName: ST_DelaunayTriangles
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_delaunay_triangulation
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_DelaunayTriangles(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2271,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2275,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2279,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2280,1
    - Dst: lwgeom_triangulate_polygon
      Src: /src/postgis/postgis/lwgeom_geos.c:2281,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2282,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2287,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2290,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2291,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2293,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2267
    functionDepth: 11
    functionLinenumber: 2267
    functionLinenumberEnd: 2296
    functionName: ST_TriangulatePolygon
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_triangulate_polygon
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_TriangulatePolygon(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2311,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2312,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2313,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2315,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2316,1
    - Dst: lwgeom_snap
      Src: /src/postgis/postgis/lwgeom_geos.c:2318,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2319,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2320,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2321,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2322,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2324,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2325,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2305
    functionDepth: 11
    functionLinenumber: 2305
    functionLinenumberEnd: 2328
    functionName: ST_Snap
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_snap
    - lwgeom_free
    - geometry_serialize
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Snap(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2361,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2362,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos.c:2363,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2365,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2366,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:2368,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2370,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2371,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:2374,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2376,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2377,1
    - Dst: lwgeom_split
      Src: /src/postgis/postgis/lwgeom_geos.c:2381,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2382,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2383,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2387,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2388,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2389,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2392,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2393,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2394,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2395,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2356
    functionDepth: 13
    functionLinenumber: 2356
    functionLinenumberEnd: 2398
    functionName: ST_Split
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - lwgeom_split
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_isfinite
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Split(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2422,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2423,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2425,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2426,1
    - Dst: lwgeom_sharedpaths
      Src: /src/postgis/postgis/lwgeom_geos.c:2428,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2429,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2430,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2434,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2435,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2436,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2439,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2440,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2442,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2443,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2417
    functionDepth: 11
    functionLinenumber: 2417
    functionLinenumberEnd: 2445
    functionName: ST_SharedPaths
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_sharedpaths
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_SharedPaths(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2463,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2465,1
    - Dst: lwgeom_node
      Src: /src/postgis/postgis/lwgeom_geos.c:2467,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2468,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2472,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2473,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2476,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2477,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2479,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2458
    functionDepth: 12
    functionLinenumber: 2458
    functionLinenumberEnd: 2481
    functionName: ST_Node
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_node
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Node(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2506,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2507,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2510,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2512,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2513,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2516,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2520,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2521,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2525,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2527,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2528,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:2530,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2533,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2535,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos.c:2536,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2538,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2539,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2540,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2542,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2546,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2548,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2552,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2553,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2554,1
    - Dst: lwgeom_voronoi_diagram
      Src: /src/postgis/postgis/lwgeom_geos.c:2557,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2558,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos.c:2562,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2563,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2564,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_geos.c:2567,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2568,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2570,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2571,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2493
    functionDepth: 9
    functionLinenumber: 2493
    functionLinenumberEnd: 2572
    functionName: ST_Voronoi
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - gserialized_get_gbox_p
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_voronoi_diagram
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Voronoi(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2590,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2592,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2593,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2595,1
    - Dst: GEOSMinimumClearance
      Src: /src/postgis/postgis/lwgeom_geos.c:2597,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2598,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2599,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2601,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2583
    functionDepth: 11
    functionLinenumber: 2583
    functionLinenumberEnd: 2603
    functionName: ST_MinimumClearance
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - GEOSGeom_destroy
    - GEOSMinimumClearance
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MinimumClearance(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2622,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2624,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:2625,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2626,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2628,1
    - Dst: GEOSMinimumClearanceLine
      Src: /src/postgis/postgis/lwgeom_geos.c:2630,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2631,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2633,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:2635,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:2636,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2637,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2639,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2614
    functionDepth: 11
    functionLinenumber: 2614
    functionLinenumberEnd: 2641
    functionName: ST_MinimumClearanceLine
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSSetSRID
    - gserialized_get_srid
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - GEOS2POSTGIS
    - GEOSMinimumClearanceLine
    - GEOSGeom_destroy
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MinimumClearanceLine(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2658,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2660,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_geos.c:2661,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2662,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2664,1
    - Dst: GEOSMinimumRotatedRectangle
      Src: /src/postgis/postgis/lwgeom_geos.c:2666,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2667,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2669,1
    - Dst: GEOSSetSRID
      Src: /src/postgis/postgis/lwgeom_geos.c:2671,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_geos.c:2672,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2673,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2675,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_geos.c:2676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2650
    functionDepth: 11
    functionLinenumber: 2650
    functionLinenumberEnd: 2677
    functionName: ST_OrientedEnvelope
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSMinimumRotatedRectangle
    - GEOSSetSRID
    - gserialized_get_srid
    - HANDLE_GEOS_ERROR
    - POSTGIS2GEOS
    - GEOS2POSTGIS
    - GEOSGeom_destroy
    - PG_GETARG_GSERIALIZED_P
    - initGEOS
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_OrientedEnvelope(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2689,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos.c:2690,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2691,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos.c:2692,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_geos.c:2693,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos.c:2700,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_geos.c:2701,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos.c:2704,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:2706,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_geos.c:2706,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:2707,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:2709,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_geos.c:2709,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:2710,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2712,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2714,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos.c:2715,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2716,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos.c:2717,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2719,1
    - Dst: GEOSBuffer
      Src: /src/postgis/postgis/lwgeom_geos.c:2721,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2722,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2724,1
    - Dst: GEOSCovers
      Src: /src/postgis/postgis/lwgeom_geos.c:2726,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2727,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos.c:2728,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos.c:2730,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2732,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos.c:2733,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos.c:2735,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2687
    functionDepth: 10
    functionLinenumber: 2687
    functionLinenumberEnd: 2736
    functionName: LWGEOM_dfullywithin
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.c
    functionUses: 0
    functionsReached:
    - GEOSBuffer
    - lwgeom_free
    - HANDLE_GEOS_ERROR
    - lwgeom_isfinite
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - LWGEOM2GEOS
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - initGEOS
    - GEOSCovers
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dfullywithin(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: compareFloats
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareFloats(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:130,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:130,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:130,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:135,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:135,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:137,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:137,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:140,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - centroid
    - inBox
    argTypes:
    - GIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: getOctant
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MIN
    - GIDX_NDIMS
    - Min
    - GIDX_GET_MAX
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getOctant(const GIDX *centroid, const GIDX *inBox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:158,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:159,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:159,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:160,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:160,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:163,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:163,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:164,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:164,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:170,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:171,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:172,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ndims
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: initCubeBox
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - palloc
    - GIDX_SIZE
    - GIDX_SET_MAX
    - GIDX_SET_MIN
    - SET_VARSIZE
    linkageType: ''
    returnType: CubeGIDX
    signature: 'CubeGIDX *

      initCubeBox(int ndims)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:189,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:190,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:191,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:191,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:192,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:192,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:195,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:195,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:196,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:196,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:202,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:202,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:205,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:205,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:207,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:207,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:212,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:212,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:214,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cube_box
    - centroid
    - octant
    argTypes:
    - CubeGIDX*
    - GIDX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 221
    functionName: nextCubeBox
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - palloc
    - GIDX_SIZE
    - GIDX_GET_MAX
    - GIDX_NDIMS
    - VARSIZE
    - GIDX_GET_MIN
    - memcpy
    linkageType: ''
    returnType: CubeGIDX
    signature: 'CubeGIDX *

      nextCubeBox(CubeGIDX *cube_box, GIDX *centroid, uint16_t octant)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:230,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:230,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:230,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:235,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:235,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:236,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:236,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:237,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeGIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: overlapND
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MIN
    - GIDX_NDIMS
    - Min
    - GIDX_GET_MAX
    linkageType: ''
    returnType: bool
    signature: bool overlapND(CubeGIDX *cube_box, GIDX *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:249,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:249,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:249,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:254,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:254,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:255,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:255,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:256,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeGIDX*
    - GIDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: containND
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - GIDX_GET_MIN
    - GIDX_NDIMS
    - Min
    - GIDX_GET_MAX
    linkageType: ''
    returnType: bool
    signature: bool containND(CubeGIDX *cube_box, GIDX *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:269,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:271,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:272,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: gserialized_spgist_config_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_VOID
    - postgis_oid
    - postgis_initialize_cache
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_config_nd(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:291,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:292,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:293,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:293,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:296,1
    - Dst: getOctant
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:300,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: gserialized_spgist_choose_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - PG_RETURN_VOID
    - PointerGetDatum
    - getOctant
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_choose_nd(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:315,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:316,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:324,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:325,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:330,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:331,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:337,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:339,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:340,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:348,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:349,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:352,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:352,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:353,1
    - Dst: GIDX_SIZE
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:353,1
    - Dst: GIDX_SET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:358,1
    - Dst: GIDX_SET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:359,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:364,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:364,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:369,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:370,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:378,1
    - Dst: getOctant
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:379,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:381,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:385,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:386,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 389
    functionName: gserialized_spgist_picksplit_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - palloc
    - GIDX_GET_MAX
    - GIDX_SIZE
    - GIDX_SET_MAX
    - gidx_copy
    - PG_RETURN_VOID
    - GIDX_NDIMS
    - qsort
    - GIDX_SET_MIN
    - PointerGetDatum
    - pfree
    - GIDX_GET_MIN
    - getOctant
    - SET_VARSIZE
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_picksplit_nd(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:398,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:399,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:407,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:413,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:417,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:425,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:427,1
    - Dst: initCubeBox
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:436,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:436,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:440,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:441,1
    - Dst: nextCubeBox
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:445,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:454,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:456,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:462,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:464,1
    - Dst: overlapND
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:473,1
    - Dst: containND
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:478,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:482,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:502,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:507,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:508,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:514,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:515,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:518,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:520,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 396
    functionDepth: 8
    functionLinenumber: 396
    functionLinenumberEnd: 521
    functionName: gserialized_spgist_inner_consistent_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - DatumGetPointer
    - gserialized_datum_get_gidx_p
    - initCubeBox
    - PG_RETURN_VOID
    - nextCubeBox
    - GIDX_NDIMS
    - elog
    - overlapND
    - pfree
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - containND
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_inner_consistent_nd(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:530,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:531,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:535,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:537,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:552,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:554,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:559,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:561,1
    - Dst: gidx_overlaps
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:568,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:572,1
    - Dst: gidx_contains
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:576,1
    - Dst: gidx_equals
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:580,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:584,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 528
    functionDepth: 8
    functionLinenumber: 528
    functionLinenumberEnd: 593
    functionName: gserialized_spgist_leaf_consistent_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - gserialized_datum_get_gidx_p
    - gidx_overlaps
    - gidx_contains
    - elog
    - gidx_equals
    - POSTGIS_DEBUG
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_leaf_consistent_nd(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:603,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:606,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:608,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:609,1
    - Dst: gserialized_datum_get_gidx_p
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:614,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:614,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:616,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:617,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:620,1
    - Dst: gidx_to_string
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:620,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:624,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:626,1
    - Dst: GIDX_GET_MAX
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:626,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:626,1
    - Dst: GIDX_GET_MIN
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:626,1
    - Dst: gidx_set_unknown
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:628,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:629,1
    - Dst: gidx_validate
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:634,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:637,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_spgist_nd.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 597
    functionDepth: 8
    functionLinenumber: 597
    functionLinenumberEnd: 638
    functionName: gserialized_spgist_compress_nd
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_nd.c
    functionUses: 0
    functionsReached:
    - gidx_copy
    - gserialized_datum_get_gidx_p
    - GIDX_GET_MAX
    - gidx_set_unknown
    - POSTGIS_DEBUGF
    - GIDX_NDIMS
    - gidx_validate
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - isfinite
    - gidx_to_string
    - GIDX_GET_MIN
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_compress_nd(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinGetPartitionLocalMemory
      Src: /src/postgis/postgis/lwgeom_window.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - win_obj
    - ngeoms
    argTypes:
    - WindowObject
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: fetch_cluster_context
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - WinGetPartitionLocalMemory
    linkageType: ''
    returnType: cluster_context
    signature: 'cluster_context *

      fetch_cluster_context(WindowObject win_obj, uint32_t ngeoms)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinGetFuncArgInPartition
      Src: /src/postgis/postgis/lwgeom_window.c:75,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_window.c:82,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_window.c:82,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_window.c:85,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_window.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - win_obj
    - i
    - is_null
    argTypes:
    - WindowObject
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: read_lwgeom_from_partition
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_DETOAST_DATUM_COPY
    - lwpoint_as_lwgeom
    - WinGetFuncArgInPartition
    - lwpoint_construct_empty
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      read_lwgeom_from_partition(WindowObject win_obj, uint32_t i, bool* is_null)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WinGetFuncArgInPartition
      Src: /src/postgis/postgis/lwgeom_window.c:95,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_window.c:102,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/lwgeom_window.c:102,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_window.c:103,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_window.c:104,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_window.c:108,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_window.c:109,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_window.c:110,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_window.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - win_obj
    - i
    - is_null
    argTypes:
    - WindowObject
    - uint32_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 10
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: read_geos_from_partition
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - LWGEOM2GEOS
    - PG_DETOAST_DATUM_COPY
    - lwpoint_as_lwgeom
    - WinGetFuncArgInPartition
    - lwpoint_construct_empty
    linkageType: ''
    returnType: GEOSGeometry
    signature: 'GEOSGeometry *

      read_geos_from_partition(WindowObject win_obj, uint32_t i, bool* is_null)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PG_WINDOW_OBJECT
      Src: /src/postgis/postgis/lwgeom_window.c:122,1
    - Dst: WinGetCurrentPosition
      Src: /src/postgis/postgis/lwgeom_window.c:123,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:124,1
    - Dst: fetch_cluster_context
      Src: /src/postgis/postgis/lwgeom_window.c:125,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:136,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:137,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:138,1
    - Dst: DatumGetInt32
      Src: /src/postgis/postgis/lwgeom_window.c:139,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:146,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:147,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:151,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_window.c:154,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_window.c:155,1
    - Dst: UF_create
      Src: /src/postgis/postgis/lwgeom_window.c:156,1
    - Dst: read_lwgeom_from_partition
      Src: /src/postgis/postgis/lwgeom_window.c:160,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:165,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:166,1
    - Dst: union_dbscan
      Src: /src/postgis/postgis/lwgeom_window.c:170,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_window.c:175,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:177,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:181,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:183,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:184,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:185,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/postgis/lwgeom_window.c:188,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:201,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:202,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:206,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_window.c:208,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 209
    functionName: ST_ClusterDBSCAN
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - UF_get_collapsed_cluster_ids
    - WinGetPartitionRowCount
    - union_dbscan
    - PG_RETURN_NULL
    - UF_destroy
    - WinGetFuncArgCurrent
    - lwalloc
    - UF_create
    - initGEOS
    - PG_WINDOW_OBJECT
    - lwpgerror
    - DatumGetFloat8
    - lwfree
    - fetch_cluster_context
    - WinGetCurrentPosition
    - DatumGetInt32
    - read_lwgeom_from_partition
    - PG_RETURN_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClusterDBSCAN(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_WINDOW_OBJECT
      Src: /src/postgis/postgis/lwgeom_window.c:215,1
    - Dst: WinGetCurrentPosition
      Src: /src/postgis/postgis/lwgeom_window.c:216,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:217,1
    - Dst: fetch_cluster_context
      Src: /src/postgis/postgis/lwgeom_window.c:218,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:227,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:227,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:232,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:233,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_window.c:238,1
    - Dst: UF_create
      Src: /src/postgis/postgis/lwgeom_window.c:239,1
    - Dst: read_lwgeom_from_partition
      Src: /src/postgis/postgis/lwgeom_window.c:243,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:248,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:249,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_window.c:253,1
    - Dst: union_dbscan
      Src: /src/postgis/postgis/lwgeom_window.c:255,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_window.c:260,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:262,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:266,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:267,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:268,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/postgis/lwgeom_window.c:271,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:277,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:278,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:282,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_window.c:284,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 285
    functionName: ST_ClusterWithinWin
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - UF_create
    - lwgeom_free
    - UF_get_collapsed_cluster_ids
    - WinGetCurrentPosition
    - lwpgerror
    - WinGetPartitionRowCount
    - union_dbscan
    - DatumGetFloat8
    - PG_RETURN_NULL
    - read_lwgeom_from_partition
    - WinGetFuncArgCurrent
    - UF_destroy
    - lwalloc
    - fetch_cluster_context
    - lwfree
    - initGEOS
    - PG_RETURN_INT32
    - PG_WINDOW_OBJECT
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClusterWithinWin(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_WINDOW_OBJECT
      Src: /src/postgis/postgis/lwgeom_window.c:291,1
    - Dst: WinGetCurrentPosition
      Src: /src/postgis/postgis/lwgeom_window.c:292,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:293,1
    - Dst: fetch_cluster_context
      Src: /src/postgis/postgis/lwgeom_window.c:294,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_window.c:300,1
    - Dst: UF_create
      Src: /src/postgis/postgis/lwgeom_window.c:301,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_window.c:305,1
    - Dst: read_geos_from_partition
      Src: /src/postgis/postgis/lwgeom_window.c:310,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:315,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:316,1
    - Dst: union_intersecting_pairs
      Src: /src/postgis/postgis/lwgeom_window.c:320,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:325,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:327,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:331,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:332,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:333,1
    - Dst: UF_get_collapsed_cluster_ids
      Src: /src/postgis/postgis/lwgeom_window.c:336,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:342,1
    - Dst: UF_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:343,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:347,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_window.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 289
    functionDepth: 11
    functionLinenumber: 289
    functionLinenumberEnd: 350
    functionName: ST_ClusterIntersectingWin
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - union_intersecting_pairs
    - UF_create
    - UF_get_collapsed_cluster_ids
    - WinGetCurrentPosition
    - lwpgerror
    - WinGetPartitionRowCount
    - PG_RETURN_NULL
    - read_geos_from_partition
    - GEOSGeom_destroy
    - UF_destroy
    - lwalloc
    - fetch_cluster_context
    - lwfree
    - initGEOS
    - PG_RETURN_INT32
    - PG_WINDOW_OBJECT
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClusterIntersectingWin(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PG_WINDOW_OBJECT
      Src: /src/postgis/postgis/lwgeom_window.c:357,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:361,1
    - Dst: WinGetPartitionLocalMemory
      Src: /src/postgis/postgis/lwgeom_window.c:363,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:376,1
    - Dst: DatumGetInt32
      Src: /src/postgis/postgis/lwgeom_window.c:377,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:382,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:386,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:391,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:395,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:398,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:405,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_window.c:408,1
    - Dst: WinGetFuncArgInPartition
      Src: /src/postgis/postgis/lwgeom_window.c:412,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_window.c:422,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_window.c:423,1
    - Dst: lwgeom_cluster_kmeans
      Src: /src/postgis/postgis/lwgeom_window.c:427,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_window.c:432,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_window.c:434,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:440,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_window.c:444,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_window.c:445,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:450,1
    - Dst: WinGetCurrentPosition
      Src: /src/postgis/postgis/lwgeom_window.c:452,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_window.c:453,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 454
    functionName: ST_ClusterKMeans
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - WinGetPartitionLocalMemory
    - WinGetPartitionRowCount
    - PG_DETOAST_DATUM_COPY
    - PG_RETURN_NULL
    - WinGetFuncArgCurrent
    - WinGetFuncArgInPartition
    - PG_WINDOW_OBJECT
    - lwpgerror
    - lwgeom_cluster_kmeans
    - DatumGetFloat8
    - pfree
    - lwfree
    - palloc
    - WinGetCurrentPosition
    - DatumGetInt32
    - lwgeom_from_gserialized
    - PG_RETURN_INT32
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClusterKMeans(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - geoms
    - ngeoms
    argTypes:
    - GEOSGeometry**
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: coverage_destroy_geoms
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - GEOSGeom_destroy
    linkageType: ''
    returnType: void
    signature: void coverage_destroy_geoms(GEOSGeometry **geoms, uint32 ngeoms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinGetPartitionLocalMemory
      Src: /src/postgis/postgis/lwgeom_window.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - winobj
    - rowcount
    argTypes:
    - WindowObject
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: coverage_context_fetch
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - WinGetPartitionLocalMemory
    linkageType: ''
    returnType: coverage_context
    signature: 'coverage_context *

      coverage_context_fetch(WindowObject winobj, int64 rowcount)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:523,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_window.c:529,1
    - Dst: WinGetFuncArgInPartition
      Src: /src/postgis/postgis/lwgeom_window.c:538,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_window.c:558,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_window.c:559,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_window.c:560,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_window.c:571,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/postgis/lwgeom_window.c:589,1
    - Dst: coverage_destroy_geoms
      Src: /src/postgis/postgis/lwgeom_window.c:600,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_window.c:604,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - winobj
    - context
    argTypes:
    - WindowObject
    - coverage_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 518
    functionDepth: 11
    functionLinenumber: 518
    functionLinenumberEnd: 606
    functionName: coverage_read_partition_into_collection
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_DETOAST_DATUM
    - WinGetPartitionRowCount
    - POSTGIS2GEOS
    - WinGetFuncArgInPartition
    - pfree
    - gserialized_is_empty
    - gserialized_get_type
    - coverage_destroy_geoms
    - GEOSGeom_createCollection
    linkageType: ''
    returnType: GEOSGeometry
    signature: "GEOSGeometry *\ncoverage_read_partition_into_collection(\n\tWindowObject
      winobj,\n\tcoverage_context* context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/postgis/postgis/lwgeom_window.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - strategy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 649
    functionName: coverage_merge_strategy
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int coverage_merge_strategy(const char *strategy)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PG_WINDOW_OBJECT
      Src: /src/postgis/postgis/lwgeom_window.c:661,1
    - Dst: WinGetCurrentPosition
      Src: /src/postgis/postgis/lwgeom_window.c:662,1
    - Dst: WinGetPartitionRowCount
      Src: /src/postgis/postgis/lwgeom_window.c:663,1
    - Dst: coverage_context_fetch
      Src: /src/postgis/postgis/lwgeom_window.c:664,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_window.c:678,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:684,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_window.c:687,1
    - Dst: coverage_read_partition_into_collection
      Src: /src/postgis/postgis/lwgeom_window.c:689,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:691,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:699,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:700,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:702,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:703,1
    - Dst: GEOSCoverageSimplifyVW
      Src: /src/postgis/postgis/lwgeom_window.c:706,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:711,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:712,1
    - Dst: GEOSCoverageIsValid
      Src: /src/postgis/postgis/lwgeom_window.c:713,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:726,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:727,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:729,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_window.c:730,1
    - Dst: WinGetFuncArgCurrent
      Src: /src/postgis/postgis/lwgeom_window.c:732,1
    - Dst: DatumGetTextP
      Src: /src/postgis/postgis/lwgeom_window.c:735,1
    - Dst: coverage_merge_strategy
      Src: /src/postgis/postgis/lwgeom_window.c:736,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_window.c:736,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:744,1
    - Dst: GEOSCoverageCleanParams_create
      Src: /src/postgis/postgis/lwgeom_window.c:747,1
    - Dst: GEOSCoverageCleanParams_setGapMaximumWidth
      Src: /src/postgis/postgis/lwgeom_window.c:748,1
    - Dst: GEOSCoverageCleanParams_setSnappingDistance
      Src: /src/postgis/postgis/lwgeom_window.c:749,1
    - Dst: GEOSCoverageCleanParams_setOverlapMergeStrategy
      Src: /src/postgis/postgis/lwgeom_window.c:750,1
    - Dst: GEOSCoverageCleanParams_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:752,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:753,1
    - Dst: GEOSCoverageCleanWithParams
      Src: /src/postgis/postgis/lwgeom_window.c:756,1
    - Dst: GEOSCoverageCleanParams_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:757,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_window.c:762,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:765,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:769,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_window.c:772,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/postgis/lwgeom_window.c:773,1
    - Dst: GEOSHasZ
      Src: /src/postgis/postgis/lwgeom_window.c:773,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_window.c:774,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:775,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 658
    functionDepth: 12
    functionLinenumber: 658
    functionLinenumberEnd: 778
    functionName: coverage_window_calculation
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - coverage_merge_strategy
    - WinGetPartitionRowCount
    - coverage_context_fetch
    - PG_RETURN_NULL
    - WinGetFuncArgCurrent
    - GEOSCoverageCleanParams_create
    - GEOSCoverageCleanParams_destroy
    - GEOSCoverageIsValid
    - elog
    - text_to_cstring
    - initGEOS
    - GEOSCoverageCleanParams_setSnappingDistance
    - PG_WINDOW_OBJECT
    - coverage_read_partition_into_collection
    - GEOSCoverageSimplifyVW
    - DatumGetTextP
    - HANDLE_GEOS_ERROR
    - GEOS2LWGEOM
    - DatumGetFloat8
    - GEOSGeom_destroy
    - GEOSCoverageCleanParams_setGapMaximumWidth
    - GEOSCoverageCleanParams_setOverlapMergeStrategy
    - WinGetCurrentPosition
    - MemoryContextSwitchTo
    - GEOSHasZ
    - GEOSCoverageCleanWithParams
    linkageType: ''
    returnType: Datum
    signature: Datum coverage_window_calculation(PG_FUNCTION_ARGS, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:829,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:833,1
    - Dst: coverage_window_calculation
      Src: /src/postgis/postgis/lwgeom_window.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 825
    functionDepth: 13
    functionLinenumber: 825
    functionLinenumberEnd: 840
    functionName: ST_CoverageSimplify
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - PG_RETURN_NULL
    - coverage_window_calculation
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CoverageSimplify(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:849,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:853,1
    - Dst: coverage_window_calculation
      Src: /src/postgis/postgis/lwgeom_window.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 845
    functionDepth: 13
    functionLinenumber: 845
    functionLinenumberEnd: 860
    functionName: ST_CoverageInvalidEdges
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - PG_RETURN_NULL
    - coverage_window_calculation
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CoverageInvalidEdges(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_window.c:868,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:872,1
    - Dst: coverage_window_calculation
      Src: /src/postgis/postgis/lwgeom_window.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 864
    functionDepth: 13
    functionLinenumber: 864
    functionLinenumberEnd: 879
    functionName: ST_CoverageClean
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - PG_RETURN_NULL
    - coverage_window_calculation
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CoverageClean(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_window.c:900,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_window.c:901,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_window.c:901,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_window.c:901,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_window.c:902,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:906,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_window.c:909,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_window.c:911,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_window.c:913,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_window.c:920,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_window.c:921,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_window.c:924,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_window.c:929,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_window.c:932,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/postgis/lwgeom_window.c:934,1
    - Dst: coverage_destroy_geoms
      Src: /src/postgis/postgis/lwgeom_window.c:940,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:941,1
    - Dst: GEOSCoverageUnion
      Src: /src/postgis/postgis/lwgeom_window.c:944,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:945,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_window.c:947,1
    - Dst: GEOS2POSTGIS
      Src: /src/postgis/postgis/lwgeom_window.c:949,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_window.c:950,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_window.c:952,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 888
    functionDepth: 11
    functionLinenumber: 888
    functionLinenumberEnd: 953
    functionName: ST_CoverageUnion
    functionSourceFile: /src/postgis/postgis/lwgeom_window.c
    functionUses: 0
    functionsReached:
    - ARR_DIMS
    - array_iterate
    - ARR_NDIM
    - POSTGIS2GEOS
    - PG_RETURN_NULL
    - ArrayGetNItems
    - initGEOS
    - GEOSCoverageUnion
    - HANDLE_GEOS_ERROR
    - array_create_iterator
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - PG_GETARG_ARRAYTYPE_P
    - GEOS2POSTGIS
    - coverage_destroy_geoms
    - GEOSGeom_createCollection
    - array_free_iterator
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CoverageUnion(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:82,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:82,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:82,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:83,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:83,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:83,1
    - Dst: BOX3D_overlaps_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:84,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:85,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:86,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: gserialized_overlaps_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - DatumGetBox3DP
    - BOX3D_overlaps_internal
    - PG_GETARG_DATUM
    - pfree
    - PG_RETURN_BOOL
    - DirectFunctionCall1
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overlaps_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:94,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:94,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:94,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:95,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:95,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:95,1
    - Dst: BOX3D_contains_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:96,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:97,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:98,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: gserialized_contains_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - DatumGetBox3DP
    - BOX3D_contains_internal
    - PG_GETARG_DATUM
    - pfree
    - PG_RETURN_BOOL
    - DirectFunctionCall1
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contains_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:106,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:106,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:106,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:107,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:107,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:107,1
    - Dst: BOX3D_contained_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:108,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:109,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:110,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: gserialized_contained_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - DatumGetBox3DP
    - BOX3D_contained_internal
    - PG_GETARG_DATUM
    - pfree
    - PG_RETURN_BOOL
    - DirectFunctionCall1
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contained_3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:118,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:118,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:118,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:119,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:119,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:119,1
    - Dst: BOX3D_same_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:120,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:121,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:122,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: gserialized_same_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - DatumGetBox3DP
    - BOX3D_same_internal
    - PG_GETARG_DATUM
    - pfree
    - PG_RETURN_BOOL
    - DirectFunctionCall1
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_same_3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: compareDoubles
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compareDoubles(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - centroid
    - inBox
    argTypes:
    - BOX3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: getOctant
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 getOctant(const BOX3D *centroid, const BOX3D *inBox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: initCubeBox
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 1
    functionsReached:
    - palloc
    linkageType: ''
    returnType: CubeBox3D
    signature: 'CubeBox3D *

      initCubeBox(void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:227,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cube_box
    - centroid
    - octant
    argTypes:
    - CubeBox3D*
    - BOX3D*
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: nextCubeBox3D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - palloc
    - memcpy
    linkageType: ''
    returnType: CubeBox3D
    signature: 'CubeBox3D *

      nextCubeBox3D(CubeBox3D *cube_box, BOX3D *centroid, uint8 octant)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: overlap6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overlap6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: contain6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool contain6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: left6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool left6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: overLeft6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overLeft6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: right6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool right6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: overRight6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overRight6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: below6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool below6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: overBelow6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overBelow6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: above6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool above6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: overAbove6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overAbove6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: front6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool front6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: overFront6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overFront6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: back6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool back6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cube_box
    - query
    argTypes:
    - CubeBox3D*
    - BOX3D*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: overBack6D
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overBack6D(CubeBox3D *cube_box, BOX3D *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:374,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:378,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:379,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: gserialized_spgist_config_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_VOID
    - postgis_oid
    - postgis_initialize_cache
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_config_3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:398,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:399,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:400,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:401,1
    - Dst: Box3DPGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:404,1
    - Dst: getOctant
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:408,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: gserialized_spgist_choose_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetBox3DP
    - Box3DPGetDatum
    - PG_RETURN_VOID
    - getOctant
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_choose_3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:423,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:424,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:427,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:428,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:429,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:430,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:431,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:432,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:438,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:450,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:451,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:452,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:453,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:454,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:455,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:459,1
    - Dst: Box3DPGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:471,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:476,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:477,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:485,1
    - Dst: getOctant
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:486,1
    - Dst: Box3DPGetDatum
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:488,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:492,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:493,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:494,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:495,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:496,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:497,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 500
    functionName: gserialized_spgist_picksplit_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetBox3DP
    - palloc
    - Box3DPGetDatum
    - PG_RETURN_VOID
    - qsort
    - pfree
    - getOctant
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_picksplit_3d(PG_FUNCTION_ARGS)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:509,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:510,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:523,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:527,1
    - Dst: initCubeBox
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:537,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:539,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:543,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:544,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:551,1
    - Dst: nextCubeBox3D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:555,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:562,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:562,1
    - Dst: overlap6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:568,1
    - Dst: contain6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:573,1
    - Dst: overRight6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:577,1
    - Dst: right6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:581,1
    - Dst: overLeft6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:585,1
    - Dst: left6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:589,1
    - Dst: overBelow6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:593,1
    - Dst: below6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:597,1
    - Dst: overAbove6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:601,1
    - Dst: above6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:605,1
    - Dst: overFront6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:609,1
    - Dst: front6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:613,1
    - Dst: overBack6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:617,1
    - Dst: back6D
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:621,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:625,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:645,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:650,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:651,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:657,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:658,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:661,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:663,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 664
    functionName: gserialized_spgist_inner_consistent_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - left6D
    - overFront6D
    - initCubeBox
    - PG_RETURN_VOID
    - overRight6D
    - MemoryContextSwitchTo
    - overlap6D
    - elog
    - overAbove6D
    - overBelow6D
    - DatumGetBox3DP
    - contain6D
    - back6D
    - front6D
    - pfree
    - overBack6D
    - below6D
    - palloc
    - nextCubeBox3D
    - above6D
    - overLeft6D
    - right6D
    - DirectFunctionCall1
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_inner_consistent_3d(PG_FUNCTION_ARGS)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:673,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:674,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:675,1
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:690,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:690,1
    - Dst: BOX3D_overlaps_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:695,1
    - Dst: BOX3D_contains_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:699,1
    - Dst: BOX3D_contained_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:703,1
    - Dst: BOX3D_same_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:707,1
    - Dst: BOX3D_left_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:711,1
    - Dst: BOX3D_overleft_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:715,1
    - Dst: BOX3D_right_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:719,1
    - Dst: BOX3D_overright_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:723,1
    - Dst: BOX3D_above_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:727,1
    - Dst: BOX3D_overabove_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:731,1
    - Dst: BOX3D_below_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:735,1
    - Dst: BOX3D_overbelow_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:739,1
    - Dst: BOX3D_back_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:743,1
    - Dst: BOX3D_overback_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:747,1
    - Dst: BOX3D_front_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:751,1
    - Dst: BOX3D_overfront_internal
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:755,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:759,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:767,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 768
    functionName: gserialized_spgist_leaf_consistent_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - BOX3D_right_internal
    - BOX3D_overfront_internal
    - BOX3D_back_internal
    - BOX3D_overlaps_internal
    - BOX3D_overbelow_internal
    - elog
    - BOX3D_overback_internal
    - BOX3D_left_internal
    - BOX3D_overright_internal
    - BOX3D_above_internal
    - DatumGetBox3DP
    - BOX3D_overabove_internal
    - BOX3D_same_internal
    - BOX3D_overleft_internal
    - BOX3D_below_internal
    - BOX3D_contains_internal
    - BOX3D_contained_internal
    - BOX3D_front_internal
    - PG_RETURN_BOOL
    - DirectFunctionCall1
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_leaf_consistent_3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetBox3DP
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:774,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:774,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:774,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:779,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_spgist_3d.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 784
    functionName: gserialized_spgist_compress_3d
    functionSourceFile: /src/postgis/postgis/gserialized_spgist_3d.c
    functionUses: 0
    functionsReached:
    - DatumGetBox3DP
    - PG_GETARG_DATUM
    - PG_RETURN_NULL
    - DirectFunctionCall1
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: PGDLLEXPORT
    signature: PGDLLEXPORT gserialized_spgist_compress_3d(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_transform.c:60,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:63,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:64,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:67,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_transform.c:68,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:72,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:73,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:74,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:79,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/lwgeom_transform.c:81,1
    - Dst: lwproj_lookup
      Src: /src/postgis/postgis/lwgeom_transform.c:82,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:84,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:85,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:86,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_transform.c:90,1
    - Dst: lwgeom_transform
      Src: /src/postgis/postgis/lwgeom_transform.c:91,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_transform.c:97,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_transform.c:100,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_transform.c:101,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:102,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 52
    functionDepth: 7
    functionLinenumber: 52
    functionLinenumberEnd: 105
    functionName: transform
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 6
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - gserialized_get_srid
    - lwproj_lookup
    - lwgeom_free
    - lwgeom_transform
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - elog
    - postgis_initialize_cache
    - PG_RETURN_NULL
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum transform(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:125,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:128,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:128,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:129,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:129,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_transform.c:130,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_transform.c:133,1
    - Dst: lwgeom_transform_from_str
      Src: /src/postgis/postgis/lwgeom_transform.c:134,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_transform.c:135,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_transform.c:136,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:140,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:141,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_transform.c:147,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_transform.c:149,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_transform.c:150,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:151,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 154
    functionName: transform_geom
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_transform_from_str
    - lwgeom_refresh_bbox
    - elog
    - PG_GETARG_INT32
    - PG_RETURN_NULL
    - text_to_cstring
    - pfree
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum transform_geom(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:172,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:175,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:175,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_transform.c:176,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_transform.c:177,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_transform.c:179,1
    - Dst: lwgeom_transform_pipeline
      Src: /src/postgis/postgis/lwgeom_transform.c:180,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_transform.c:181,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:185,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:186,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_transform.c:192,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_transform.c:194,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_transform.c:195,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:196,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 199
    functionName: transform_pipeline_geom
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - elog
    - PG_GETARG_INT32
    - PG_GETARG_BOOL
    - PG_RETURN_NULL
    - text_to_cstring
    - lwgeom_transform_pipeline
    - pfree
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum transform_pipeline_geom(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: proj_info
      Src: /src/postgis/postgis/lwgeom_transform.c:207,1
    - Dst: stringbuffer_init
      Src: /src/postgis/postgis/lwgeom_transform.c:208,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/lwgeom_transform.c:209,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_transform.c:213,1
    - Dst: proj_context_is_network_enabled
      Src: /src/postgis/postgis/lwgeom_transform.c:215,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/postgis/postgis/lwgeom_transform.c:217,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_transform.c:218,1
    - Dst: proj_context_get_url_endpoint
      Src: /src/postgis/postgis/lwgeom_transform.c:218,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/postgis/postgis/lwgeom_transform.c:220,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_transform.c:221,1
    - Dst: proj_context_get_user_writable_directory
      Src: /src/postgis/postgis/lwgeom_transform.c:221,1
    - Dst: proj_context_get_database_path
      Src: /src/postgis/postgis/lwgeom_transform.c:223,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/lwgeom_transform.c:224,1
    - Dst: proj_context_get_database_path
      Src: /src/postgis/postgis/lwgeom_transform.c:224,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:228,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:228,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/postgis/lwgeom_transform.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 229
    functionName: postgis_proj_version
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - proj_info
    - stringbuffer_getstring
    - proj_context_get_url_endpoint
    - stringbuffer_aprintf
    - proj_context_is_network_enabled
    - proj_context_get_database_path
    - stringbuffer_init
    - cstring_to_text
    - proj_context_get_user_writable_directory
    - stringbuffer_append
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_proj_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/postgis/postgis/lwgeom_transform.c:236,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:244,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_transform.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: postgis_proj_compiled_version
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - sprintf
    - cstring_to_text
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_proj_compiled_version(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:263,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_transform.c:264,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:265,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_transform.c:266,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:270,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:271,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:272,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_transform.c:279,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_transform.c:282,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_transform.c:282,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_transform.c:283,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_transform.c:283,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_transform.c:284,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_transform.c:286,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_transform.c:287,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_transform.c:291,1
    - Dst: lwproj_lookup
      Src: /src/postgis/postgis/lwgeom_transform.c:296,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_transform.c:298,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:299,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:300,1
    - Dst: lwgeom_transform
      Src: /src/postgis/postgis/lwgeom_transform.c:302,1
    - Dst: lwgeom_to_kml2
      Src: /src/postgis/postgis/lwgeom_transform.c:305,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:307,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 309
    functionName: LWGEOM_asKML
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_TEXT_P
    - PG_GETARG_GSERIALIZED_P_COPY
    - gserialized_get_srid
    - VARSIZE_ANY_EXHDR
    - lwproj_lookup
    - lwgeom_transform
    - lwgeom_from_gserialized
    - elog
    - memcpy
    - lwgeom_to_kml2
    - PG_RETURN_NULL
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - VARDATA
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asKML(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: srs_entry_cmp
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int srs_entry_cmp (const void *a, const void *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: proj_create_from_database
      Src: /src/postgis/postgis/lwgeom_transform.c:353,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:354,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:355,1
    - Dst: proj_as_wkt
      Src: /src/postgis/postgis/lwgeom_transform.c:361,1
    - Dst: proj_as_proj_string
      Src: /src/postgis/postgis/lwgeom_transform.c:362,1
    - Dst: proj_get_name
      Src: /src/postgis/postgis/lwgeom_transform.c:363,1
    - Dst: proj_get_area_of_use
      Src: /src/postgis/postgis/lwgeom_transform.c:364,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:367,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:372,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:377,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:377,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:382,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:382,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:387,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:387,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_transform.c:392,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_transform.c:393,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_transform.c:394,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_transform.c:395,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:396,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:398,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_transform.c:402,1
    - Dst: proj_destroy
      Src: /src/postgis/postgis/lwgeom_transform.c:403,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - entry
    - tuple_desc
    argTypes:
    - struct srs_entry*
    - TupleDesc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 338
    functionDepth: 7
    functionLinenumber: 338
    functionLinenumberEnd: 406
    functionName: srs_tuple_from_entry
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - proj_create_from_database
    - proj_as_proj_string
    - heap_form_tuple
    - PointerGetDatum
    - HeapTupleGetDatum
    - text_to_cstring
    - proj_as_wkt
    - proj_get_area_of_use
    - cstring_to_text
    - proj_destroy
    - lwpoint_make2d
    - proj_get_name
    linkageType: ''
    returnType: Datum
    signature: Datum srs_tuple_from_entry(const struct srs_entry* entry, TupleDesc
      tuple_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_transform.c:411,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_transform.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: srs_state_init
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - palloc0
    linkageType: ''
    returnType: struct srs_data
    signature: 'struct srs_data *

      srs_state_init()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: repalloc
      Src: /src/postgis/postgis/lwgeom_transform.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct srs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: srs_state_memcheck
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - repalloc
    linkageType: ''
    returnType: void
    signature: void srs_state_memcheck(struct srs_data *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proj_get_codes_from_database
      Src: /src/postgis/postgis/lwgeom_transform.c:445,1
    - Dst: srs_state_memcheck
      Src: /src/postgis/postgis/lwgeom_transform.c:453,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:456,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:457,1
    - Dst: proj_string_list_destroy
      Src: /src/postgis/postgis/lwgeom_transform.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - auth_name
    - state
    argTypes:
    - char*
    - struct srs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: srs_state_codes
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - srs_state_memcheck
    - proj_get_codes_from_database
    - proj_string_list_destroy
    - cstring_to_text
    linkageType: ''
    returnType: void
    signature: void srs_state_codes(const char* auth_name, struct srs_data *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_transform.c:468,1
    - Dst: lwgeom_get_bbox
      Src: /src/postgis/postgis/lwgeom_transform.c:470,1
    - Dst: proj_get_crs_list_parameters_create
      Src: /src/postgis/postgis/lwgeom_transform.c:476,1
    - Dst: lwproj_lookup
      Src: /src/postgis/postgis/lwgeom_transform.c:490,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_transform.c:491,1
    - Dst: box3d_transform
      Src: /src/postgis/postgis/lwgeom_transform.c:494,1
    - Dst: proj_get_crs_info_list_from_database
      Src: /src/postgis/postgis/lwgeom_transform.c:502,1
    - Dst: srs_state_memcheck
      Src: /src/postgis/postgis/lwgeom_transform.c:521,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:524,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_transform.c:525,1
    - Dst: qsort
      Src: /src/postgis/postgis/lwgeom_transform.c:531,1
    - Dst: proj_crs_info_list_destroy
      Src: /src/postgis/postgis/lwgeom_transform.c:533,1
    - Dst: proj_get_crs_list_parameters_destroy
      Src: /src/postgis/postgis/lwgeom_transform.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - auth_name
    - bounds
    - state
    argTypes:
    - char*
    - LWGEOM*
    - struct srs_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 465
    functionDepth: 5
    functionLinenumber: 465
    functionLinenumberEnd: 535
    functionName: srs_find_planar
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - lwgeom_get_bbox
    - lwproj_lookup
    - srs_state_memcheck
    - proj_get_crs_list_parameters_destroy
    - proj_get_crs_info_list_from_database
    - lwgeom_get_srid
    - box3d_transform
    - qsort
    - elog
    - proj_get_crs_list_parameters_create
    - proj_crs_info_list_destroy
    - cstring_to_text
    linkageType: ''
    returnType: void
    signature: void srs_find_planar(const char *auth_name, const LWGEOM *bounds, struct
      srs_data *state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:547,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:548,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_transform.c:551,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_transform.c:553,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_transform.c:553,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_transform.c:554,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_transform.c:556,1
    - Dst: srs_tuple_from_entry
      Src: /src/postgis/postgis/lwgeom_transform.c:560,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_transform.c:563,1
    - Dst: srs_tuple_from_entry
      Src: /src/postgis/postgis/lwgeom_transform.c:563,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_transform.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 543
    functionDepth: 8
    functionLinenumber: 543
    functionLinenumberEnd: 566
    functionName: postgis_srs_entry
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - ereport
    - srs_tuple_from_entry
    - errcode
    - BlessTupleDesc
    - PG_RETURN_NULL
    - errmsg
    - PG_GETARG_TEXT_P
    - PG_RETURN_DATUM
    - get_call_result_type
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_srs_entry(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_transform.c:584,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_transform.c:586,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:587,1
    - Dst: srs_state_init
      Src: /src/postgis/postgis/lwgeom_transform.c:594,1
    - Dst: srs_state_codes
      Src: /src/postgis/postgis/lwgeom_transform.c:595,1
    - Dst: srs_state_codes
      Src: /src/postgis/postgis/lwgeom_transform.c:596,1
    - Dst: srs_state_codes
      Src: /src/postgis/postgis/lwgeom_transform.c:597,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_transform.c:604,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_transform.c:606,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_transform.c:606,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_transform.c:607,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_transform.c:610,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:612,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_transform.c:616,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:622,1
    - Dst: srs_tuple_from_entry
      Src: /src/postgis/postgis/lwgeom_transform.c:626,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_transform.c:631,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 571
    functionDepth: 8
    functionLinenumber: 571
    functionLinenumberEnd: 635
    functionName: postgis_srs_entry_all
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - ereport
    - srs_tuple_from_entry
    - errcode
    - SRF_RETURN_DONE
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - SRF_FIRSTCALL_INIT
    - SRF_IS_FIRSTCALL
    - srs_state_codes
    - SRF_RETURN_NEXT
    - errmsg
    - MemoryContextSwitchTo
    - srs_state_init
    - get_call_result_type
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_srs_entry_all(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:646,1
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_transform.c:655,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_transform.c:661,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:662,1
    - Dst: srs_state_init
      Src: /src/postgis/postgis/lwgeom_transform.c:663,1
    - Dst: srs_state_codes
      Src: /src/postgis/postgis/lwgeom_transform.c:664,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:664,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:666,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_transform.c:670,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:676,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_transform.c:681,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_transform.c:685,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:688,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:689,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 690
    functionName: postgis_srs_codes
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - SRF_RETURN_DONE
    - SRF_PERCALL_SETUP
    - PointerGetDatum
    - SRF_FIRSTCALL_INIT
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - srs_state_codes
    - SRF_RETURN_NEXT
    - PG_GETARG_TEXT_P
    - srs_state_init
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_srs_codes(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_transform.c:712,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_transform.c:714,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_transform.c:715,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_transform.c:716,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_transform.c:718,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:719,1
    - Dst: srs_state_init
      Src: /src/postgis/postgis/lwgeom_transform.c:726,1
    - Dst: srs_find_planar
      Src: /src/postgis/postgis/lwgeom_transform.c:729,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_transform.c:729,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_transform.c:736,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_transform.c:738,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_transform.c:738,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_transform.c:739,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_transform.c:742,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_transform.c:744,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_transform.c:748,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:755,1
    - Dst: srs_tuple_from_entry
      Src: /src/postgis/postgis/lwgeom_transform.c:759,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_transform.c:764,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_transform.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 699
    functionDepth: 8
    functionLinenumber: 699
    functionLinenumberEnd: 768
    functionName: postgis_srs_search
    functionSourceFile: /src/postgis/postgis/lwgeom_transform.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - ereport
    - srs_tuple_from_entry
    - errcode
    - SRF_RETURN_DONE
    - lwgeom_from_gserialized
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - SRF_FIRSTCALL_INIT
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - PG_GETARG_GSERIALIZED_P
    - errmsg
    - PG_GETARG_TEXT_P
    - SRF_RETURN_NEXT
    - srs_state_init
    - get_call_result_type
    - srs_find_planar
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_srs_search(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: is_poly
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - gserialized_get_type
    linkageType: ''
    returnType: char
    signature: char is_poly(const GSERIALIZED* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: is_point
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - gserialized_get_type
    linkageType: ''
    returnType: char
    signature: char is_point(const GSERIALIZED* g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:93,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:94,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:95,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:96,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:101,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:104,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:104,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:105,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:111,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:112,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:114,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:115,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:122,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:122,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:123,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:123,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:125,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:126,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:127,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:128,1
    - Dst: GetIntervalTree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:129,1
    - Dst: itree_pip_intersects
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:130,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:131,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:132,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:135,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:137,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:141,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:142,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:143,1
    - Dst: GEOSPreparedIntersects
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:144,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:145,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:150,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:151,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:152,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:155,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:156,1
    - Dst: GEOSIntersects
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:158,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:159,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:160,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:163,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:165,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 91
    functionDepth: 11
    functionLinenumber: 91
    functionLinenumberEnd: 166
    functionName: ST_Intersects
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - POSTGIS2GEOS
    - shared_gserialized_get
    - is_poly
    - GetIntervalTree
    - itree_pip_intersects
    - ToastCacheGetGeometry
    - initGEOS
    - gbox_overlaps_2d
    - HANDLE_GEOS_ERROR
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - GEOSPreparedIntersects
    - GEOSIntersects
    - lwgeom_from_gserialized
    - gserialized_get_gbox_p
    - is_point
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Intersects(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:172,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:173,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:174,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:175,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:180,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:183,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:183,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:184,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:190,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:191,1
    - Dst: gbox_same_2d_float
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:193,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:195,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:203,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:203,1
    - Dst: memcmp
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:203,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:203,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:204,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:207,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:209,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:210,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:211,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:214,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:215,1
    - Dst: GEOSEquals
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:217,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:218,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:219,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:221,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 170
    functionDepth: 11
    functionLinenumber: 170
    functionLinenumberEnd: 224
    functionName: ST_Equals
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - gbox_same_2d_float
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - VARSIZE
    - POSTGIS2GEOS
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GEOSEquals
    - memcmp
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Equals(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:231,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:232,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:233,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:234,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:239,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:242,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:242,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:243,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:249,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:250,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:252,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:254,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:258,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:260,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:264,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:265,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:266,1
    - Dst: GEOSPreparedTouches
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:267,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:268,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:273,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:274,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:275,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:278,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:279,1
    - Dst: GEOSTouches
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:281,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:282,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:283,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:286,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:288,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 229
    functionDepth: 11
    functionLinenumber: 229
    functionLinenumberEnd: 289
    functionName: touches
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - gbox_overlaps_2d
    - GEOSPreparedTouches
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GetPrepGeomCache
    - GEOSTouches
    linkageType: ''
    returnType: Datum
    signature: Datum touches(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:295,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:296,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:297,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:298,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:303,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:306,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:306,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:307,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:313,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:314,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:316,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:318,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:322,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:324,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:328,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:329,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:330,1
    - Dst: GEOSPreparedDisjoint
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:331,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:332,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:337,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:338,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:339,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:342,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:343,1
    - Dst: GEOSDisjoint
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:345,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:346,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:347,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:350,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:352,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 293
    functionDepth: 11
    functionLinenumber: 293
    functionLinenumberEnd: 353
    functionName: disjoint
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - GEOSPreparedDisjoint
    - gbox_overlaps_2d
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GetPrepGeomCache
    - GEOSDisjoint
    linkageType: ''
    returnType: Datum
    signature: Datum disjoint(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:363,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:364,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:365,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:366,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:371,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:374,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:374,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:375,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:381,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:382,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:384,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:386,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:390,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:392,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:396,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:397,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:398,1
    - Dst: GEOSPreparedOverlaps
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:399,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:400,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:405,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:406,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:407,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:410,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:411,1
    - Dst: GEOSOverlaps
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:413,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:414,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:415,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:418,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 361
    functionDepth: 11
    functionLinenumber: 361
    functionLinenumberEnd: 421
    functionName: overlaps
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 6
    functionsReached:
    - GEOSPreparedOverlaps
    - gbox_overlaps_2d
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - GEOSOverlaps
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum overlaps(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:430,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:431,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:432,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:433,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:438,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:441,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:441,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:442,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:448,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:449,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:451,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:453,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:457,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:459,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:463,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:464,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:465,1
    - Dst: GEOSPreparedCrosses
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:466,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:467,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:472,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:473,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:474,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:477,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:478,1
    - Dst: GEOSCrosses
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:480,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:481,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:482,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:485,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:487,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 428
    functionDepth: 11
    functionLinenumber: 428
    functionLinenumberEnd: 488
    functionName: crosses
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - gbox_overlaps_2d
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - gserialized_error_if_srid_mismatch
    - GEOSPreparedCrosses
    - GEOSGeom_destroy
    - GEOSCrosses
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum crosses(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:498,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:499,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:500,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:501,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:507,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:510,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:510,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:511,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:513,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:513,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:513,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:519,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:520,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:522,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:523,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:530,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:530,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:532,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:533,1
    - Dst: GetIntervalTree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:534,1
    - Dst: itree_pip_contains
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:535,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:536,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:537,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:540,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:542,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:545,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:547,1
    - Dst: GEOSPreparedContains
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:549,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:550,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:554,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:555,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:556,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:559,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:560,1
    - Dst: GEOSContains
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:562,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:563,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:564,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:567,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:569,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 496
    functionDepth: 11
    functionLinenumber: 496
    functionLinenumberEnd: 570
    functionName: contains
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 9
    functionsReached:
    - lwgeom_free
    - POSTGIS2GEOS
    - shared_gserialized_get
    - is_poly
    - GetIntervalTree
    - ToastCacheGetGeometry
    - GEOSPreparedContains
    - initGEOS
    - gserialized_get_type
    - POSTGIS_DEBUGF
    - HANDLE_GEOS_ERROR
    - GEOSContains
    - gbox_contains_2d
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - lwgeom_from_gserialized
    - gserialized_get_gbox_p
    - is_point
    - itree_pip_contains
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum contains(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:579,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:580,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:581,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:582,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:588,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:591,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:591,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:592,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:594,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:594,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:594,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:600,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:601,1
    - Dst: gbox_within_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:603,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:604,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:611,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:611,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:613,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:614,1
    - Dst: GetIntervalTree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:615,1
    - Dst: itree_pip_contains
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:616,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:617,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:618,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:621,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:623,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:626,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:628,1
    - Dst: GEOSPreparedContains
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:630,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:631,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:635,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:636,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:637,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:640,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:641,1
    - Dst: GEOSWithin
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:643,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:644,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:645,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:648,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 577
    functionDepth: 11
    functionLinenumber: 577
    functionLinenumberEnd: 651
    functionName: within
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - POSTGIS2GEOS
    - shared_gserialized_get
    - is_poly
    - GetIntervalTree
    - ToastCacheGetGeometry
    - GEOSPreparedContains
    - initGEOS
    - gserialized_get_type
    - GEOSWithin
    - POSTGIS_DEBUGF
    - HANDLE_GEOS_ERROR
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - gbox_within_2d
    - lwgeom_from_gserialized
    - gserialized_get_gbox_p
    - is_point
    - itree_pip_contains
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum within(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:659,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:660,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:661,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:662,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:667,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:670,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:670,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:671,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:677,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:678,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:680,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:681,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:684,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:686,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:689,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:690,1
    - Dst: GEOSPreparedContainsProperly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:691,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:692,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:697,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:698,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:699,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:702,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:703,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:705,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:706,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:707,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:710,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:712,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 657
    functionDepth: 11
    functionLinenumber: 657
    functionLinenumberEnd: 713
    functionName: containsproperly
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - GEOSPreparedContainsProperly
    - gserialized_get_gbox_p
    - shared_gserialized_get
    - gbox_contains_2d
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - GEOSRelatePattern
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - initGEOS
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum containsproperly(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:724,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:725,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:726,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:727,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:732,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:732,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:732,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:735,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:735,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:736,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:738,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:744,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:745,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:747,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:749,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:756,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:756,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:758,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:759,1
    - Dst: GetIntervalTree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:760,1
    - Dst: itree_pip_covers
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:761,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:762,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:763,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:766,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:768,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:771,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:772,1
    - Dst: GEOSPreparedCovers
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:773,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:774,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:780,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:781,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:782,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:785,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:786,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:788,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:789,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:790,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:793,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:795,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 722
    functionDepth: 11
    functionLinenumber: 722
    functionLinenumberEnd: 796
    functionName: covers
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - GEOSPreparedCovers
    - POSTGIS2GEOS
    - shared_gserialized_get
    - GEOSRelatePattern
    - is_poly
    - GetIntervalTree
    - ToastCacheGetGeometry
    - initGEOS
    - gserialized_get_type
    - POSTGIS_DEBUGF
    - HANDLE_GEOS_ERROR
    - gbox_contains_2d
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - lwgeom_from_gserialized
    - itree_pip_covers
    - gserialized_get_gbox_p
    - is_point
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum covers(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:808,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:809,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:810,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:811,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:816,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:818,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:818,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:818,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:821,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:821,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:822,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:828,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:829,1
    - Dst: gbox_within_2d
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:831,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:833,1
    - Dst: is_point
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:840,1
    - Dst: is_poly
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:840,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:842,1
    - Dst: GetIntervalTree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:843,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:844,1
    - Dst: itree_pip_covers
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:845,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:846,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:847,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:850,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:852,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:855,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:856,1
    - Dst: GEOSPreparedCovers
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:857,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:858,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:863,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:864,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:866,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:869,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:870,1
    - Dst: GEOSCoveredBy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:873,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:874,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:875,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:878,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:880,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 806
    functionDepth: 11
    functionLinenumber: 806
    functionLinenumberEnd: 881
    functionName: coveredby
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - GEOSPreparedCovers
    - POSTGIS2GEOS
    - shared_gserialized_get
    - is_poly
    - GetIntervalTree
    - ToastCacheGetGeometry
    - initGEOS
    - gserialized_get_type
    - POSTGIS_DEBUGF
    - HANDLE_GEOS_ERROR
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - gserialized_is_empty
    - PG_RETURN_BOOL
    - GEOSCoveredBy
    - gbox_within_2d
    - lwgeom_from_gserialized
    - itree_pip_covers
    - gserialized_get_gbox_p
    - is_point
    - GetPrepGeomCache
    linkageType: ''
    returnType: Datum
    signature: Datum coveredby(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:887,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:888,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:889,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:890,1
    - Dst: DatumGetTextP
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:893,1
    - Dst: DirectFunctionCall2
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:893,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:894,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:894,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:895,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:902,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:907,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:913,1
    - Dst: GetPrepGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:916,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:920,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:921,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:922,1
    - Dst: GEOSPreparedRelatePattern
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:923,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:924,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:930,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:931,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:932,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:935,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:936,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:938,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:939,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:940,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:943,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:944,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 885
    functionDepth: 11
    functionLinenumber: 885
    functionLinenumberEnd: 947
    functionName: relate_pattern
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - DatumGetTextP
    - initGEOS
    - HANDLE_GEOS_ERROR
    - ToastCacheGetGeometry
    - POSTGIS2GEOS
    - shared_gserialized_get
    - text_to_cstring
    - gserialized_error_if_srid_mismatch
    - strlen
    - DirectFunctionCall2
    - GEOSGeom_destroy
    - GEOSRelatePattern
    - pfree
    - PG_GETARG_DATUM
    - GetPrepGeomCache
    - GEOSPreparedRelatePattern
    - Int32GetDatum
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum relate_pattern(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:953,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:954,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:961,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:963,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:964,1
    - Dst: initGEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:966,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:968,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:970,1
    - Dst: POSTGIS2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:971,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:974,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:975,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:978,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:980,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:980,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:981,1
    - Dst: GEOSGeomToWKT
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:981,1
    - Dst: GEOSRelateBoundaryNodeRule
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:983,1
    - Dst: HANDLE_GEOS_ERROR
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:984,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:985,1
    - Dst: GEOSFree
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:986,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:987,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:988,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:990,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:991,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_geos_predicates.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 951
    functionDepth: 11
    functionLinenumber: 951
    functionLinenumberEnd: 994
    functionName: relate_full
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_predicates.c
    functionUses: 0
    functionsReached:
    - GEOSGeomToWKT
    - initGEOS
    - HANDLE_GEOS_ERROR
    - POSTGIS_DEBUGF
    - POSTGIS2GEOS
    - PG_NARGS
    - GEOSRelateBoundaryNodeRule
    - gserialized_error_if_srid_mismatch
    - GEOSGeom_destroy
    - GEOSFree
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum relate_full(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/lwgeom_box.c:59,1
    - Dst: gbox_init
      Src: /src/postgis/postgis/lwgeom_box.c:65,1
    - Dst: tolower
      Src: /src/postgis/postgis/lwgeom_box.c:68,1
    - Dst: sscanf
      Src: /src/postgis/postgis/lwgeom_box.c:71,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box.c:74,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:75,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:90,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_box.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 91
    functionName: BOX2D_in
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - PG_GETARG_CSTRING
    - gbox_copy
    - elog
    - tolower
    - PG_RETURN_NULL
    - sscanf
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:102,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:105,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box.c:108,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box.c:110,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box.c:112,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/lwgeom_box.c:114,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box.c:119,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:120,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/lwgeom_box.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: BOX2D_out
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - lwprint_double
    - PG_RETURN_CSTRING
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_out(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box.c:131,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box.c:132,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_box.c:136,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:137,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_box.c:140,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:141,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/postgis/lwgeom_box.c:144,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/postgis/lwgeom_box.c:145,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_box.c:147,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:148,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_box.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 7
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: LWGEOM_to_BOX2D
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - gbox_copy
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - FLAGS_SET_M
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_BOX2D(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_box.c:157,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:157,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:158,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/postgis/lwgeom_box.c:161,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/postgis/lwgeom_box.c:162,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:163,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_box.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: LWGEOM_to_BOX2DF
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - FLAGS_SET_Z
    - gbox_copy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - gserialized_datum_get_gbox_p
    - FLAGS_SET_M
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_BOX2DF(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:178,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:179,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:181,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box.c:181,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box.c:182,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box.c:183,1
    - Dst: FPeq
      Src: /src/postgis/postgis/lwgeom_box.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: BOX2D_same
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPeq
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_same(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:193,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:194,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:198,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:199,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:200,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:201,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:203,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:204,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:205,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:206,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: BOX2D_overlap
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPge
    - FPle
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_overlap(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:219,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:220,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:222,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: BOX2D_overleft
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPle
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_overleft(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:231,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:232,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:234,1
    - Dst: FPlt
      Src: /src/postgis/postgis/lwgeom_box.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: BOX2D_left
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPlt
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_left(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:243,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:244,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:246,1
    - Dst: FPgt
      Src: /src/postgis/postgis/lwgeom_box.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: BOX2D_right
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPgt
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_right(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:256,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:257,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:259,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: BOX2D_overright
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPge
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_overright(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:269,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:270,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:272,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: BOX2D_overbelow
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPle
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_overbelow(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:281,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:282,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:284,1
    - Dst: FPlt
      Src: /src/postgis/postgis/lwgeom_box.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: BOX2D_below
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPlt
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_below(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:293,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:294,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:296,1
    - Dst: FPgt
      Src: /src/postgis/postgis/lwgeom_box.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: BOX2D_above
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPgt
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_above(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:306,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:307,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:309,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: BOX2D_overabove
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPge
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_overabove(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:318,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:319,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:321,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:321,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:322,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:323,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: BOX2D_contained
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPge
    - FPle
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_contained(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:333,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:334,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_box.c:336,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:336,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:337,1
    - Dst: FPge
      Src: /src/postgis/postgis/lwgeom_box.c:338,1
    - Dst: FPle
      Src: /src/postgis/postgis/lwgeom_box.c:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: BOX2D_contain
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FPge
    - FPle
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_contain(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:346,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:347,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box.c:351,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box.c:353,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box.c:354,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box.c:355,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box.c:356,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_box.c:361,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 367
    functionName: BOX2D_intersects
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - pfree
    - Min
    - Max
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_intersects(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:376,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:377,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_box.c:380,1
    - Dst: gbox_union
      Src: /src/postgis/postgis/lwgeom_box.c:381,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:381,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: BOX2D_union
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gbox_union
    - PG_RETURN_NULL
    - lwalloc
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_union(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:389,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box.c:390,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:391,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_box.c:393,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box.c:395,1
    - Dst: gbox_expand
      Src: /src/postgis/postgis/lwgeom_box.c:396,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box.c:400,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_box.c:401,1
    - Dst: gbox_expand_xyzm
      Src: /src/postgis/postgis/lwgeom_box.c:403,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: BOX2D_expand
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - palloc
    - PG_NARGS
    - gbox_expand
    - gbox_expand_xyzm
    - PG_GETARG_FLOAT8
    - memcpy
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_expand(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:412,1
    - Dst: box3d_from_gbox
      Src: /src/postgis/postgis/lwgeom_box.c:413,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: BOX2D_to_BOX3D
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - box3d_from_gbox
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_to_BOX3D(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box.c:425,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box.c:425,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:427,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_box.c:430,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box.c:432,1
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_box.c:435,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:435,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:436,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:437,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:438,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_box.c:442,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:444,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:444,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:445,1
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_box.c:450,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:450,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_box.c:453,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:453,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:454,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_box.c:457,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box.c:460,1
    - Dst: Max
      Src: /src/postgis/postgis/lwgeom_box.c:461,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box.c:462,1
    - Dst: Min
      Src: /src/postgis/postgis/lwgeom_box.c:463,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 466
    functionName: BOX2D_combine
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - Min
    - PG_GETARG_DATUM
    - gserialized_datum_get_gbox_p
    - Max
    - memcpy
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_combine(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:471,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_box.c:472,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_box.c:491,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box.c:492,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box.c:492,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_box.c:493,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_box.c:502,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_box.c:505,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_box.c:508,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box.c:509,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box.c:509,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_box.c:510,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_box.c:524,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_box.c:526,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_box.c:526,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_box.c:527,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 469
    functionDepth: 7
    functionLinenumber: 469
    functionLinenumberEnd: 531
    functionName: BOX2D_to_LWGEOM
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - geometry_serialize
    - ptarray_construct_empty
    - lwpoly_free
    - lwline_as_lwgeom
    - ptarray_append_point
    - lwpoly_as_lwgeom
    - lwpoint_as_lwgeom
    - PG_RETURN_POINTER
    - lwline_free
    - lwpoint_free
    - lwpoint_make2d
    - lwline_construct
    - lwpoly_construct_rectangle
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_to_LWGEOM(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box.c:536,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_box.c:537,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_box.c:541,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box.c:543,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_box.c:544,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box.c:548,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:549,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/postgis/lwgeom_box.c:552,1
    - Dst: lwpoint_is_empty
      Src: /src/postgis/postgis/lwgeom_box.c:552,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_box.c:553,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_box.c:554,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/lwgeom_box.c:557,1
    - Dst: lwflags
      Src: /src/postgis/postgis/lwgeom_box.c:557,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/lwgeom_box.c:560,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/lwgeom_box.c:561,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/lwgeom_box.c:572,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/lwgeom_box.c:573,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_box.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 534
    functionDepth: 6
    functionLinenumber: 534
    functionLinenumberEnd: 584
    functionName: BOX2D_construct
    functionSourceFile: /src/postgis/postgis/lwgeom_box.c
    functionUses: 0
    functionsReached:
    - lwpoint_get_y
    - lwgeom_from_gserialized
    - elog
    - lwpoint_get_x
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - lwflags
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_is_empty
    - gbox_new
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum BOX2D_construct(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:45,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:46,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:56,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:58,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:61,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:63,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:64,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:66,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:69,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:70,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:73,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:73,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:76,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:77,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:80,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:80,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:81,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:81,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:83,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:84,1
    - Dst: gserialized_fast_gbox_p
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:92,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:104,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:109,1
    - Dst: mvt_geom
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:111,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:113,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:115,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:116,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:117,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 120
    functionName: ST_AsMVTGeom
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - mvt_geom
    - PG_GETARG_GSERIALIZED_P_COPY
    - geometry_serialize
    - lwgeom_free
    - gserialized_fast_gbox_p
    - lwgeom_from_gserialized
    - elog
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_INT32
    - gserialized_get_type
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_AsMVTGeom(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:129,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:130,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:136,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:138,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:139,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:141,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:142,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:143,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:145,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:145,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:146,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:146,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:148,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:148,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:149,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:151,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:151,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:152,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:152,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:153,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:153,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:154,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:154,1
    - Dst: AllocSetContextCreate
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:158,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:160,1
    - Dst: mvt_agg_init_context
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:161,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:162,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:164,1
    - Dst: type_is_rowtype
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:167,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:167,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:168,1
    - Dst: PG_GETARG_HEAPTUPLEHEADER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:169,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:171,1
    - Dst: mvt_agg_transfn
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:172,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:173,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:175,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 178
    functionName: pgis_asmvt_transfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - get_fn_expr_argtype
    - elog
    - text_to_cstring
    - AggCheckCallContext
    - PG_GETARG_INT32
    - mvt_agg_transfn
    - AllocSetContextCreate
    - postgis_initialize_cache
    - PG_NARGS
    - mvt_agg_init_context
    - PG_RETURN_POINTER
    - palloc
    - type_is_rowtype
    - PG_ARGISNULL
    - MemoryContextSwitchTo
    - PG_GETARG_HEAPTUPLEHEADER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asmvt_transfn(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:187,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:188,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:192,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:193,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:194,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:196,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:198,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:199,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:200,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:203,1
    - Dst: mvt_agg_finalfn
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:204,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 207
    functionName: pgis_asmvt_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_POINTER
    - PG_RETURN_BYTEA_P
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - mvt_agg_finalfn
    - AggCheckCallContext
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asmvt_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:213,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:214,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:218,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:219,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:220,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:222,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:224,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:225,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:226,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:229,1
    - Dst: mvt_ctx_serialize
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:230,1
    - Dst: MemoryContextDelete
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:232,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 236
    functionName: pgis_asmvt_serialfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_POINTER
    - PG_RETURN_BYTEA_P
    - MemoryContextDelete
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - AggCheckCallContext
    - mvt_ctx_serialize
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asmvt_serialfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:243,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:244,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:248,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:249,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:250,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:252,1
    - Dst: mvt_ctx_deserialize
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:253,1
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:253,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:254,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: pgis_asmvt_deserialfn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - mvt_ctx_deserialize
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_BYTEA_P
    - AggCheckCallContext
    - MemoryContextSwitchTo
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asmvt_deserialfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:264,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:265,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:269,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:270,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:271,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:273,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:274,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:275,1
    - Dst: mvt_ctx_combine
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:276,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:277,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_out_mvt.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: pgis_asmvt_combinefn
    functionSourceFile: /src/postgis/postgis/lwgeom_out_mvt.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - elog
    - PG_RETURN_NULL
    - AggCheckCallContext
    - MemoryContextSwitchTo
    - mvt_ctx_combine
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_asmvt_combinefn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pstrdup
      Src: /src/postgis/postgis/gserialized_gist_2d.c:127,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/gserialized_gist_2d.c:129,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/gserialized_gist_2d.c:131,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/gserialized_gist_2d.c:134,1
    - Dst: lwprint_double
      Src: /src/postgis/postgis/gserialized_gist_2d.c:136,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/gserialized_gist_2d.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: box2df_to_string
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - lwprint_double
    - pstrdup
    linkageType: ''
    returnType: char
    signature: char * box2df_to_string(const BOX2DF *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:145,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:146,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: box2df_copy
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - palloc
    - memcpy
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: BOX2DF
    signature: BOX2DF * box2df_copy(BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: box2df_is_empty
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: bool
    signature: bool box2df_is_empty(const BOX2DF *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: box2df_set_empty
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void box2df_set_empty(BOX2DF *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:167,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:169,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:171,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: box2df_set_finite
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - isfinite
    linkageType: ''
    returnType: void
    signature: void box2df_set_finite(BOX2DF *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:182,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:182,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:182,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:184,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:186,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:189,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:191,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:194,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - b_union
    - b_new
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 196
    functionName: box2df_merge
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_to_string
    - isnan
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void box2df_merge(BOX2DF *b_union, BOX2DF *b_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next_float_down
      Src: /src/postgis/postgis/gserialized_gist_2d.c:203,1
    - Dst: next_float_up
      Src: /src/postgis/postgis/gserialized_gist_2d.c:204,1
    - Dst: next_float_down
      Src: /src/postgis/postgis/gserialized_gist_2d.c:205,1
    - Dst: next_float_up
      Src: /src/postgis/postgis/gserialized_gist_2d.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - box
    - a
    argTypes:
    - GBOX*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: box2df_from_gbox_p
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - next_float_down
    - next_float_up
    linkageType: ''
    returnType: int
    signature: int box2df_from_gbox_p(GBOX *box, BOX2DF *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_gist_2d.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a
    - box
    argTypes:
    - BOX2DF*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: box2df_to_gbox_p
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int box2df_to_gbox_p(BOX2DF *a, GBOX *box)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: box2df_validate
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: void
    signature: void box2df_validate(BOX2DF *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:249,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: box2df_overlaps
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:267,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: box2df_contains
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_contains(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:285,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:285,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: box2df_within
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_within(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:303,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:303,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:305,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: box2df_equals
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_equals(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:315,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: box2df_overleft
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_overleft(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:324,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: box2df_left
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_left(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:333,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: box2df_right
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_right(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:342,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: box2df_overright
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_overright(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:351,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: box2df_overbelow
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:360,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: box2df_below
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_below(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:369,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: box2df_above
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_above(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:378,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: box2df_overabove
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - box2df_is_empty
    linkageType: ''
    returnType: bool
    signature: bool box2df_overabove(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_gist_2d.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: box2df_distance_leaf_centroid
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double box2df_distance_leaf_centroid(const BOX2DF *a, const BOX2DF
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_gist_2d.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ax
    - ay
    - bx
    - by
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: pt_distance
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double pt_distance(double ax, double ay, double bx, double by)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_gist_2d.c:412,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_gist_2d.c:415,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_gist_2d.c:417,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:418,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_gist_2d.c:419,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:420,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_gist_2d.c:424,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_gist_2d.c:426,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:427,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_gist_2d.c:428,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:429,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_gist_2d.c:433,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_gist_2d.c:435,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:436,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_gist_2d.c:437,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:438,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_gist_2d.c:442,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_gist_2d.c:444,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:445,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_gist_2d.c:446,1
    - Dst: pt_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 453
    functionName: box2df_distance
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_overlaps
    - box2df_above
    - box2df_left
    - pt_distance
    - box2df_below
    - box2df_right
    linkageType: ''
    returnType: double
    signature: double box2df_distance(const BOX2DF *a, const BOX2DF *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32_hilbert
      Src: /src/postgis/postgis/gserialized_gist_2d.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: box2df_get_sortable_hash
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - uint32_hilbert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t box2df_get_sortable_hash(const BOX2DF *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GSERIALIZED_DATUM_NEEDS_DETOAST
      Src: /src/postgis/postgis/gserialized_gist_2d.c:479,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/postgis/gserialized_gist_2d.c:482,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/postgis/gserialized_gist_2d.c:482,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:489,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/postgis/gserialized_gist_2d.c:489,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/postgis/gserialized_gist_2d.c:489,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/gserialized_gist_2d.c:493,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:494,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:497,1
    - Dst: gserialized_get_lwflags
      Src: /src/postgis/postgis/gserialized_gist_2d.c:498,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/gserialized_gist_2d.c:499,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/gserialized_gist_2d.c:500,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/gserialized_gist_2d.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - gsdatum
    - gbox
    - flags
    - type
    - srid
    argTypes:
    - Datum
    - GBOX*
    - lwflags_t*
    - uint8_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 474
    functionDepth: 7
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: gserialized_datum_get_internals_p
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached:
    - gserialized_get_lwflags
    - gserialized_max_header_size
    - gserialized_get_srid
    - PG_DETOAST_DATUM
    - POSTGIS_FREE_IF_COPY_P
    - gserialized_get_gbox_p
    - LWSIZE_GET
    - gserialized_has_bbox
    - PG_GSERIALIZED_DATUM_NEEDS_DETOAST
    - gserialized_get_type
    - PG_DETOAST_DATUM_SLICE
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_get_internals_p(Datum gsdatum, GBOX *gbox, lwflags_t
      *flags, uint8_t *type, int32_t *srid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_get_internals_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gsdatum
    - gbox
    argTypes:
    - Datum
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 8
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: gserialized_datum_get_gbox_p
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 3
    functionsReached:
    - gserialized_datum_get_internals_p
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_get_gbox_p(Datum gsdatum, GBOX *gbox)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GSERIALIZED_DATUM_NEEDS_DETOAST
      Src: /src/postgis/postgis/gserialized_gist_2d.c:531,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/postgis/gserialized_gist_2d.c:534,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/postgis/gserialized_gist_2d.c:534,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:541,1
    - Dst: gserialized_get_float_box_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:544,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:545,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/postgis/gserialized_gist_2d.c:551,1
    - Dst: gserialized_max_header_size
      Src: /src/postgis/postgis/gserialized_gist_2d.c:551,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/gserialized_gist_2d.c:555,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:556,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:558,1
    - Dst: box2df_from_gbox_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:561,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/gserialized_gist_2d.c:565,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:566,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:567,1
    - Dst: box2df_set_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:569,1
    - Dst: POSTGIS_FREE_IF_COPY_P
      Src: /src/postgis/postgis/gserialized_gist_2d.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - gsdatum
    - box2df
    argTypes:
    - Datum
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 526
    functionDepth: 7
    functionLinenumber: 526
    functionLinenumberEnd: 577
    functionName: gserialized_datum_get_box2df_p
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 3
    functionsReached:
    - gserialized_max_header_size
    - box2df_set_empty
    - PG_DETOAST_DATUM
    - POSTGIS_FREE_IF_COPY_P
    - gserialized_get_gbox_p
    - LWSIZE_GET
    - box2df_from_gbox_p
    - gserialized_has_bbox
    - PG_GSERIALIZED_DATUM_NEEDS_DETOAST
    - gserialized_is_empty
    - PG_DETOAST_DATUM_SLICE
    - memcpy
    - gserialized_get_float_box_p
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_get_box2df_p(Datum gsdatum, BOX2DF *box2df)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:587,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:589,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:590,1
    - Dst: predicate
      Src: /src/postgis/postgis/gserialized_gist_2d.c:592,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:594,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:594,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - gs1
    - gs2
    - predicate
    argTypes:
    - Datum
    - Datum
    - box2df_predicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 583
    functionDepth: 8
    functionLinenumber: 583
    functionLinenumberEnd: 598
    functionName: gserialized_datum_predicate_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_box2df_p
    - POSTGIS_DEBUGF
    - POSTGIS_DEBUG
    - box2df_to_string
    - predicate
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_predicate_2d(Datum gs1, Datum gs2, box2df_predicate
      predicate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:604,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:606,1
    - Dst: predicate
      Src: /src/postgis/postgis/gserialized_gist_2d.c:608,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:610,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - br1
    - gs2
    - predicate
    argTypes:
    - BOX2DF*
    - Datum
    - box2df_predicate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 8
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: gserialized_datum_predicate_box2df_geom_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_box2df_p
    - POSTGIS_DEBUGF
    - POSTGIS_DEBUG
    - box2df_to_string
    - predicate
    linkageType: ''
    returnType: int
    signature: int gserialized_datum_predicate_box2df_geom_2d(const BOX2DF *br1, Datum
      gs2, box2df_predicate predicate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:623,1
    - Dst: gserialized_datum_predicate_box2df_geom_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:624,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:624,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:624,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:625,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 9
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: gserialized_contains_box2df_geom_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_predicate_box2df_geom_2d
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contains_box2df_geom_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_contains
      Src: /src/postgis/postgis/gserialized_gist_2d.c:633,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:633,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:633,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:634,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: gserialized_contains_box2df_box2df_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_contains
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contains_box2df_box2df_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:642,1
    - Dst: gserialized_datum_predicate_box2df_geom_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:643,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:643,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:643,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:644,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 9
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: gserialized_within_box2df_geom_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_predicate_box2df_geom_2d
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_within_box2df_geom_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_within
      Src: /src/postgis/postgis/gserialized_gist_2d.c:652,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:652,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:652,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:653,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: gserialized_within_box2df_box2df_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    - box2df_within
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_within_box2df_box2df_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:661,1
    - Dst: gserialized_datum_predicate_box2df_geom_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:662,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:662,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:662,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:663,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 9
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: gserialized_overlaps_box2df_geom_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_datum_predicate_box2df_geom_2d
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overlaps_box2df_geom_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_gist_2d.c:671,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:671,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:671,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:672,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: gserialized_overlaps_box2df_box2df_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_overlaps
    - PG_GETARG_POINTER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overlaps_box2df_box2df_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:685,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:686,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:688,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:691,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:692,1
    - Dst: box2df_distance_leaf_centroid
      Src: /src/postgis/postgis/gserialized_gist_2d.c:694,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:695,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:695,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:695,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:696,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 682
    functionDepth: 8
    functionLinenumber: 682
    functionLinenumberEnd: 699
    functionName: gserialized_distance_centroid_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_box2df_p
    - POSTGIS_DEBUGF
    - box2df_distance_leaf_centroid
    - box2df_to_string
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_distance_centroid_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:705,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:706,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:708,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:711,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:712,1
    - Dst: box2df_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:714,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:715,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:715,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:715,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:716,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 8
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: gserialized_distance_box_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - gserialized_datum_get_box2df_p
    - POSTGIS_DEBUGF
    - box2df_to_string
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - box2df_distance
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_distance_box_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:724,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:724,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:724,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:725,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 9
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: gserialized_same_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_same_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:733,1
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:734,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:734,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:734,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:735,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 9
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: gserialized_within_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_within_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:743,1
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:744,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:744,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:744,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:745,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 741
    functionDepth: 9
    functionLinenumber: 741
    functionLinenumberEnd: 748
    functionName: gserialized_contains_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_contains_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:753,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:753,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:753,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:754,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 9
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: gserialized_overlaps_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overlaps_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:762,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:762,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:762,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:763,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 9
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: gserialized_left_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_left_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:771,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:771,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:771,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:772,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 9
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: gserialized_right_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_right_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:780,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:780,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:780,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:781,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 9
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: gserialized_above_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_above_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:789,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:789,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:789,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:790,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 9
    functionLinenumber: 787
    functionLinenumberEnd: 793
    functionName: gserialized_below_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_below_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:798,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:798,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:798,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:799,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 9
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: gserialized_overleft_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overleft_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:807,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:807,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:807,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:808,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 9
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: gserialized_overright_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overright_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:816,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:816,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:816,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:817,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 9
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: gserialized_overabove_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overabove_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_datum_predicate_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:825,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:825,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:825,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:826,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 9
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: gserialized_overbelow_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - gserialized_datum_predicate_2d
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_overbelow_2d(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:845,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:850,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:858,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:859,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:862,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:863,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:869,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:871,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:872,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:874,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:875,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:879,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:884,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:885,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:887,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:888,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:892,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:894,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:894,1
    - Dst: box2df_copy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:894,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:897,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:898,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:901,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:901,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:904,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:904,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:905,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:905,1
    - Dst: box2df_set_finite
      Src: /src/postgis/postgis/gserialized_gist_2d.c:907,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:908,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:908,1
    - Dst: box2df_copy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:908,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:911,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:912,1
    - Dst: box2df_validate
      Src: /src/postgis/postgis/gserialized_gist_2d.c:916,1
    - Dst: gistentryinit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:919,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:919,1
    - Dst: box2df_copy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:919,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:923,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:924,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 843
    functionDepth: 8
    functionLinenumber: 843
    functionLinenumberEnd: 925
    functionName: gserialized_gist_compress_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - palloc
    - gserialized_datum_get_box2df_p
    - box2df_is_empty
    - POSTGIS_DEBUGF
    - gistentryinit
    - box2df_set_finite
    - PointerGetDatum
    - box2df_copy
    - isfinite
    - POSTGIS_DEBUG
    - box2df_to_string
    - box2df_validate
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_compress_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:935,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:937,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 938
    functionName: gserialized_gist_decompress_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_POINTER
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_decompress_2d(PG_FUNCTION_ARGS)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:949,1
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_gist_2d.c:957,1
    - Dst: box2df_equals
      Src: /src/postgis/postgis/gserialized_gist_2d.c:960,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/gserialized_gist_2d.c:964,1
    - Dst: box2df_within
      Src: /src/postgis/postgis/gserialized_gist_2d.c:968,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_gist_2d.c:973,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_gist_2d.c:976,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_gist_2d.c:979,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_gist_2d.c:982,1
    - Dst: box2df_overabove
      Src: /src/postgis/postgis/gserialized_gist_2d.c:987,1
    - Dst: box2df_overbelow
      Src: /src/postgis/postgis/gserialized_gist_2d.c:990,1
    - Dst: box2df_overright
      Src: /src/postgis/postgis/gserialized_gist_2d.c:993,1
    - Dst: box2df_overleft
      Src: /src/postgis/postgis/gserialized_gist_2d.c:996,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - key
    - query
    - strategy
    argTypes:
    - BOX2DF*
    - BOX2DF*
    - StrategyNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 1004
    functionName: gserialized_gist_consistent_leaf_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_overlaps
    - POSTGIS_DEBUGF
    - box2df_above
    - box2df_left
    - box2df_overbelow
    - box2df_overleft
    - box2df_within
    - box2df_contains
    - box2df_overabove
    - box2df_overright
    - box2df_below
    - box2df_equals
    - box2df_right
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_consistent_leaf_2d(BOX2DF *key, BOX2DF *query,
      StrategyNumber strategy)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1013,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1014,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1014,1
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1021,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1026,1
    - Dst: box2df_overlaps
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1030,1
    - Dst: box2df_overbelow
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1035,1
    - Dst: box2df_overabove
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1038,1
    - Dst: box2df_overleft
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1041,1
    - Dst: box2df_overright
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1044,1
    - Dst: box2df_below
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1049,1
    - Dst: box2df_above
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1052,1
    - Dst: box2df_left
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1055,1
    - Dst: box2df_right
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - key
    - query
    - strategy
    argTypes:
    - BOX2DF*
    - BOX2DF*
    - StrategyNumber
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1066
    functionName: gserialized_gist_consistent_internal_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_overlaps
    - box2df_overbelow
    - POSTGIS_DEBUGF
    - box2df_above
    - box2df_overleft
    - box2df_left
    - box2df_contains
    - box2df_overabove
    - box2df_overright
    - box2df_below
    - box2df_to_string
    - box2df_right
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_consistent_internal_2d(BOX2DF *key, BOX2DF *query,
      StrategyNumber strategy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1075,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1076,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1082,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1089,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1092,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1092,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1094,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1095,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1099,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1101,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1102,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1106,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1106,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1108,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1109,1
    - Dst: GIST_LEAF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1113,1
    - Dst: gserialized_gist_consistent_leaf_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1115,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1116,1
    - Dst: gserialized_gist_consistent_internal_2d
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1121,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1122,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1073
    functionDepth: 8
    functionLinenumber: 1073
    functionLinenumberEnd: 1127
    functionName: gserialized_gist_consistent_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - gserialized_gist_consistent_leaf_2d
    - gserialized_datum_get_box2df_p
    - GIST_LEAF
    - gserialized_gist_consistent_internal_2d
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_BOOL
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_consistent_2d(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1149,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1152,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1154,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1156,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1161,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1162,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1166,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1166,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1168,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1169,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1173,1
    - Dst: box2df_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1178,1
    - Dst: box2df_distance
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1186,1
    - Dst: GIST_LEAF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1188,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1193,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1194,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1147
    functionDepth: 8
    functionLinenumber: 1147
    functionLinenumberEnd: 1198
    functionName: gserialized_gist_distance_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - gserialized_datum_get_box2df_p
    - GIST_LEAF
    - elog
    - PG_RETURN_NULL
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - box2df_distance
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_distance_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - realm
    argTypes:
    - float
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1231
    functionName: pack_float
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float pack_float(const float value, const uint8_t realm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1241,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1241,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1242,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1242,1
    - Dst: pack_float
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1255,1
    - Dst: pack_float
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1261
    functionName: box2df_penalty
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - Max
    - Min
    - pack_float
    linkageType: ''
    returnType: float
    signature: float box2df_penalty(const BOX2DF *b1, const BOX2DF *b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1270,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1271,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1272,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1275,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1276,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1284,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1284,1
    - Dst: box2df_penalty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1285,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1288
    functionName: gserialized_gist_penalty_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - box2df_is_empty
    - box2df_penalty
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_penalty_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1296,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1297,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1301,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1305,1
    - Dst: box2df_copy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1307,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1311,1
    - Dst: box2df_merge
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1312,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1317,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1317,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1294
    functionDepth: 4
    functionLinenumber: 1294
    functionLinenumberEnd: 1321
    functionName: gserialized_gist_union_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - DatumGetPointer
    - POSTGIS_DEBUGF
    - box2df_copy
    - box2df_merge
    - POSTGIS_DEBUG
    - box2df_to_string
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_union_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1329,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1330,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1331,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1333,1
    - Dst: box2df_equals
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1335,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1338
    functionName: gserialized_gist_same_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_POINTER
    - box2df_equals
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_same_2d(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - ssup
    argTypes:
    - Datum
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1350
    functionName: gserialized_gist_cmp_abbrev_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gserialized_gist_cmp_abbrev_2d(Datum x, Datum y, SortSupport ssup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memtupcount
    - ssup
    argTypes:
    - int
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1356
    functionName: gserialized_gist_abbrev_abort_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gserialized_gist_abbrev_abort_2d(int memtupcount, SortSupport
      ssup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: box2df_get_sortable_hash
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - original
    - ssup
    argTypes:
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1358
    functionDepth: 3
    functionLinenumber: 1358
    functionLinenumberEnd: 1362
    functionName: gserialized_gist_abbrev_convert_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_get_sortable_hash
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_abbrev_convert_2d(Datum original, SortSupport
      ssup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1372,1
    - Dst: box2df_get_sortable_hash
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1376,1
    - Dst: box2df_get_sortable_hash
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - ssup
    argTypes:
    - Datum
    - Datum
    - SortSupport
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1364
    functionDepth: 3
    functionLinenumber: 1364
    functionLinenumberEnd: 1384
    functionName: gserialized_gist_cmp_full_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - box2df_get_sortable_hash
    - memcmp
    linkageType: ''
    returnType: int
    signature: int gserialized_gist_cmp_full_2d(Datum a, Datum b, SortSupport ssup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1389,1
    - Dst: PG_RETURN_VOID
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1403
    functionName: gserialized_gist_sortsupport_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_RETURN_VOID
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_sortsupport_2d(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1411,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1413,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1415,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1417,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - b
    - addon
    argTypes:
    - BOX2DF*
    - BOX2DF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1419
    functionName: adjustBox
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: void
    signature: void adjustBox(BOX2DF *b, BOX2DF *addon)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1437,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1438,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1441,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1443,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1450,1
    - Dst: adjustBox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1454,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1463,1
    - Dst: adjustBox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1467,1
    - Dst: adjustBox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1474,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1474,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1475,1
    - Dst: adjustBox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1478,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1478,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - entryvec
    - v
    argTypes:
    - GistEntryVector*
    - GIST_SPLITVEC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1482
    functionName: fallbackSplit
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - palloc
    - DatumGetPointer
    - OffsetNumberNext
    - PointerGetDatum
    - adjustBox
    linkageType: ''
    returnType: void
    signature: void fallbackSplit(GistEntryVector *entryvec, GIST_SPLITVEC *v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1537,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1539,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1557
    functionName: interval_cmp_lower
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: int
    signature: int interval_cmp_lower(const void *i1, const void *i2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1569,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1571,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1589
    functionName: interval_cmp_upper
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: int
    signature: int interval_cmp_upper(const void *i1, const void *i2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1601
    functionName: non_negative
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float non_negative(float val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1617,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1642,1
    - Dst: non_negative
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1695,1
    - Dst: non_negative
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1695,1
    - Dst: non_negative
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1697,1
    - Dst: non_negative
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1697,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1711,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - context
    - dimNum
    - rightLower
    - minLeftCount
    - leftUpper
    - maxLeftCount
    argTypes:
    - ConsiderSplitContext*
    - int
    - float
    - int
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1606
    functionDepth: 1
    functionLinenumber: 1606
    functionLinenumberEnd: 1714
    functionName: g_box_consider_split
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUG
    - non_negative
    - Min
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: "void g_box_consider_split(ConsiderSplitContext *context, int dimNum,\n\t\t\t\t\t
      float rightLower, int minLeftCount,\n\t\t\t\t\t float leftUpper, int maxLeftCount)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1731
    functionName: common_entry_cmp
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int common_entry_cmp(const void *i1, const void *i2)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1762,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1763,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1777,1
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1779,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1785,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1786,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1791,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1793,1
    - Dst: adjustBox
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1797,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1800,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1800,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1815,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1817,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1834,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1836,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1838,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1885,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1887,1
    - Dst: g_box_consider_split
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1904,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1921,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1923,1
    - Dst: g_box_consider_split
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1940,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1950,1
    - Dst: fallbackSplit
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1951,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1952,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1963,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1966,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1967,1
    - Dst: palloc0
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1972,1
    - Dst: palloc0
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1973,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_gist_2d.c:1980,1
    - Dst: OffsetNumberNext
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2005,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2013,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2025,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2028,1
    - Dst: PLACE_LEFT
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2036,1
    - Dst: Assert
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2046,1
    - Dst: PLACE_RIGHT
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2049,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2053,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2053,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2054,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2054,1
    - Dst: ceil
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2062,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2066,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2074,1
    - Dst: fabs
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2077,1
    - Dst: box2df_penalty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2077,1
    - Dst: box2df_penalty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2077,1
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2084,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2093,1
    - Dst: box2df_penalty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2096,1
    - Dst: box2df_penalty
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2097,1
    - Dst: PLACE_RIGHT
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2121,1
    - Dst: PLACE_LEFT
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2123,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2126,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2127,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2129,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2131,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 1760
    functionDepth: 3
    functionLinenumber: 1760
    functionLinenumberEnd: 2132
    functionName: gserialized_gist_picksplit_2d
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - g_box_consider_split
    - ceil
    - PLACE_RIGHT
    - box2df_to_string
    - fallbackSplit
    - Max
    - OffsetNumberNext
    - memset
    - isnan
    - PLACE_LEFT
    - POSTGIS_DEBUGF
    - PointerGetDatum
    - qsort
    - adjustBox
    - Min
    - palloc0
    - Assert
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - box2df_penalty
    - fabs
    - POSTGIS_DEBUG
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_picksplit_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - box
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1991
    functionName: PLACE_LEFT
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLACE_LEFT(box, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - box
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2000
    functionName: PLACE_RIGHT
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLACE_RIGHT(box, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2141,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2141,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2142,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2144
    functionName: box2df_in
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - ereport
    - PG_RETURN_POINTER
    - errcode
    - errmsg
    linkageType: ''
    returnType: Datum
    signature: Datum box2df_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2149,1
    - Dst: box2df_to_string
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2150,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/gserialized_gist_2d.c:2151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2147
    functionDepth: 3
    functionLinenumber: 2147
    functionLinenumberEnd: 2152
    functionName: box2df_out
    functionSourceFile: /src/postgis/postgis/gserialized_gist_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - box2df_to_string
    - PG_RETURN_CSTRING
    linkageType: ''
    returnType: Datum
    signature: Datum box2df_out(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_ogc.c:99,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:100,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:101,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: LWGEOM_get_srid
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - gserialized_get_srid
    - PG_RETURN_INT32
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_get_srid(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:109,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_ogc.c:109,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:110,1
    - Dst: gserialized_set_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:111,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: LWGEOM_set_srid
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - gserialized_set_srid
    - PG_DETOAST_DATUM_COPY
    - PG_GETARG_INT32
    - PG_GETARG_DATUM
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_set_srid(PG_FUNCTION_ARGS)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_ogc.c:125,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_ogc.c:126,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_ogc.c:127,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:129,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:132,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:134,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:136,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:138,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:140,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:142,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:144,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:146,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:148,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:150,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:152,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:154,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:156,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:158,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:160,1
    - Dst: strcpy
      Src: /src/postgis/postgis/lwgeom_ogc.c:162,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_ogc.c:164,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_ogc.c:164,1
    - Dst: strcat
      Src: /src/postgis/postgis/lwgeom_ogc.c:165,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/lwgeom_ogc.c:167,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_ogc.c:167,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:169,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 172
    functionName: LWGEOM_getTYPE
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - strcpy
    - gserialized_has_z
    - SET_VARSIZE
    - PG_GETARG_GSERIALIZED_HEADER
    - strlen
    - gserialized_has_m
    - PG_RETURN_TEXT_P
    - gserialized_get_type
    - strcat
    - VARDATA
    - palloc0
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_getTYPE(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_ogc.c:200,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_ogc.c:203,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:203,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:205,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: geometry_geometrytype
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - PG_RETURN_TEXT_P
    - cstring_to_text
    - gserialized_get_type
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_geometrytype(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:218,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:219,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/postgis/lwgeom_ogc.c:224,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:226,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:227,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:231,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: LWGEOM_numpoints_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_count_vertices
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_numpoints_linestring(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:239,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:243,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:244,1
    - Dst: lwgeom_is_unitary
      Src: /src/postgis/postgis/lwgeom_ogc.c:248,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/postgis/lwgeom_ogc.c:254,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:257,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:258,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 260
    functionName: LWGEOM_numgeometries_collection
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_as_lwcollection
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_is_unitary
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_numgeometries_collection(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:266,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:267,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:269,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:274,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:275,1
    - Dst: lwgeom_is_unitary
      Src: /src/postgis/postgis/lwgeom_ogc.c:278,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:281,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:283,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/postgis/lwgeom_ogc.c:286,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_ogc.c:288,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:293,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_ogc.c:299,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:301,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:302,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:303,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 264
    functionDepth: 7
    functionLinenumber: 264
    functionLinenumberEnd: 305
    functionName: LWGEOM_geometryn_collection
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_as_lwcollection
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - lwgeom_add_bbox
    - PG_RETURN_NULL
    - lwgeom_is_unitary
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_geometryn_collection(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:315,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:316,1
    - Dst: lwgeom_dimension
      Src: /src/postgis/postgis/lwgeom_ogc.c:319,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:320,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:321,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_ogc.c:325,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:326,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: LWGEOM_dimension
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_dimension
    - lwgeom_free
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dimension(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:341,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:344,1
    - Dst: lwgeom_has_rings
      Src: /src/postgis/postgis/lwgeom_ogc.c:348,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:349,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:351,1
    - Dst: lwline_construct_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:353,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_ogc.c:354,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_ogc.c:355,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:356,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_ogc.c:356,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:360,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_ogc.c:371,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_ogc.c:373,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:374,1
    - Dst: lwgeom_release
      Src: /src/postgis/postgis/lwgeom_ogc.c:376,1
    - Dst: lwgeom_as_lwtriangle
      Src: /src/postgis/postgis/lwgeom_ogc.c:380,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_ogc.c:388,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_ogc.c:389,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:391,1
    - Dst: lwgeom_release
      Src: /src/postgis/postgis/lwgeom_ogc.c:393,1
    - Dst: lwgeom_as_lwcurvepoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:397,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:398,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:401,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:402,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 404
    functionName: LWGEOM_exteriorring_polygon
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gbox_copy
    - lwgeom_has_rings
    - lwline_construct_empty
    - lwline_as_lwgeom
    - PG_RETURN_NULL
    - lwgeom_has_z
    - lwgeom_as_lwcurvepoly
    - lwline_construct
    - PG_FREE_IF_COPY
    - lwgeom_has_m
    - lwgeom_as_lwpoly
    - PG_GETARG_GSERIALIZED_P
    - geometry_serialize
    - PG_RETURN_POINTER
    - lwgeom_release
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_as_lwtriangle
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_exteriorring_polygon(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:415,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:416,1
    - Dst: lwgeom_has_rings
      Src: /src/postgis/postgis/lwgeom_ogc.c:420,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:421,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:423,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:424,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:433,1
    - Dst: lwgeom_as_lwcurvepoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:443,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_ogc.c:452,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:455,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:456,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:458,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 413
    functionDepth: 6
    functionLinenumber: 413
    functionLinenumberEnd: 461
    functionName: LWGEOM_numinteriorrings_polygon
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_has_rings
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - lwgeom_as_lwpoly
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_as_lwcurvepoly
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_numinteriorrings_polygon(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_ogc.c:483,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:485,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:488,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:491,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:492,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:496,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:497,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:500,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_ogc.c:501,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:503,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:504,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:505,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:510,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:510,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:515,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:516,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:517,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_ogc.c:525,1
    - Dst: ptarray_calculate_gbox_cartesian
      Src: /src/postgis/postgis/lwgeom_ogc.c:526,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_ogc.c:530,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:533,1
    - Dst: lwline_release
      Src: /src/postgis/postgis/lwgeom_ogc.c:534,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:535,1
    - Dst: lwgeom_as_lwcurvepoly
      Src: /src/postgis/postgis/lwgeom_ogc.c:539,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:539,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:543,1
    - Dst: lwgeom_release
      Src: /src/postgis/postgis/lwgeom_ogc.c:544,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:545,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:548,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:549,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:552,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 470
    functionDepth: 7
    functionLinenumber: 470
    functionLinenumberEnd: 554
    functionName: LWGEOM_interiorringn_polygon
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwline_release
    - PG_RETURN_NULL
    - lwalloc
    - lwgeom_as_lwcurvepoly
    - lwline_construct
    - PG_FREE_IF_COPY
    - lwpoly_free
    - lwgeom_as_lwpoly
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - gserialized_get_type
    - geometry_serialize
    - PG_RETURN_POINTER
    - lwgeom_release
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - POSTGIS_DEBUG
    - ptarray_calculate_gbox_cartesian
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_interiorringn_polygon(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:564,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:565,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:566,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/postgis/lwgeom_ogc.c:575,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:583,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/postgis/lwgeom_ogc.c:589,1
    - Dst: lwcompound_get_lwpoint
      Src: /src/postgis/postgis/lwgeom_ogc.c:593,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:596,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:597,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:600,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:602,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:602,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_ogc.c:602,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 562
    functionDepth: 7
    functionLinenumber: 562
    functionLinenumberEnd: 603
    functionName: LWGEOM_pointn_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_count_vertices
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwline_get_lwpoint
    - lwcompound_get_lwpoint
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_pointn_linestring(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:612,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:615,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_ogc.c:616,1
    - Dst: gserialized_peek_first_point
      Src: /src/postgis/postgis/lwgeom_ogc.c:618,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:620,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_ogc.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 5
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: LWGEOM_x_point
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - gserialized_peek_first_point
    - lwpgerror
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_x_point(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:632,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:635,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_ogc.c:636,1
    - Dst: gserialized_peek_first_point
      Src: /src/postgis/postgis/lwgeom_ogc.c:638,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:640,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_ogc.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 643
    functionName: LWGEOM_y_point
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - gserialized_peek_first_point
    - lwpgerror
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_y_point(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:653,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:656,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_ogc.c:657,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_ogc.c:659,1
    - Dst: gserialized_peek_first_point
      Src: /src/postgis/postgis/lwgeom_ogc.c:659,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:661,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_ogc.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 5
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: LWGEOM_z_point
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - gserialized_peek_first_point
    - lwpgerror
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_z_point(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:673,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_ogc.c:676,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_ogc.c:677,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_ogc.c:679,1
    - Dst: gserialized_peek_first_point
      Src: /src/postgis/postgis/lwgeom_ogc.c:679,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:681,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_ogc.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 684
    functionName: LWGEOM_m_point
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - gserialized_peek_first_point
    - lwpgerror
    - PG_RETURN_NULL
    - gserialized_has_m
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_m_point(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:693,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:695,1
    - Dst: lwgeom_startpoint
      Src: /src/postgis/postgis/lwgeom_ogc.c:699,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:701,1
    - Dst: lwpoint_make
      Src: /src/postgis/postgis/lwgeom_ogc.c:704,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_ogc.c:704,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_ogc.c:704,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:705,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:707,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:708,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:710,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 691
    functionDepth: 7
    functionLinenumber: 691
    functionLinenumberEnd: 712
    functionName: LWGEOM_startpoint_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - PG_FREE_IF_COPY
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_has_z
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_make
    - PG_RETURN_POINTER
    - lwgeom_startpoint
    - lwgeom_has_m
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_startpoint_linestring(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:721,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:722,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/postgis/lwgeom_ogc.c:730,1
    - Dst: lwcompound_get_endpoint
      Src: /src/postgis/postgis/lwgeom_ogc.c:734,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:737,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:738,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:741,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:743,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:743,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_ogc.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 719
    functionDepth: 7
    functionLinenumber: 719
    functionLinenumberEnd: 744
    functionName: LWGEOM_endpoint_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwline_get_lwpoint
    - lwcompound_get_endpoint
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_endpoint_linestring(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:756,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_ogc.c:757,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_ogc.c:762,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_ogc.c:763,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/postgis/lwgeom_ogc.c:765,1
    - Dst: PG_PARSER_ERROR
      Src: /src/postgis/postgis/lwgeom_ogc.c:766,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_ogc.c:772,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_ogc.c:776,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:777,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:777,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:779,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:780,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 754
    functionDepth: 7
    functionLinenumber: 754
    functionLinenumberEnd: 783
    functionName: LWGEOM_from_text
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_parser_result_free
    - POSTGIS_DEBUGF
    - lwgeom_parse_wkt
    - elog
    - PG_NARGS
    - PG_GETARG_INT32
    - text_to_cstring
    - lwgeom_set_srid
    - PG_PARSER_ERROR
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_from_text(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:797,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_ogc.c:801,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/lwgeom_ogc.c:803,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_ogc.c:803,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_ogc.c:805,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_ogc.c:807,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:808,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:809,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:811,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_ogc.c:813,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_ogc.c:816,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:818,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:819,1
    - Dst: gserialized_set_srid
      Src: /src/postgis/postgis/lwgeom_ogc.c:820,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_ogc.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 795
    functionDepth: 7
    functionLinenumber: 795
    functionLinenumberEnd: 824
    functionName: LWGEOM_from_WKB
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - VARSIZE_ANY_EXHDR
    - lwgeom_free
    - gserialized_get_srid
    - gserialized_set_srid
    - lwpgerror
    - elog
    - PG_NARGS
    - PG_GETARG_BYTEA_P
    - VARDATA
    - PG_GETARG_INT32
    - lwgeom_from_wkb
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_from_WKB(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:830,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:831,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_ogc.c:834,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_ogc.c:834,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:836,1
    - Dst: lwgeom_to_wkt_varlena
      Src: /src/postgis/postgis/lwgeom_ogc.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 828
    functionDepth: 10
    functionLinenumber: 828
    functionLinenumberEnd: 837
    functionName: LWGEOM_asText
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_RETURN_TEXT_P
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwgeom_to_wkt_varlena
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asText(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:848,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:849,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:852,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:853,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_ogc.c:857,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_ogc.c:857,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:859,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_ogc.c:861,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_ogc.c:861,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_ogc.c:862,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_ogc.c:862,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:873,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/postgis/lwgeom_ogc.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 842
    functionDepth: 11
    functionLinenumber: 842
    functionLinenumberEnd: 874
    functionName: LWGEOM_asBinary
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_BYTEA_P
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - strncmp
    - PG_GETARG_TEXT_P
    - lwgeom_to_wkb_varlena
    - VARDATA
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asBinary(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_ogc.c:887,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_ogc.c:888,1
    - Dst: lwgeom_is_closed
      Src: /src/postgis/postgis/lwgeom_ogc.c:889,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_ogc.c:891,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_ogc.c:892,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_ogc.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 6
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: LWGEOM_isclosed
    functionSourceFile: /src/postgis/postgis/lwgeom_ogc.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_BOOL
    - lwgeom_is_closed
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_isclosed(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/postgis/lwgeom_in_kml.c:81,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - kml_name
    argTypes:
    - xmlNodePtr
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: is_kml_element
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_kml_element(xmlNodePtr xn, const char *kml_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_kml.c:106,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_kml.c:106,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_kml.c:107,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_in_kml.c:108,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_kml.c:109,1
    - Dst: xmlInitParser
      Src: /src/postgis/postgis/lwgeom_in_kml.c:112,1
    - Dst: xmlReadMemory
      Src: /src/postgis/postgis/lwgeom_in_kml.c:113,1
    - Dst: xmlDocGetRootElement
      Src: /src/postgis/postgis/lwgeom_in_kml.c:114,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_kml.c:116,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_kml.c:117,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:118,1
    - Dst: parse_kml
      Src: /src/postgis/postgis/lwgeom_in_kml.c:121,1
    - Dst: lwgeom_homogenize
      Src: /src/postgis/postgis/lwgeom_in_kml.c:126,1
    - Dst: lwgeom_release
      Src: /src/postgis/postgis/lwgeom_in_kml.c:127,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/postgis/lwgeom_in_kml.c:139,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_kml.c:140,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_kml.c:144,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_kml.c:145,1
    - Dst: xmlFreeDoc
      Src: /src/postgis/postgis/lwgeom_in_kml.c:147,1
    - Dst: xmlCleanupParser
      Src: /src/postgis/postgis/lwgeom_in_kml.c:148,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_kml.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 94
    functionDepth: 7
    functionLinenumber: 94
    functionLinenumberEnd: 151
    functionName: geom_from_kml
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - xmlInitParser
    - geometry_serialize
    - VARSIZE_ANY_EXHDR
    - xmlDocGetRootElement
    - parse_kml
    - lwgeom_free
    - lwpgerror
    - lwgeom_release
    - xmlReadMemory
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text_to_cstring
    - lwgeom_homogenize
    - lwgeom_force_2d
    - PG_GETARG_TEXT_P
    - xmlFreeDoc
    - xmlCleanupParser
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom_from_kml(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xmlGetNsList
      Src: /src/postgis/postgis/lwgeom_in_kml.c:162,1
    - Dst: xmlStrcmp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:175,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:177,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_kml.c:179,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_kml.c:182,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_kml.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - xnode
    - is_strict
    argTypes:
    - xmlNodePtr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 190
    functionName: is_kml_namespace
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xmlGetNsList
    - xmlFree
    - xmlStrcmp
    linkageType: ''
    returnType: bool
    signature: bool is_kml_namespace(xmlNodePtr xnode, bool is_strict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:203,1
    - Dst: xmlGetProp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:204,1
    - Dst: xmlGetNsProp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:206,1
    - Dst: xmlGetNoNsProp
      Src: /src/postgis/postgis/lwgeom_in_kml.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xnode
    - prop
    argTypes:
    - xmlNodePtr
    - xmlChar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: kmlGetProp
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - xmlGetNoNsProp
    - xmlGetNsProp
    - xmlGetProp
    - is_kml_namespace
    linkageType: ''
    returnType: xmlChar
    signature: xmlChar *kmlGetProp(xmlNodePtr xnode, xmlChar *prop)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:244,1
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_in_kml.c:248,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_kml.c:250,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:256,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:261,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:267,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:272,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:274,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:276,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:280,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:282,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:286,1
    - Dst: atof
      Src: /src/postgis/postgis/lwgeom_in_kml.c:288,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 50
    argCount: 3
    argNames:
    - d
    - space_before
    - space_after
    argTypes:
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 289
    functionName: parse_kml_double
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - isspace
    - lwpgnotice
    - atof
    - isdigit
    linkageType: ''
    returnType: double
    signature: double parse_kml_double(char *d, bool space_before, bool space_after)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:307,1
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:312,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:313,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:318,1
    - Dst: xmlNodeGetContent
      Src: /src/postgis/postgis/lwgeom_in_kml.c:321,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_kml.c:330,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:332,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_kml.c:336,1
    - Dst: strtod
      Src: /src/postgis/postgis/lwgeom_in_kml.c:338,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:341,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:347,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:353,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:354,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:358,1
    - Dst: isdigit
      Src: /src/postgis/postgis/lwgeom_in_kml.c:359,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:360,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:364,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_kml.c:366,1
    - Dst: isspace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:371,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:372,1
    - Dst: xmlFree
      Src: /src/postgis/postgis/lwgeom_in_kml.c:376,1
    - Dst: ptarray_clone_deep
      Src: /src/postgis/postgis/lwgeom_in_kml.c:379,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 62
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 380
    functionName: parse_kml_coordinates
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - lwpgerror
    - isspace
    - ptarray_append_point
    - ptarray_clone_deep
    - strtod
    - is_kml_element
    - xmlNodeGetContent
    - xmlFree
    - is_kml_namespace
    - isdigit
    linkageType: ''
    returnType: POINTARRAY
    signature: POINTARRAY * parse_kml_coordinates(xmlNodePtr xnode, bool *hasz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:390,1
    - Dst: parse_kml_coordinates
      Src: /src/postgis/postgis/lwgeom_in_kml.c:391,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:392,1
    - Dst: lwpoint_construct
      Src: /src/postgis/postgis/lwgeom_in_kml.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: parse_kml_point
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - lwpoint_construct
    - parse_kml_coordinates
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_kml_point(xmlNodePtr xnode, bool *hasz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:405,1
    - Dst: parse_kml_coordinates
      Src: /src/postgis/postgis/lwgeom_in_kml.c:406,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:407,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_in_kml.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: parse_kml_line
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    - lwline_construct
    - parse_kml_coordinates
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_kml_line(xmlNodePtr xnode, bool *hasz)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:428,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:429,1
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:435,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:436,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_kml.c:438,1
    - Dst: parse_kml_coordinates
      Src: /src/postgis/postgis/lwgeom_in_kml.c:439,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:442,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_kml.c:444,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_kml.c:445,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_in_kml.c:448,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_kml.c:449,1
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_in_kml.c:450,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:457,1
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:464,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:465,1
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:471,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:472,1
    - Dst: lwrealloc
      Src: /src/postgis/postgis/lwgeom_in_kml.c:474,1
    - Dst: parse_kml_coordinates
      Src: /src/postgis/postgis/lwgeom_in_kml.c:475,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:478,1
    - Dst: ptarray_is_closed_2d
      Src: /src/postgis/postgis/lwgeom_in_kml.c:480,1
    - Dst: ptarray_is_closed_3d
      Src: /src/postgis/postgis/lwgeom_in_kml.c:481,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_in_kml.c:484,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_in_kml.c:485,1
    - Dst: lwpgnotice
      Src: /src/postgis/postgis/lwgeom_in_kml.c:486,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:494,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_in_kml.c:496,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 58
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 497
    functionName: parse_kml_polygon
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - ptarray_is_closed_2d
    - lwpoly_construct
    - lwpgerror
    - ptarray_append_point
    - parse_kml_coordinates
    - is_kml_element
    - ptarray_is_closed_3d
    - lwalloc
    - lwrealloc
    - lwpgnotice
    - is_kml_namespace
    - getPoint4d_p
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_kml_polygon(xmlNodePtr xnode, bool *hasz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_in_kml.c:508,1
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:514,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:516,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:517,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:518,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:519,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/postgis/lwgeom_in_kml.c:523,1
    - Dst: parse_kml
      Src: /src/postgis/postgis/lwgeom_in_kml.c:523,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 528
    functionName: parse_kml_multi
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 0
    functionsReached:
    - parse_kml
    - lwcollection_construct_empty
    - is_kml_element
    - is_kml_namespace
    - lwcollection_add_lwgeom
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_kml_multi(xmlNodePtr xnode, bool *hasz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_kml_namespace
      Src: /src/postgis/postgis/lwgeom_in_kml.c:539,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:541,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:543,1
    - Dst: parse_kml_point
      Src: /src/postgis/postgis/lwgeom_in_kml.c:544,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:546,1
    - Dst: parse_kml_line
      Src: /src/postgis/postgis/lwgeom_in_kml.c:547,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:549,1
    - Dst: parse_kml_polygon
      Src: /src/postgis/postgis/lwgeom_in_kml.c:550,1
    - Dst: is_kml_element
      Src: /src/postgis/postgis/lwgeom_in_kml.c:552,1
    - Dst: parse_kml_multi
      Src: /src/postgis/postgis/lwgeom_in_kml.c:553,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_in_kml.c:555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - xnode
    - hasz
    argTypes:
    - xmlNodePtr
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 534
    functionDepth: 5
    functionLinenumber: 534
    functionLinenumberEnd: 557
    functionName: parse_kml
    functionSourceFile: /src/postgis/postgis/lwgeom_in_kml.c
    functionUses: 2
    functionsReached:
    - lwpgerror
    - parse_kml_point
    - is_kml_element
    - parse_kml_multi
    - parse_kml_polygon
    - parse_kml_line
    - is_kml_namespace
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * parse_kml(xmlNodePtr xnode, bool *hasz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:51,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:52,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:55,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:55,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:58,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:60,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:66,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:66,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:66,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:69,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:70,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:71,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:72,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:75,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:79,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:82,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:84,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:89,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:90,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:99,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:100,1
    - Dst: lwgeom_remove_irrelevant_points_for_view
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:104,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:107,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:108,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:110,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:111,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:113,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 115
    functionName: ST_RemoveIrrelevantPointsForView
    functionSourceFile: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lwgeom_remove_irrelevant_points_for_view
    - lwgeom_free
    - gserialized_from_lwgeom
    - lwgeom_from_gserialized
    - PG_DETOAST_DATUM_COPY
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_BOOL
    - lwgeom_add_bbox
    - lwgeom_drop_bbox
    - PG_GETARG_DATUM
    - gserialized_get_type
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemoveIrrelevantPointsForView(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: xstr
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: str
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:135,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:136,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:137,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: LWGEOM_mem_size
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_FREE_IF_COPY
    - VARSIZE
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_mem_size(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:146,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:147,1
    - Dst: lwgeom_summary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:148,1
    - Dst: gserialized_get_version
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:149,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:150,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:154,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:155,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:159,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:160,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:162,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:163,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:166,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:167,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:169,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: LWGEOM_summary
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_summary
    - snprintf
    - lwgeom_from_gserialized
    - strlen
    - lwalloc
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_version
    - lwfree
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_summary(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:177,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: postgis_version
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - cstring_to_text
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_version
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:184,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:185,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: postgis_liblwgeom_version
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - lwgeom_version
    - cstring_to_text
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_liblwgeom_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:193,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: postgis_lib_version
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - cstring_to_text
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_lib_version(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xstr
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:200,1
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:204,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:206,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:206,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: postgis_lib_revision
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - snprintf
    - PG_RETURN_NULL
    - xstr
    - cstring_to_text
    - PG_RETURN_TEXT_P
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_lib_revision(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:215,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: postgis_lib_build_date
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - cstring_to_text
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_lib_build_date(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:225,1
    - Dst: xstr
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:225,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:228,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: postgis_scripts_released
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - xstr
    - cstring_to_text
    - snprintf
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_scripts_released(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:236,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: postgis_libxml_version
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - cstring_to_text
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_libxml_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:244,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:245,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:248,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:249,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:251,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: LWGEOM_npoints
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_count_vertices
    - lwgeom_from_gserialized
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_npoints(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:259,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:260,1
    - Dst: lwgeom_count_rings
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:263,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:264,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:266,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: LWGEOM_nrings
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_count_rings
    - lwgeom_from_gserialized
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_nrings(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:279,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:280,1
    - Dst: lwgeom_area
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:283,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:285,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:286,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: ST_Area
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_FLOAT8
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_area
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Area(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:301,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:302,1
    - Dst: lwgeom_length_2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:303,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:304,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:305,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: LWGEOM_length2d_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_length_2d
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_length2d_linestring(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:319,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:320,1
    - Dst: lwgeom_length
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:321,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:322,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:323,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 6
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: LWGEOM_length_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - lwgeom_length
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_length_linestring(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:337,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:338,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:341,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:342,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: LWGEOM_perimeter_poly
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_perimeter
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_perimeter_poly(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:356,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:357,1
    - Dst: lwgeom_perimeter_2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:360,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:361,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 363
    functionName: LWGEOM_perimeter2d_poly
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_perimeter_2d
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_perimeter2d_poly(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:369,1
    - Dst: gserialized_ndims
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:374,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:375,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:377,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:378,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:379,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:380,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:381,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:383,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 7
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: LWGEOM_force_2d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - gserialized_ndims
    - lwgeom_from_gserialized
    - lwgeom_force_2d
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:391,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:394,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:394,1
    - Dst: gserialized_ndims
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:397,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:397,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:398,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:400,1
    - Dst: lwgeom_force_3dz
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:401,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:402,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:403,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:404,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:406,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 389
    functionDepth: 7
    functionLinenumber: 389
    functionLinenumberEnd: 408
    functionName: LWGEOM_force_3dz
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - geometry_serialize
    - lwgeom_free
    - gserialized_ndims
    - lwgeom_from_gserialized
    - PG_NARGS
    - lwgeom_force_3dz
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_3dz(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:414,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:417,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:417,1
    - Dst: gserialized_ndims
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:420,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:420,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:421,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:423,1
    - Dst: lwgeom_force_3dm
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:424,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:425,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:426,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:427,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:429,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 7
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: LWGEOM_force_3dm
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - gserialized_ndims
    - lwgeom_from_gserialized
    - PG_NARGS
    - gserialized_has_m
    - lwgeom_force_3dm
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_3dm(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:437,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:440,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:440,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:441,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:441,1
    - Dst: gserialized_ndims
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:444,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:445,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:447,1
    - Dst: lwgeom_force_4d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:448,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:449,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:450,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:451,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:453,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 7
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: LWGEOM_force_4d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_force_4d
    - gserialized_ndims
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_4d(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:461,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:468,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:475,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:475,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:477,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:481,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:484,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:497,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:499,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:502,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:503,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:505,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 459
    functionDepth: 7
    functionLinenumber: 459
    functionLinenumberEnd: 507
    functionName: LWGEOM_force_collection
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - palloc
    - geometry_serialize
    - lwgeom_free
    - lwgeom_is_collection
    - PG_FREE_IF_COPY
    - lwgeom_from_gserialized
    - lwcollection_construct
    - PG_GETARG_GSERIALIZED_P
    - gserialized_has_bbox
    - gserialized_get_type
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_collection(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:513,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:518,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:525,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:527,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:536,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:543,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:544,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:546,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:548,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 511
    functionDepth: 7
    functionLinenumber: 511
    functionLinenumberEnd: 551
    functionName: LWGEOM_force_multi
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_FREE_IF_COPY
    - lwgeom_from_gserialized
    - lwgeom_as_multi
    - PG_GETARG_GSERIALIZED_P
    - gserialized_has_bbox
    - gserialized_get_type
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_multi(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:557,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:562,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:566,1
    - Dst: lwgeom_as_curve
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:567,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:569,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:571,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 7
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: LWGEOM_force_curve
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_as_curve
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_curve(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:580,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:587,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:590,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:590,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:592,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:594,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:594,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:600,1
    - Dst: lwgeom_force_sfs
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:601,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:603,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:605,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 578
    functionDepth: 10
    functionLinenumber: 578
    functionLinenumberEnd: 608
    functionName: LWGEOM_force_sfs
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_TEXT_P
    - strncmp
    - VARDATA
    - lwgeom_force_sfs
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_sfs(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:618,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:619,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:621,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:622,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:623,1
    - Dst: lwgeom_closest_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:625,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:627,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:628,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:630,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:631,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:632,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:633,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:635,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:636,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 615
    functionDepth: 7
    functionLinenumber: 615
    functionLinenumberEnd: 638
    functionName: LWGEOM_closestpoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_closest_point
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_closestpoint(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:647,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:648,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:650,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:651,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:652,1
    - Dst: lwgeom_closest_line
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:654,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:656,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:657,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:659,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:660,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:661,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:662,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:664,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:665,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 667
    functionName: LWGEOM_shortestline2d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_closest_line
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_shortestline2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:676,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:677,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:679,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:680,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:681,1
    - Dst: lwgeom_furthest_line
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:683,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:685,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:686,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:688,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:689,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:690,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:691,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:693,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:694,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 673
    functionDepth: 7
    functionLinenumber: 673
    functionLinenumberEnd: 696
    functionName: LWGEOM_longestline2d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_furthest_line
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_longestline2d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:704,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:705,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:706,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:707,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:708,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:710,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:712,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:713,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:715,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:716,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:720,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 701
    functionDepth: 6
    functionLinenumber: 701
    functionLinenumberEnd: 723
    functionName: ST_Distance
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - lwgeom_mindistance2d
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Distance(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:734,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:735,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:736,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:737,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:738,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:742,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:743,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:746,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:748,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:748,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:750,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:753,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:755,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:756,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 731
    functionDepth: 6
    functionLinenumber: 731
    functionLinenumberEnd: 760
    functionName: LWGEOM_dwithin
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwgeom_mindistance2d_tolerance
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dwithin(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:769,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:770,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:771,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:772,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:773,1
    - Dst: lwgeom_maxdistance2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:775,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:777,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:778,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:782,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 6
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: LWGEOM_maxdistance2d_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_maxdistance2d
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_maxdistance2d_linestring(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:795,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:796,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:798,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:799,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:800,1
    - Dst: lwgeom_closest_point_3d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:802,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:805,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:806,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:808,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:810,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:811,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:812,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:814,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:815,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 792
    functionDepth: 7
    functionLinenumber: 792
    functionLinenumberEnd: 817
    functionName: LWGEOM_closestpoint3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_closest_point_3d
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_closestpoint3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:826,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:827,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:829,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:830,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:831,1
    - Dst: lwgeom_closest_line_3d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:833,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:836,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:837,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:839,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:841,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:842,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:843,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:845,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:846,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 823
    functionDepth: 7
    functionLinenumber: 823
    functionLinenumberEnd: 848
    functionName: LWGEOM_shortestline3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_closest_line_3d
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_shortestline3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:857,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:858,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:860,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:861,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:862,1
    - Dst: lwgeom_furthest_line_3d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:864,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:867,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:868,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:870,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:872,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:873,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:874,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:876,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:877,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 854
    functionDepth: 7
    functionLinenumber: 854
    functionLinenumberEnd: 879
    functionName: LWGEOM_longestline3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - lwgeom_furthest_line_3d
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_longestline3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:887,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:888,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:889,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:890,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:891,1
    - Dst: lwgeom_mindistance3d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:893,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:895,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:896,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:900,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 884
    functionDepth: 6
    functionLinenumber: 884
    functionLinenumberEnd: 903
    functionName: ST_3DDistance
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_mindistance3d
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_3DDistance(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:910,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:911,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:912,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:913,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:914,1
    - Dst: lwgeom_mindistance3d_tolerance
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:916,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:918,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:919,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 907
    functionDepth: 8
    functionLinenumber: 907
    functionLinenumberEnd: 923
    functionName: ST_3DIntersects
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_mindistance3d_tolerance
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_3DIntersects(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:935,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:936,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:937,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:938,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:939,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:943,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:944,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:947,1
    - Dst: lwgeom_mindistance3d_tolerance
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:949,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:951,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:952,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 932
    functionDepth: 8
    functionLinenumber: 932
    functionLinenumberEnd: 957
    functionName: LWGEOM_dwithin3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_mindistance3d_tolerance
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dwithin3d(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:968,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:969,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:970,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:971,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:972,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:976,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:977,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:980,1
    - Dst: lwgeom_maxdistance3d_tolerance
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:981,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:983,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:984,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:988,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 965
    functionDepth: 6
    functionLinenumber: 965
    functionLinenumberEnd: 991
    functionName: LWGEOM_dfullywithin3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_maxdistance3d_tolerance
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dfullywithin3d(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1000,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1001,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1002,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1003,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1005,1
    - Dst: lwgeom_maxdistance3d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1007,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1009,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1010,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1014,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 997
    functionDepth: 6
    functionLinenumber: 997
    functionLinenumberEnd: 1017
    functionName: LWGEOM_maxdistance3d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_maxdistance3d
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_maxdistance3d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1026,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1028,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1029,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1032,1
    - Dst: lwgeom_longitude_shift
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1035,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1038,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1041,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1044,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1047
    functionName: LWGEOM_longitude_shift
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_longitude_shift
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_drop_bbox
    - pfree
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_longitude_shift(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1059,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1061,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1062,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1063,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1067,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1068,1
    - Dst: lwgeom_wrapx
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1070,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1071,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1073,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1074,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1075,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1050
    functionDepth: 15
    functionLinenumber: 1050
    functionLinenumberEnd: 1078
    functionName: ST_WrapX
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - PG_DETOAST_DATUM
    - lwgeom_from_gserialized
    - lwgeom_wrapx
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_WrapX(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1092,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1094,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1095,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1097,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1098,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1099,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1101,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1102,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1105,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1106,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1107,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1109,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1110,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1112,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1113,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1114,1
    - Dst: ptarray_scroll_in_place
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1117,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1119,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1122,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1124,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1125,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1126,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1081
    functionDepth: 7
    functionLinenumber: 1081
    functionLinenumberEnd: 1129
    functionName: ST_Scroll
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoint_getPoint4d_p
    - lwgeom_free
    - ptarray_scroll_in_place
    - PG_DETOAST_DATUM
    - lwpgerror
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - POSTGIS_DEBUG
    - PG_GETARG_DATUM
    - PG_RETURN_POINTER
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Scroll(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1135,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1136,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1137,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1142,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1143,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1144,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1145,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1147,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1148,1
    - Dst: lwpoint_inside_circle
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1151,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1152,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1154,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1132
    functionDepth: 6
    functionLinenumber: 1132
    functionLinenumberEnd: 1156
    functionName: LWGEOM_inside_circle_point
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwpoint_inside_circle
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwpoint_free
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_inside_circle_point(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1174,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1177,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1177,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1178,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1181,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1182,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1182,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1185,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1186,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1186,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1188,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1189,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1190,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1192,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1194,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1194,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1195,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1195,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1197,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1197,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1198,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1198,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1200,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1201,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1204,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1206,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1207,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1212,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1213,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1217,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1220,1
    - Dst: lwgeom_drop_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1221,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1222,1
    - Dst: lwgeom_drop_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1223,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1225,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1226,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1228,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1229,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1231,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1232,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1166
    functionDepth: 7
    functionLinenumber: 1166
    functionLinenumberEnd: 1235
    functionName: LWGEOM_collect
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_is_collection
    - lwtype_get_collectiontype
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - gserialized_get_srid
    - elog
    - lwgeom_drop_bbox
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - PG_RETURN_DATUM
    - gserialized_has_z
    - geometry_serialize
    - POSTGIS_DEBUGF
    - gserialized_error_if_srid_mismatch
    - gserialized_has_m
    - lwtype_name
    - lwgeom_drop_srid
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - lwcollection_construct
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_collect(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1263,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1265,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1266,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1269,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1270,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1270,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1270,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1272,1
    - Dst: ARR_SIZE
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1274,1
    - Dst: ARR_SIZE
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1275,1
    - Dst: ARR_OVERHEAD_NONULLS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1275,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1275,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1277,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1281,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1287,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1291,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1293,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1302,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1303,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1305,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1307,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1316,1
    - Dst: gserialized_error_if_srid_mismatch_reference
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1321,1
    - Dst: gbox_merge
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1327,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1330,1
    - Dst: lwgeom_drop_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1336,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1337,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1342,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1346,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1353,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1355,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1360,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1364,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1366,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1368,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1247
    functionDepth: 7
    functionLinenumber: 1247
    functionLinenumberEnd: 1370
    functionName: LWGEOM_collect_garray
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - ARR_DIMS
    - array_iterate
    - gbox_copy
    - lwtype_get_collectiontype
    - ARR_NDIM
    - PG_RETURN_NULL
    - ARR_SIZE
    - array_free_iterator
    - lwgeom_drop_bbox
    - gserialized_get_type
    - geometry_serialize
    - POSTGIS_DEBUGF
    - gserialized_error_if_srid_mismatch_reference
    - array_create_iterator
    - pfree
    - lwgeom_drop_srid
    - PG_RETURN_POINTER
    - palloc
    - ARR_OVERHEAD_NONULLS
    - DatumGetPointer
    - gbox_merge
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - lwcollection_construct
    - POSTGIS_DEBUG
    - ArrayGetNItems
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_collect_garray(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1383,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1386,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1388,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1390,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1391,1
    - Dst: lwgeom_as_lwmpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1394,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1394,1
    - Dst: lwline_from_lwmpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1395,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1398,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1399,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1400,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1403,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1403,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1405,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1406,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1377
    functionDepth: 7
    functionLinenumber: 1377
    functionLinenumberEnd: 1409
    functionName: LWGEOM_line_from_mpoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwline_from_lwmpoint
    - lwline_as_lwgeom
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - gserialized_get_type
    - lwline_free
    - lwgeom_as_lwmpoint
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_line_from_mpoint(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1431,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1434,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1435,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1438,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1441,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1441,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1441,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1443,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1447,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1456,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1459,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1461,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1468,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1470,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1470,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1471,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1476,1
    - Dst: gserialized_error_if_srid_mismatch_reference
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1486,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1488,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1490,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1496,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1497,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1500,1
    - Dst: lwline_from_lwgeom_array
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1502,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1504,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1417
    functionDepth: 8
    functionLinenumber: 1417
    functionLinenumberEnd: 1507
    functionName: LWGEOM_makeline_garray
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwline_from_lwgeom_array
    - ARR_DIMS
    - array_iterate
    - ARR_NDIM
    - PG_RETURN_NULL
    - elog
    - ArrayGetNItems
    - gserialized_get_type
    - geometry_serialize
    - POSTGIS_DEBUGF
    - gserialized_error_if_srid_mismatch_reference
    - array_create_iterator
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - array_free_iterator
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_makeline_garray(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1521,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1524,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1525,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1527,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1527,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1528,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1528,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1530,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1531,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1534,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1536,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1537,1
    - Dst: lwline_from_lwgeom_array
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1539,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1541,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1543,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1544,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1545,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1546,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1514
    functionDepth: 8
    functionLinenumber: 1514
    functionLinenumberEnd: 1549
    functionName: LWGEOM_makeline
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwline_from_lwgeom_array
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - gserialized_error_if_srid_mismatch
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - gserialized_get_type
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_makeline(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1568,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1571,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1572,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1574,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1576,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1576,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1579,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1581,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1582,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1582,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1582,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1583,1
    - Dst: ARR_DATA_PTR
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1590,1
    - Dst: INTALIGN
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1595,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1595,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1596,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1598,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1600,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1600,1
    - Dst: lwpoly_from_lwlines
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1605,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1606,1
    - Dst: lwgeom_summary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1606,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1607,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1609,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1610,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1614,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1556
    functionDepth: 7
    functionLinenumber: 1556
    functionLinenumberEnd: 1618
    functionName: LWGEOM_makepoly
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - ARR_DIMS
    - ARR_NDIM
    - lwalloc
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - lwgeom_summary
    - VARSIZE
    - INTALIGN
    - lwpoly_from_lwlines
    - ARR_DATA_PTR
    - PG_GETARG_GSERIALIZED_P
    - gserialized_get_type
    - geometry_serialize
    - POSTGIS_DEBUGF
    - lwpgerror
    - PG_NARGS
    - lwline_free
    - PG_RETURN_POINTER
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - POSTGIS_DEBUG
    - ArrayGetNItems
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_makepoly(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1628,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1629,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1630,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1635,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1638,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1640,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1641,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1645,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1647,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1648,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1651,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1654,1
    - Dst: gbox_expand
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1655,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1659,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1660,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1661,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1662,1
    - Dst: gbox_expand_xyzm
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1664,1
    - Dst: lwpoly_construct_rectangle
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1673,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1673,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1673,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1676,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1676,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1677,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1677,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1680,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1680,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1682,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1682,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1683,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1684,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1626
    functionDepth: 7
    functionLinenumber: 1626
    functionLinenumberEnd: 1687
    functionName: LWGEOM_expand
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_has_z
    - lwgeom_set_srid
    - gbox_expand_xyzm
    - PG_FREE_IF_COPY
    - lwgeom_has_m
    - lwpoly_construct_rectangle
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - geometry_serialize
    - lwpoly_as_lwgeom
    - PG_NARGS
    - gbox_expand
    - PG_RETURN_POINTER
    - lwgeom_get_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - lwgeom_add_bbox
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_expand(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1693,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1694,1
    - Dst: gbox_init
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1700,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1703,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1706,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1707,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1711,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1713,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1691
    functionDepth: 7
    functionLinenumber: 1691
    functionLinenumberEnd: 1719
    functionName: LWGEOM_to_BOX
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gbox_init
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - PG_RETURN_NULL
    - lwfree
    - PG_GETARG_GSERIALIZED_P
    - lwalloc
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_BOX(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1729,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1730,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1737,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1740,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1743,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1746,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1763,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1764,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1764,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1765,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1771,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1776,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1779,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1782,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1783,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1783,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1784,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1789,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1790,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1796,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1799,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1802,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1805,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1808,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1811,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1812,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1812,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1813,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1816,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1727
    functionDepth: 7
    functionLinenumber: 1727
    functionLinenumberEnd: 1819
    functionName: LWGEOM_envelope
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwline_as_lwgeom
    - ptarray_append_point
    - lwalloc
    - lwline_construct
    - PG_FREE_IF_COPY
    - lwpoly_construct
    - lwpoly_free
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_free
    - geometry_serialize
    - lwpoly_as_lwgeom
    - lwline_free
    - PG_RETURN_POINTER
    - ptarray_construct_empty
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - lwpoint_as_lwgeom
    - lwpoint_make2d
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_envelope(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1824,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1825,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1822
    functionDepth: 5
    functionLinenumber: 1822
    functionLinenumberEnd: 1826
    functionName: LWGEOM_isempty
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_isempty(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1842,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1844,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1845,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1846,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1852,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1859,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1860,1
    - Dst: LWGEOM_INIT
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1863,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1865,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1866,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1869,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1870,1
    - Dst: lwgeom_segmentize2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1873,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1877,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1878,1
    - Dst: gbox_copy
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1883,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1885,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1888,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1890,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1835
    functionDepth: 7
    functionLinenumber: 1835
    functionLinenumberEnd: 1893
    functionName: LWGEOM_segmentize2d
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_segmentize2d
    - lwgeom_free
    - geometry_serialize
    - gbox_copy
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - LWGEOM_INIT
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_segmentize2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1902,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1904,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1906,1
    - Dst: lwgeom_reverse_in_place
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1907,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1909,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1897
    functionDepth: 7
    functionLinenumber: 1897
    functionLinenumberEnd: 1912
    functionName: LWGEOM_reverse
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_reverse_in_place
    - lwgeom_from_gserialized
    - POSTGIS_DEBUG
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_reverse(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1921,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1923,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1925,1
    - Dst: lwgeom_force_clockwise
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1926,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1928,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1930,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1931,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1916
    functionDepth: 7
    functionLinenumber: 1916
    functionLinenumberEnd: 1933
    functionName: LWGEOM_force_clockwise_poly
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - PG_FREE_IF_COPY
    - lwgeom_from_gserialized
    - POSTGIS_DEBUG
    - lwgeom_force_clockwise
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_force_clockwise_poly(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1939,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1940,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1941,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1937
    functionDepth: 7
    functionLinenumber: 1937
    functionLinenumberEnd: 1943
    functionName: LWGEOM_noop
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_noop(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1952,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1954,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1956,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1957,1
    - Dst: lwgeom_summary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1957,1
    - Dst: lwgeom_normalize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1959,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1960,1
    - Dst: lwgeom_summary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1960,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1962,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1963,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1964,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1966,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1947
    functionDepth: 11
    functionLinenumber: 1947
    functionLinenumberEnd: 1969
    functionName: ST_Normalize
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_summary
    - POSTGIS_DEBUGF
    - lwgeom_from_gserialized
    - lwgeom_normalize
    - POSTGIS_DEBUG
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Normalize(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1981,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1984,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1986,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1988,1
    - Dst: PG_RETURN_INT16
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1979
    functionDepth: 3
    functionLinenumber: 1979
    functionLinenumberEnd: 1990
    functionName: LWGEOM_zmflag
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - PG_GETARG_GSERIALIZED_HEADER
    - PG_RETURN_INT16
    - gserialized_has_m
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_zmflag(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1995,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1996,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1993
    functionDepth: 3
    functionLinenumber: 1993
    functionLinenumberEnd: 1997
    functionName: LWGEOM_hasz
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - PG_GETARG_GSERIALIZED_HEADER
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_hasz(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2002,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2003,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2004
    functionName: LWGEOM_hasm
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - gserialized_has_m
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_hasm(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2009,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2010,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2011,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2007
    functionDepth: 3
    functionLinenumber: 2007
    functionLinenumberEnd: 2013
    functionName: LWGEOM_hasBBOX
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - PG_RETURN_BOOL
    - PG_FREE_IF_COPY
    - gserialized_has_bbox
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_hasBBOX(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2019,1
    - Dst: gserialized_ndims
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2020,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2021,1
    - Dst: PG_RETURN_INT16
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2023
    functionName: LWGEOM_ndims
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - PG_RETURN_INT16
    - PG_FREE_IF_COPY
    - gserialized_ndims
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_ndims(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2029,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2030,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2032,1
    - Dst: gserialized_cmp
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2027
    functionDepth: 8
    functionLinenumber: 2027
    functionLinenumberEnd: 2033
    functionName: LWGEOM_same
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_cmp
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_same(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2043,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2045,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2046,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2047,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2048,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2049,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2051,1
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2054,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2056,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2056,1
    - Dst: lwpoly_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2057,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2036
    functionDepth: 7
    functionLinenumber: 2036
    functionLinenumberEnd: 2060
    functionName: ST_MakeEnvelope
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoly_free
    - lwpoly_as_lwgeom
    - PG_NARGS
    - lwpoly_construct_envelope
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_MakeEnvelope(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2083,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2085,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2086,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2087,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2089,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2096,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2097,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2098,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2100,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2103,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2103,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2106,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2111,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2114,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2120,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2122,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2152,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2153,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2154,1
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2064
    functionDepth: 7
    functionLinenumber: 2064
    functionLinenumberEnd: 2157
    functionName: ST_TileEnvelope
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_calculate_gbox
    - elog
    - PG_NARGS
    - lwpoly_as_lwgeom
    - lwpoly_construct_envelope
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_TileEnvelope(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_HEADER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2163,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2164,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2165,1
    - Dst: lwgeom_is_unitary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2161
    functionDepth: 6
    functionLinenumber: 2161
    functionLinenumberEnd: 2166
    functionName: ST_IsCollection
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_HEADER
    - lwgeom_from_gserialized
    - lwgeom_is_unitary
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum ST_IsCollection(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2175,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2177,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2178,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2180,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2181,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2182,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2184,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2185,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2187,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2189,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2190,1
    - Dst: lwpoint_make4d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2191,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2195,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2195,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2196,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2199,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2169
    functionDepth: 7
    functionLinenumber: 2169
    functionLinenumberEnd: 2202
    functionName: LWGEOM_makepoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwpoint_make3dz
    - geometry_serialize
    - elog
    - PG_NARGS
    - lwpoint_make2d
    - lwpoint_make4d
    - PG_RETURN_NULL
    - POSTGIS_DEBUG
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_makepoint(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2207,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2208,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2209,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2210,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2211,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2205
    functionDepth: 7
    functionLinenumber: 2205
    functionLinenumberEnd: 2213
    functionName: ST_Point
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoint_make2d
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Point(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2218,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2219,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2220,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2221,1
    - Dst: lwpoint_make3dz
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2222,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2223,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2216
    functionDepth: 7
    functionLinenumber: 2216
    functionLinenumberEnd: 2225
    functionName: ST_PointZ
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwpoint_make3dz
    - geometry_serialize
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_PointZ(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2230,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2231,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2232,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2233,1
    - Dst: lwpoint_make3dm
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2234,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2235,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2228
    functionDepth: 7
    functionLinenumber: 2228
    functionLinenumberEnd: 2237
    functionName: ST_PointM
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_INT32
    - lwpoint_make3dm
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_PointM(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2242,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2243,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2244,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2245,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2246,1
    - Dst: lwpoint_make4d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2247,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2248,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2240
    functionDepth: 7
    functionLinenumber: 2240
    functionLinenumberEnd: 2250
    functionName: ST_PointZM
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoint_make4d
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_PointZM(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2260,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2262,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2263,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2264,1
    - Dst: lwpoint_make3dm
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2266,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2267,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2254
    functionDepth: 7
    functionLinenumber: 2254
    functionLinenumberEnd: 2270
    functionName: LWGEOM_makepoint3dm
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - POSTGIS_DEBUG
    - lwpoint_make3dm
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_makepoint3dm(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2280,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2282,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2283,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2285,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2287,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2288,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2291,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2293,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2294,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2297,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2299,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2302,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2302,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2304,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2310,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2317,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2318,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2326,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2326,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2327,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2327,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2327,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2328,1
    - Dst: lwline_add_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2330,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2332,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2333,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2336,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2336,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2339,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2340,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2341,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2273
    functionDepth: 7
    functionLinenumber: 2273
    functionLinenumberEnd: 2344
    functionName: LWGEOM_addpoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwpoint
    - lwline_as_lwgeom
    - PG_RETURN_NULL
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    - elog
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - gserialized_get_type
    - lwpoint_free
    - geometry_serialize
    - POSTGIS_DEBUGF
    - lwline_add_lwpoint
    - PG_NARGS
    - gserialized_is_empty
    - lwline_free
    - PG_RETURN_POINTER
    - lwgeom_from_gserialized
    - lwgeom_clone_deep
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_addpoint(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2353,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2355,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2356,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2358,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2360,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2361,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2364,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2364,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2368,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2369,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2374,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2375,1
    - Dst: lwline_removepoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2378,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2380,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2382,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2383,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2385,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2347
    functionDepth: 7
    functionLinenumber: 2347
    functionLinenumberEnd: 2387
    functionName: LWGEOM_removepoint
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - lwline_free
    - gserialized_get_type
    - lwline_removepoint
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_removepoint(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2399,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2402,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2404,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2405,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2408,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2409,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2412,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2413,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2415,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2416,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2417,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2419,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2420,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2424,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2425,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2429,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2430,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2440,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2441,1
    - Dst: lwline_setPoint4d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2447,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2448,1
    - Dst: lwline_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2451,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2452,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2390
    functionDepth: 7
    functionLinenumber: 2390
    functionLinenumberEnd: 2455
    functionName: LWGEOM_setpoint_linestring
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - elog
    - lwline_setPoint4d
    - PG_RETURN_NULL
    - pfree
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - lwline_free
    - lwpoint_free
    - getPoint4d_p
    - PG_FREE_IF_COPY
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_setpoint_linestring(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2461,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2462,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2465,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2466,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2468,1
    - Dst: lwgeom_to_wkt_varlena
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2459
    functionDepth: 10
    functionLinenumber: 2459
    functionLinenumberEnd: 2469
    functionName: LWGEOM_asEWKT
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_RETURN_TEXT_P
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwgeom_to_wkt_varlena
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asEWKT(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2487,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2488,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2488,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2491,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2492,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2493,1
    - Dst: getPoint2d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2496,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2498,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2499,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2500,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2502,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2503,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2506,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2507,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2507,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2510,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2511,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2512,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2516,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2517,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2518,1
    - Dst: getPoint2d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2520,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2522,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2523,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2524,1
    - Dst: lwpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2526,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2527,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2532,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2536,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2538,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2478
    functionDepth: 6
    functionLinenumber: 2478
    functionLinenumberEnd: 2542
    functionName: LWGEOM_azimuth
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - getPoint2d_p
    - PG_GETARG_GSERIALIZED_P
    - lwpoint_free
    - PG_RETURN_FLOAT8
    - azimuth_pt_pt
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_azimuth(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2560,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2561,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2562,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2563,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2564,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2567,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2569,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2570,1
    - Dst: lwpoint_project
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2572,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2573,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2574,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2553
    functionDepth: 7
    functionLinenumber: 2553
    functionLinenumberEnd: 2576
    functionName: geometry_project_direction
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - lwpoint_project
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_project_direction(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2594,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2595,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2596,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2598,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2599,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2600,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2601,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2604,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2606,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2606,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2607,1
    - Dst: lwpoint_same2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2609,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2610,1
    - Dst: lwpoint_project_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2612,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2613,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2614,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2587
    functionDepth: 7
    functionLinenumber: 2587
    functionLinenumberEnd: 2617
    functionName: geometry_project_geometry
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_as_lwpoint
    - lwpgerror
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_RETURN_NULL
    - lwpoint_same2d
    - lwpoint_project_lwpoint
    - lwpoint_as_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_project_geometry(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2635,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2636,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2637,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2639,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2640,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2642,1
    - Dst: lwline_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2644,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2645,1
    - Dst: lwline_length_2d
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2647,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2648,1
    - Dst: lwline_extend
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2650,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2651,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2652,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2628
    functionDepth: 7
    functionLinenumber: 2628
    functionLinenumberEnd: 2655
    functionName: geometry_line_extend
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpgerror
    - lwline_as_lwgeom
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_RETURN_POINTER
    - lwline_extend
    - PG_GETARG_GSERIALIZED_P
    - lwline_length_2d
    - PG_GETARG_FLOAT8
    - lwline_is_empty
    - lwgeom_as_lwline
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_line_extend(PG_FUNCTION_ARGS)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2679,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2684,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2685,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2699,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2706,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2720,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2723,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2724,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2728,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2729,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2733,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2734,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2740,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2741,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2745,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2746,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2747,1
    - Dst: getPoint2d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2750,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2755,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2756,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2769,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2770,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2771,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2772,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2776,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2777,1
    - Dst: azimuth_pt_pt
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2778,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2779,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2783,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2667
    functionDepth: 6
    functionLinenumber: 2667
    functionLinenumberEnd: 2784
    functionName: LWGEOM_angle
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwpgerror
    - lwgeom_as_lwpoint
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_RETURN_NULL
    - getPoint2d_p
    - PG_GETARG_GSERIALIZED_P
    - gserialized_is_empty
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    - azimuth_pt_pt
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_angle(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2796,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2797,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2798,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2801,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2802,1
    - Dst: gserialized_error_if_srid_mismatch
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2803,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2807,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2808,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2813,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2814,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2818,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2828,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2836,1
    - Dst: DirectFunctionCall2
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2836,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2836,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2836,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2794
    functionDepth: 7
    functionLinenumber: 2794
    functionLinenumberEnd: 2839
    functionName: optimistic_overlap
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PointerGetDatum
    - elog
    - gserialized_get_gbox_p
    - PG_RETURN_NULL
    - DatumGetFloat8
    - gserialized_error_if_srid_mismatch
    - DirectFunctionCall2
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - PG_GETARG_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum optimistic_overlap(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2845,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2846,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2850,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2851,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2852,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2853,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2854,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2855,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2856,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2857,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2858,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2859,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2860,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2861,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2863,1
    - Dst: lwgeom_affine
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2865,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2870,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2872,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2875,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2876,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2843
    functionDepth: 7
    functionLinenumber: 2843
    functionLinenumberEnd: 2879
    functionName: LWGEOM_affine
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - POSTGIS_DEBUG
    - lwgeom_affine
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_affine(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2889,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2891,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2894,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2896,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2898,1
    - Dst: lwgeom_geohash
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2901,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2901,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2903,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2882
    functionDepth: 6
    functionLinenumber: 2882
    functionLinenumberEnd: 2905
    functionName: ST_GeoHash
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_geohash
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum ST_GeoHash(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2910,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2911,1
    - Dst: PG_RETURN_INT64
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2912,1
    - Dst: gserialized_get_sortable_hash
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2912,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2908
    functionDepth: 8
    functionLinenumber: 2908
    functionLinenumberEnd: 2913
    functionName: _ST_SortableHash
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_get_sortable_hash
    - PG_RETURN_INT64
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum _ST_SortableHash(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2923,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2924,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2929,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2930,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2933,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2934,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2937,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2942,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2943,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2948,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2948,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2948,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2949,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2949,1
    - Dst: lwcollection_extract
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2953,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2955,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2956,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2957,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2916
    functionDepth: 7
    functionLinenumber: 2916
    functionLinenumberEnd: 2959
    functionName: ST_CollectionExtract
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_is_collection
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - lwgeom_construct_empty
    - PG_RETURN_NULL
    - lwgeom_has_m
    - lwgeom_has_z
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - lwcollection_extract
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CollectionExtract(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2964,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2966,1
    - Dst: lwgeom_homogenize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2969,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2970,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2974,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2975,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2978,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2979,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2981,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2962
    functionDepth: 7
    functionLinenumber: 2962
    functionLinenumberEnd: 2983
    functionName: ST_CollectionHomogenize
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_homogenize
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CollectionHomogenize(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2989,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2990,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:2998,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3000,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3000,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3001,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3003,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3004,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3008,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3011,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3013,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2987
    functionDepth: 7
    functionLinenumber: 2987
    functionLinenumberEnd: 3015
    functionName: ST_RemoveRepeatedPoints
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_from_gserialized
    - lwgeom_remove_repeated_points_in_place
    - PG_NARGS
    - PG_ARGISNULL
    - pfree
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemoveRepeatedPoints(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3021,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3023,1
    - Dst: lwgeom_swap_ordinates
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3025,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3026,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3028,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3029,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3019
    functionDepth: 7
    functionLinenumber: 3019
    functionLinenumberEnd: 3032
    functionName: ST_FlipCoordinates
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_RETURN_POINTER
    - PG_FREE_IF_COPY
    - lwgeom_swap_ordinates
    linkageType: ''
    returnType: Datum
    signature: Datum ST_FlipCoordinates(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3034
    functionDepth: 2
    functionLinenumber: 3034
    functionLinenumberEnd: 3047
    functionName: ordname2ordval
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwpgerror
    linkageType: ''
    returnType: LWORD
    signature: LWORD ordname2ordval(char n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3059,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3060,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3062,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3067,1
    - Dst: ordname2ordval
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3069,1
    - Dst: ordname2ordval
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3070,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3072,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3075,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3077,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3078,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3080,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3082,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3083,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3088,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3090,1
    - Dst: lwgeom_swap_ordinates
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3091,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3092,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3093,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3094,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3095,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3051
    functionDepth: 7
    functionLinenumber: 3051
    functionLinenumberEnd: 3096
    functionName: ST_SwapOrdinates
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - gserialized_has_z
    - PG_GETARG_GSERIALIZED_P_COPY
    - geometry_serialize
    - lwgeom_free
    - PG_GETARG_CSTRING
    - lwpgerror
    - lwgeom_from_gserialized
    - lwgeom_swap_ordinates
    - ordname2ordval
    - PG_RETURN_NULL
    - strlen
    - gserialized_has_m
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_SwapOrdinates(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3106,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3119,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3120,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3121,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3122,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3123,1
    - Dst: gserialized_datum_get_internals_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3130,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3130,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3131,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3132,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3135,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3141,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3146,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3151,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3152,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3152,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3155,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3156,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3103
    functionDepth: 8
    functionLinenumber: 3103
    functionLinenumberEnd: 3159
    functionName: ST_BoundingDiagonal
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - ptarray_construct_empty
    - geometry_serialize
    - lwgeom_free
    - lwline_as_lwgeom
    - lwgeom_from_gserialized
    - ptarray_append_point
    - lwgeom_calculate_gbox
    - gserialized_datum_get_internals_p
    - PG_GETARG_BOOL
    - FLAGS_GET_M
    - lwgeom_construct_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_DATUM
    - lwline_construct
    - FLAGS_GET_Z
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_BoundingDiagonal(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3166,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3177,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3178,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3181,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3182,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3183,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3184,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3188,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3189,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3192,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3194,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3195,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3196,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3197,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3202,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3203,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3205,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3207,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3210,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3210,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3212,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3213,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3214,1
    - Dst: lwpoint_getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3217,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3221,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3222,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3229,1
    - Dst: lwgeom_affine
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3236,1
    - Dst: lwgeom_scale
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3239,1
    - Dst: lwgeom_affine
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3247,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3251,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3252,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3253,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3254,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3163
    functionDepth: 7
    functionLinenumber: 3163
    functionLinenumberEnd: 3256
    functionName: ST_Scale
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_as_lwpoint
    - lwgeom_scale
    - PG_RETURN_NULL
    - lwgeom_has_z
    - PG_FREE_IF_COPY
    - lwgeom_has_m
    - PG_GETARG_GSERIALIZED_P_COPY
    - memset
    - PG_GETARG_GSERIALIZED_P
    - geometry_serialize
    - lwpgerror
    - PG_NARGS
    - lwgeom_affine
    - PG_RETURN_POINTER
    - lwpoint_getPoint4d_p
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_ARGISNULL
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Scale(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3262,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3264,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3268,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3270,1
    - Dst: lwmpoint_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3271,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3273,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3275,1
    - Dst: lwmpoint_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3275,1
    - Dst: lwmpoint_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3276,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3260
    functionDepth: 7
    functionLinenumber: 3260
    functionLinenumberEnd: 3279
    functionName: ST_Points
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - lwmpoint_free
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwmpoint_from_lwgeom
    - PG_GETARG_GSERIALIZED_P
    - lwmpoint_as_lwgeom
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Points(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3292,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3293,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3294,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3296,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3297,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3301,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3303,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3303,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3304,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3304,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3305,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3305,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3307,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3309,1
    - Dst: lwgeom_trim_bits_in_place
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3311,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3313,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3314,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3315,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3282
    functionDepth: 8
    functionLinenumber: 3282
    functionLinenumberEnd: 3317
    functionName: ST_QuantizeCoordinates
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwgeom_free
    - lwgeom_trim_bits_in_place
    - lwpgerror
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_QuantizeCoordinates(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3333,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3333,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3335,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3339,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3342,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3342,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3343,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3348,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3348,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3349,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3354,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3354,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3354,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3363,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3364,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3367,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3369,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3373,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3374,1
    - Dst: lwgeom_filter_m
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3377,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3379,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3380,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3323
    functionDepth: 7
    functionLinenumber: 3323
    functionLinenumberEnd: 3382
    functionName: LWGEOM_FilterByM
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_filter_m
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_BOOL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - lwgeom_has_m
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_FilterByM(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3391,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3395,1
    - Dst: lwgeom_boundary
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3396,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3399,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3400,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3403,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3405,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3406,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_functions_basic.c:3408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3385
    functionDepth: 7
    functionLinenumber: 3385
    functionLinenumberEnd: 3409
    functionName: boundary
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_basic.c
    functionUses: 2
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_boundary
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum boundary(PG_FUNCTION_ARGS)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:91,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:92,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:95,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:98,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:99,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:102,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:103,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:104,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:105,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:109,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:129,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:130,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:130,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:131,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:134,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:137,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:139,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:143,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:154,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:166,1
    - Dst: lwgeom_as_lwtriangle
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:174,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:176,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:179,1
    - Dst: lwpoint_make
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:180,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:181,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:182,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:190,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:198,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:213,1
    - Dst: lwpoint_make
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:214,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:215,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:216,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:221,1
    - Dst: lwgeom_as_lwline
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:224,1
    - Dst: lwline_get_lwpoint
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:226,1
    - Dst: lwgeom_as_lwcircstring
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:230,1
    - Dst: lwcircstring_get_lwpoint
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:232,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:236,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:236,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:237,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:252,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:259,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:260,1
    - Dst: construct_array
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:260,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:263,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:263,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:265,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:266,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:267,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:277,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:281,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:295,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 298
    functionName: LWGEOM_dumppoints
    functionSourceFile: /src/postgis/postgis/lwgeom_dumppoints.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - SRF_RETURN_DONE
    - lwgeom_as_lwpoint
    - construct_array
    - lwgeom_has_z
    - lwalloc
    - lwgeom_has_m
    - lwgeom_as_lwline
    - PG_GETARG_GSERIALIZED_P_COPY
    - errcode
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - elog
    - lwgeom_as_lwpoly
    - SRF_IS_FIRSTCALL
    - lwgeom_as_lwcircstring
    - getPoint4d_p
    - geometry_serialize
    - ereport
    - PointerGetDatum
    - HeapTupleGetDatum
    - lwline_get_lwpoint
    - lwpoint_make
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - get_call_result_type
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - lwgeom_as_lwtriangle
    - MemoryContextSwitchTo
    - Int32GetDatum
    - lwcircstring_get_lwpoint
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dumppoints(PG_FUNCTION_ARGS)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:317,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:319,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:322,1
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:324,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:325,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:328,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:330,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:331,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:332,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:336,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:355,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:357,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:358,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:359,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:362,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:365,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:367,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:371,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:394,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:411,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:438,1
    - Dst: ptarray_construct
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:456,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:456,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:456,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:459,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:460,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:464,1
    - Dst: lwline_construct
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:464,1
    - Dst: lwcircstring_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:466,1
    - Dst: lwcircstring_construct
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:466,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:468,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:472,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:473,1
    - Dst: construct_array
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:473,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:479,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:479,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:481,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:482,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:483,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:488,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:494,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:502,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:506,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_dumppoints.c:522,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 301
    functionDepth: 7
    functionLinenumber: 301
    functionLinenumberEnd: 525
    functionName: LWGEOM_dumpsegments
    functionSourceFile: /src/postgis/postgis/lwgeom_dumppoints.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - SRF_RETURN_DONE
    - construct_array
    - lwline_as_lwgeom
    - lwgeom_has_z
    - lwalloc
    - lwline_construct
    - lwgeom_has_m
    - lwcircstring_as_lwgeom
    - PG_GETARG_GSERIALIZED_P_COPY
    - lwcircstring_construct
    - errcode
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - elog
    - SRF_IS_FIRSTCALL
    - ptarray_set_point4d
    - getPoint4d_p
    - geometry_serialize
    - ereport
    - ptarray_construct
    - PointerGetDatum
    - HeapTupleGetDatum
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - get_call_result_type
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - MemoryContextSwitchTo
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dumpsegments(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: uthash_fatal
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: uthash_malloc
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: uthash_free
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr,sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - builder
    argTypes:
    - struct feature_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: feature_init
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    linkageType: ''
    returnType: void
    signature: void feature_init(struct feature_builder *builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:110,1
    - Dst: vector_tile__tile__feature__init
      Src: /src/postgis/postgis/mvt.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - builder
    argTypes:
    - struct feature_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: feature_build
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - vector_tile__tile__feature__init
    linkageType: ''
    returnType: VectorTile__Tile__Feature
    signature: VectorTile__Tile__Feature *feature_build(struct feature_builder *builder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - builder
    - key_id
    - value_id
    argTypes:
    - struct feature_builder*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: feature_add_property
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - repalloc
    linkageType: ''
    returnType: void
    signature: void feature_add_property(struct feature_builder *builder, uint32_t
      key_id, uint32_t value_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - count
    argTypes:
    - enum mvt_cmd_id
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: c_int
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t c_int(enum mvt_cmd_id id, uint32_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: p_int
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t p_int(int32_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getPoint2d_cp
      Src: /src/postgis/postgis/mvt.c:165,1
    - Dst: p_int
      Src: /src/postgis/postgis/mvt.c:170,1
    - Dst: p_int
      Src: /src/postgis/postgis/mvt.c:171,1
    - Dst: c_int
      Src: /src/postgis/postgis/mvt.c:181,1
    - Dst: c_int
      Src: /src/postgis/postgis/mvt.c:186,1
    - Dst: c_int
      Src: /src/postgis/postgis/mvt.c:188,1
    - Dst: c_int
      Src: /src/postgis/postgis/mvt.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - type
    - pa
    - buffer
    - px
    - py
    argTypes:
    - enum mvt_type
    - POINTARRAY*
    - uint32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 196
    functionName: encode_ptarray
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - getPoint2d_cp
    - p_int
    - c_int
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t encode_ptarray(enum mvt_type type, POINTARRAY *pa, uint32_t
      *buffer, int32_t *px, int32_t *py)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_ptarray
      Src: /src/postgis/postgis/mvt.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - pa
    - buffer
    argTypes:
    - enum mvt_type
    - POINTARRAY*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: encode_ptarray_initial
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - encode_ptarray
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t encode_ptarray_initial(enum mvt_type type, POINTARRAY *pa,
      uint32_t *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:208,1
    - Dst: encode_ptarray_initial
      Src: /src/postgis/postgis/mvt.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - feature
    - point
    argTypes:
    - struct feature_builder*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: encode_point
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray_initial
    linkageType: ''
    returnType: void
    signature: void encode_point(struct feature_builder *feature, LWPOINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwline_from_lwmpoint
      Src: /src/postgis/postgis/mvt.c:216,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:219,1
    - Dst: encode_ptarray_initial
      Src: /src/postgis/postgis/mvt.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - feature
    - mpoint
    argTypes:
    - struct feature_builder*
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: encode_mpoint
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray_initial
    - lwline_from_lwmpoint
    linkageType: ''
    returnType: void
    signature: void encode_mpoint(struct feature_builder *feature, LWMPOINT *mpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:229,1
    - Dst: encode_ptarray_initial
      Src: /src/postgis/postgis/mvt.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - feature
    - lwline
    argTypes:
    - struct feature_builder*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: encode_line
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray_initial
    linkageType: ''
    returnType: void
    signature: void encode_line(struct feature_builder *feature, LWLINE *lwline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:242,1
    - Dst: encode_ptarray
      Src: /src/postgis/postgis/mvt.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - feature
    - lwmline
    argTypes:
    - struct feature_builder*
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: encode_mline
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray
    linkageType: ''
    returnType: void
    signature: void encode_mline(struct feature_builder *feature, LWMLINE *lwmline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:258,1
    - Dst: encode_ptarray
      Src: /src/postgis/postgis/mvt.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - feature
    - lwpoly
    argTypes:
    - struct feature_builder*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: encode_poly
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray
    linkageType: ''
    returnType: void
    signature: void encode_poly(struct feature_builder *feature, LWPOLY *lwpoly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:276,1
    - Dst: encode_ptarray
      Src: /src/postgis/postgis/mvt.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - feature
    - lwmpoly
    argTypes:
    - struct feature_builder*
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 283
    functionName: encode_mpoly
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_ptarray
    linkageType: ''
    returnType: void
    signature: void encode_mpoly(struct feature_builder *feature, LWMPOLY *lwmpoly)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/postgis/postgis/mvt.c:292,1
    - Dst: encode_line
      Src: /src/postgis/postgis/mvt.c:294,1
    - Dst: encode_poly
      Src: /src/postgis/postgis/mvt.c:296,1
    - Dst: encode_mpoint
      Src: /src/postgis/postgis/mvt.c:298,1
    - Dst: encode_mline
      Src: /src/postgis/postgis/mvt.c:300,1
    - Dst: encode_mpoly
      Src: /src/postgis/postgis/mvt.c:302,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:303,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/mvt.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - feature
    - lwgeom
    argTypes:
    - struct feature_builder*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 306
    functionName: encode_feature_geometry
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - encode_poly
    - encode_point
    - encode_mline
    - elog
    - encode_mpoint
    - lwtype_name
    - encode_line
    - encode_mpoly
    linkageType: ''
    returnType: void
    signature: void encode_feature_geometry(struct feature_builder *feature, LWGEOM
      *lwgeom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeapTupleHeaderGetTypeId
      Src: /src/postgis/postgis/mvt.c:310,1
    - Dst: HeapTupleHeaderGetTypMod
      Src: /src/postgis/postgis/mvt.c:311,1
    - Dst: lookup_rowtype_tupdesc
      Src: /src/postgis/postgis/mvt.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: get_tuple_desc
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - lookup_rowtype_tupdesc
    - HeapTupleHeaderGetTypeId
    - HeapTupleHeaderGetTypMod
    linkageType: ''
    returnType: TupleDesc
    signature: TupleDesc get_tuple_desc(mvt_agg_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/postgis/postgis/mvt.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - name
    - size
    argTypes:
    - mvt_agg_context*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: get_key_index_with_size
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - HASH_FIND
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_key_index_with_size(mvt_agg_context *ctx, const char *name,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/postgis/mvt.c:328,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:329,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/postgis/postgis/mvt.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - mvt_agg_context*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: add_key
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 4
    functionsReached:
    - palloc
    - HASH_ADD_KEYPTR
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t add_key(mvt_agg_context *ctx, char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:341,1
    - Dst: get_tuple_desc
      Src: /src/postgis/postgis/mvt.c:343,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:346,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:347,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:348,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:349,1
    - Dst: getBaseType
      Src: /src/postgis/postgis/mvt.c:353,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/mvt.c:353,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/mvt.c:354,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/mvt.c:366,1
    - Dst: strcmp
      Src: /src/postgis/postgis/mvt.c:375,1
    - Dst: strcmp
      Src: /src/postgis/postgis/mvt.c:385,1
    - Dst: add_key
      Src: /src/postgis/postgis/mvt.c:392,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/mvt.c:392,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:397,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:400,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 401
    functionName: parse_column_keys
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcmp
    - getBaseType
    - postgis_oid
    - pstrdup
    - get_tuple_desc
    - TupleDescAttr
    - add_key
    - elog
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: void
    signature: void parse_column_keys(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:407,1
    - Dst: HASH_CLEAR
      Src: /src/postgis/postgis/mvt.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: encode_keys
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - HASH_CLEAR
    linkageType: ''
    returnType: void
    signature: void encode_keys(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: MVT_CREATE_VALUES
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MVT_CREATE_VALUES(hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:428,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:430,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:431,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:432,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:433,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:434,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:435,1
    - Dst: MVT_CREATE_VALUES
      Src: /src/postgis/postgis/mvt.c:436,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:438,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/mvt.c:444,1
    - Dst: memset
      Src: /src/postgis/postgis/mvt.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 447
    functionName: encode_values
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    - POSTGIS_DEBUGF
    - MVT_CREATE_VALUES
    - ReleaseTupleDesc
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: void
    signature: void encode_values(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hash
    - ','
    - newvalue
    - ','
    - size
    - ','
    - pfvaluefield
    - ','
    - pftype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 471
    functionName: MVT_PARSE_VALUE
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MVT_PARSE_VALUE(hash, newvalue, size, pfvaluefield, pftype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: MVT_PARSE_INT_VALUE
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MVT_PARSE_INT_VALUE(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type
    - ','
    - datumfunc
    - ','
    - hash
    - ','
    - size
    - ','
    - pfvaluefield
    - ','
    - pftype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: MVT_PARSE_DATUM
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MVT_PARSE_DATUM(type, datumfunc, hash, size, pfvaluefield, pftype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - datumfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: MVT_PARSE_INT_DATUM
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MVT_PARSE_INT_DATUM(type, datumfunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_VALUE
      Src: /src/postgis/postgis/mvt.c:512,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:513,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/postgis/postgis/mvt.c:514,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:517,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:518,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:519,1
    - Dst: vector_tile__tile__value__init
      Src: /src/postgis/postgis/mvt.c:522,1
    - Dst: HASH_ADD_KEYPTR_BYHASHVALUE
      Src: /src/postgis/postgis/mvt.c:525,1
    - Dst: feature_add_property
      Src: /src/postgis/postgis/mvt.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - feature
    - value
    - size
    - k
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    - char*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: add_value_as_string_with_size
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - HASH_VALUE
    - HASH_ADD_KEYPTR_BYHASHVALUE
    - POSTGIS_DEBUGF
    - feature_add_property
    - HASH_FIND_BYHASHVALUE
    - vector_tile__tile__value__init
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool add_value_as_string_with_size(mvt_agg_context *ctx, struct feature_builder
      *feature, char *value, size_t size, uint32_t k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_value_as_string_with_size
      Src: /src/postgis/postgis/mvt.c:537,1
    - Dst: strlen
      Src: /src/postgis/postgis/mvt.c:537,1
    - Dst: pfree
      Src: /src/postgis/postgis/mvt.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - feature
    - value
    - k
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: add_value_as_string
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - add_value_as_string_with_size
    - strlen
    - pfree
    linkageType: ''
    returnType: void
    signature: void add_value_as_string(mvt_agg_context *ctx, struct feature_builder
      *feature, char *value, uint32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:549,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/mvt.c:550,1
    - Dst: OidOutputFunctionCall
      Src: /src/postgis/postgis/mvt.c:551,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:552,1
    - Dst: add_value_as_string
      Src: /src/postgis/postgis/mvt.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - feature
    - typoid
    - datum
    - k
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    - Oid
    - Datum
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: parse_datum_as_string
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - add_value_as_string
    - POSTGIS_DEBUGF
    - POSTGIS_DEBUG
    - OidOutputFunctionCall
    - getTypeOutputInfo
    linkageType: ''
    returnType: void
    signature: void parse_datum_as_string(mvt_agg_context *ctx, struct feature_builder
      *feature, Oid typoid, Datum datum, uint32_t k)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JB_ROOT_IS_OBJECT
      Src: /src/postgis/postgis/mvt.c:564,1
    - Dst: JsonbIteratorInit
      Src: /src/postgis/postgis/mvt.c:567,1
    - Dst: JsonbIteratorNext
      Src: /src/postgis/postgis/mvt.c:569,1
    - Dst: get_key_index_with_size
      Src: /src/postgis/postgis/mvt.c:576,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:579,1
    - Dst: memcpy
      Src: /src/postgis/postgis/mvt.c:580,1
    - Dst: add_key
      Src: /src/postgis/postgis/mvt.c:582,1
    - Dst: JsonbIteratorNext
      Src: /src/postgis/postgis/mvt.c:585,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:589,1
    - Dst: memcpy
      Src: /src/postgis/postgis/mvt.c:590,1
    - Dst: add_value_as_string
      Src: /src/postgis/postgis/mvt.c:592,1
    - Dst: MVT_PARSE_VALUE
      Src: /src/postgis/postgis/mvt.c:596,1
    - Dst: DatumGetCString
      Src: /src/postgis/postgis/mvt.c:607,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/mvt.c:607,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/mvt.c:608,1
    - Dst: strtod
      Src: /src/postgis/postgis/mvt.c:609,1
    - Dst: strtol
      Src: /src/postgis/postgis/mvt.c:610,1
    - Dst: fabs
      Src: /src/postgis/postgis/mvt.c:612,1
    - Dst: MVT_PARSE_VALUE
      Src: /src/postgis/postgis/mvt.c:614,1
    - Dst: MVT_PARSE_INT_VALUE
      Src: /src/postgis/postgis/mvt.c:622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ctx
    - feature
    - jb
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    - Jsonb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 627
    functionName: parse_jsonb
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - JsonbIteratorNext
    - add_value_as_string
    - MVT_PARSE_VALUE
    - add_key
    - fabs
    - DatumGetCString
    - DirectFunctionCall1
    - PointerGetDatum
    - strtod
    - strtol
    - MVT_PARSE_INT_VALUE
    - JB_ROOT_IS_OBJECT
    - get_key_index_with_size
    - JsonbIteratorInit
    - memcpy
    linkageType: ''
    returnType: void
    signature: void parse_jsonb(mvt_agg_context *ctx, struct feature_builder *feature,
      Jsonb *jb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:639,1
    - Dst: DatumGetInt16
      Src: /src/postgis/postgis/mvt.c:646,1
    - Dst: DatumGetInt32
      Src: /src/postgis/postgis/mvt.c:649,1
    - Dst: DatumGetInt64
      Src: /src/postgis/postgis/mvt.c:652,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:655,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - feature
    - datum
    - isNull
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    - Datum
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 666
    functionName: set_feature_id
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - DatumGetInt32
    - elog
    - DatumGetInt64
    - POSTGIS_DEBUG
    - DatumGetInt16
    linkageType: ''
    returnType: void
    signature: void set_feature_id(mvt_agg_context *ctx, struct feature_builder *feature,
      Datum datum, bool isNull)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:676,1
    - Dst: HeapTupleHeaderGetDatumLength
      Src: /src/postgis/postgis/mvt.c:679,1
    - Dst: ItemPointerSetInvalid
      Src: /src/postgis/postgis/mvt.c:680,1
    - Dst: heap_deform_tuple
      Src: /src/postgis/postgis/mvt.c:685,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:687,1
    - Dst: set_feature_id
      Src: /src/postgis/postgis/mvt.c:701,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:707,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/mvt.c:711,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:716,1
    - Dst: parse_jsonb
      Src: /src/postgis/postgis/mvt.c:719,1
    - Dst: DatumGetJsonbP
      Src: /src/postgis/postgis/mvt.c:719,1
    - Dst: MVT_PARSE_DATUM
      Src: /src/postgis/postgis/mvt.c:726,1
    - Dst: MVT_PARSE_INT_DATUM
      Src: /src/postgis/postgis/mvt.c:734,1
    - Dst: MVT_PARSE_INT_DATUM
      Src: /src/postgis/postgis/mvt.c:737,1
    - Dst: MVT_PARSE_INT_DATUM
      Src: /src/postgis/postgis/mvt.c:740,1
    - Dst: MVT_PARSE_DATUM
      Src: /src/postgis/postgis/mvt.c:743,1
    - Dst: MVT_PARSE_DATUM
      Src: /src/postgis/postgis/mvt.c:751,1
    - Dst: add_value_as_string
      Src: /src/postgis/postgis/mvt.c:759,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/mvt.c:759,1
    - Dst: DatumGetTextP
      Src: /src/postgis/postgis/mvt.c:759,1
    - Dst: add_value_as_string
      Src: /src/postgis/postgis/mvt.c:762,1
    - Dst: DatumGetCString
      Src: /src/postgis/postgis/mvt.c:762,1
    - Dst: parse_datum_as_string
      Src: /src/postgis/postgis/mvt.c:765,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - mvt_agg_context*
    - struct feature_builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 769
    functionName: parse_values
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - DatumGetTextP
    - parse_datum_as_string
    - POSTGIS_DEBUGF
    - MVT_PARSE_DATUM
    - TupleDescAttr
    - add_value_as_string
    - DatumGetCString
    - parse_jsonb
    - elog
    - set_feature_id
    - MVT_PARSE_INT_DATUM
    - text_to_cstring
    - heap_deform_tuple
    - ItemPointerSetInvalid
    - POSTGIS_DEBUG
    - DatumGetJsonbP
    - HeapTupleHeaderGetDatumLength
    linkageType: ''
    returnType: void
    signature: void parse_values(mvt_agg_context *ctx, struct feature_builder *feature)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Max
      Src: /src/postgis/postgis/mvt.c:797,1
    - Dst: lwgeom_get_basic_type
      Src: /src/postgis/postgis/mvt.c:797,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - geom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 804
    functionName: lwgeom_get_basic_type
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - Max
    - lwgeom_get_basic_type
    - elog
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t lwgeom_get_basic_type(LWGEOM *geom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/mvt.c:817,1
    - Dst: lwcollection_extract
      Src: /src/postgis/postgis/mvt.c:820,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/postgis/mvt.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - geom
    - original_type
    argTypes:
    - LWGEOM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 835
    functionName: lwgeom_to_basic_type
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_collection
    - lwgeom_get_type
    - lwcollection_extract
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      lwgeom_to_basic_type(LWGEOM *geom, uint8_t original_type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gbox_init
      Src: /src/postgis/postgis/mvt.c:844,1
    - Dst: FLAGS_SET_GEODETIC
      Src: /src/postgis/postgis/mvt.c:845,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/mvt.c:846,1
    - Dst: gbox_overlaps_2d
      Src: /src/postgis/postgis/mvt.c:848,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:850,1
    - Dst: gbox_contains_2d
      Src: /src/postgis/postgis/mvt.c:854,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:856,1
    - Dst: lwgeom_clip_by_rect
      Src: /src/postgis/postgis/mvt.c:860,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/mvt.c:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lwg_in
    - clip_box
    argTypes:
    - LWGEOM*
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 838
    functionDepth: 11
    functionLinenumber: 838
    functionLinenumberEnd: 864
    functionName: mvt_unsafe_clip_by_box
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - gbox_overlaps_2d
    - gbox_init
    - FLAGS_SET_GEODETIC
    - lwgeom_clip_by_rect
    - lwgeom_is_empty
    - lwgeom_calculate_gbox
    - gbox_contains_2d
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      mvt_unsafe_clip_by_box(LWGEOM *lwg_in, GBOX *clip_box)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/postgis/mvt.c:874,1
    - Dst: assert
      Src: /src/postgis/postgis/mvt.c:875,1
    - Dst: mvt_unsafe_clip_by_box
      Src: /src/postgis/postgis/mvt.c:885,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/postgis/mvt.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - lwgeom
    - basic_type
    - extent
    - buffer
    - clip_geom
    argTypes:
    - LWGEOM*
    - uint8_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts:
    - condition: (lwgeom->type != POLYGONTYPE)
      pos:
        line_end: 873
        line_start: 873
        source_file: /src/postgis/postgis/mvt.c
    - condition: (lwgeom->type != MULTIPOLYGONTYPE)
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/postgis/postgis/mvt.c
    constantsTouched: []
    func_position:
      end: 892
      start: 870
    functionDepth: 12
    functionLinenumber: 870
    functionLinenumberEnd: 892
    functionName: mvt_clip_and_validate_geos
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - lwgeom_grid_in_place
    - mvt_unsafe_clip_by_box
    - assert
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      mvt_clip_and_validate_geos(LWGEOM *lwgeom, uint8_t basic_type, uint32_t extent,
      uint32_t buffer, bool clip_geom)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_basic_type
      Src: /src/postgis/postgis/mvt.c:901,1
    - Dst: mvt_clip_and_validate_geos
      Src: /src/postgis/postgis/mvt.c:904,1
    - Dst: lwgeom_calculate_gbox
      Src: /src/postgis/postgis/mvt.c:910,1
    - Dst: lwgeom_wagyu_clip_by_box
      Src: /src/postgis/postgis/mvt.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - lwgeom
    - basic_type
    - extent
    - buffer
    - clip_geom
    argTypes:
    - LWGEOM*
    - uint8_t
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 894
    functionDepth: 13
    functionLinenumber: 894
    functionLinenumberEnd: 921
    functionName: mvt_clip_and_validate
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_basic_type
    - lwgeom_calculate_gbox
    - lwgeom_wagyu_clip_by_box
    - mvt_clip_and_validate_geos
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      mvt_clip_and_validate(LWGEOM *lwgeom, uint8_t basic_type, uint32_t extent, uint32_t
      buffer, bool clip_geom)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_get_basic_type
      Src: /src/postgis/postgis/mvt.c:939,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:941,1
    - Dst: lwgeom_to_basic_type
      Src: /src/postgis/postgis/mvt.c:944,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/mvt.c:947,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/mvt.c:954,1
    - Dst: lwgeom_affine
      Src: /src/postgis/postgis/mvt.c:963,1
    - Dst: lwgeom_grid_in_place
      Src: /src/postgis/postgis/mvt.c:966,1
    - Dst: lwgeom_simplify_in_place
      Src: /src/postgis/postgis/mvt.c:969,1
    - Dst: lwgeom_remove_repeated_points_in_place
      Src: /src/postgis/postgis/mvt.c:973,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/mvt.c:975,1
    - Dst: mvt_clip_and_validate
      Src: /src/postgis/postgis/mvt.c:978,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/mvt.c:979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - lwgeom
    - gbox
    - extent
    - buffer
    - clip_geom
    argTypes:
    - LWGEOM*
    - GBOX*
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 931
    functionDepth: 14
    functionLinenumber: 931
    functionLinenumberEnd: 983
    functionName: mvt_geom
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - lwgeom_to_basic_type
    - lwgeom_simplify_in_place
    - lwgeom_grid_in_place
    - lwgeom_is_empty
    - lwgeom_remove_repeated_points_in_place
    - mvt_clip_and_validate
    - POSTGIS_DEBUG
    - lwgeom_affine
    - lwgeom_get_basic_type
    linkageType: ''
    returnType: LWGEOM
    signature: "LWGEOM *mvt_geom(LWGEOM *lwgeom, const GBOX *gbox, uint32_t extent,
      uint32_t buffer,\n\tbool clip_geom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:992,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:995,1
    - Dst: memset
      Src: /src/postgis/postgis/mvt.c:1011,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1013,1
    - Dst: vector_tile__tile__layer__init
      Src: /src/postgis/postgis/mvt.c:1014,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1021
    functionName: mvt_agg_init_context
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - palloc
    - memset
    - elog
    - POSTGIS_DEBUG
    - vector_tile__tile__layer__init
    linkageType: ''
    returnType: void
    signature: void mvt_agg_init_context(mvt_agg_context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/mvt.c:1038,1
    - Dst: parse_column_keys
      Src: /src/postgis/postgis/mvt.c:1042,1
    - Dst: GetAttributeByNum
      Src: /src/postgis/postgis/mvt.c:1045,1
    - Dst: feature_init
      Src: /src/postgis/postgis/mvt.c:1050,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/mvt.c:1053,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/mvt.c:1054,1
    - Dst: encode_feature_geometry
      Src: /src/postgis/postgis/mvt.c:1057,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/mvt.c:1058,1
    - Dst: parse_values
      Src: /src/postgis/postgis/mvt.c:1062,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:1065,1
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:1069,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/mvt.c:1072,1
    - Dst: feature_build
      Src: /src/postgis/postgis/mvt.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1030
    functionDepth: 6
    functionLinenumber: 1030
    functionLinenumberEnd: 1077
    functionName: mvt_agg_transfn
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - PG_DETOAST_DATUM
    - parse_values
    - POSTGIS_DEBUGF
    - lwgeom_from_gserialized
    - encode_feature_geometry
    - repalloc
    - parse_column_keys
    - feature_build
    - POSTGIS_DEBUG
    - feature_init
    - GetAttributeByNum
    linkageType: ''
    returnType: void
    signature: void mvt_agg_transfn(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_keys
      Src: /src/postgis/postgis/mvt.c:1083,1
    - Dst: encode_values
      Src: /src/postgis/postgis/mvt.c:1084,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1086,1
    - Dst: vector_tile__tile__init
      Src: /src/postgis/postgis/mvt.c:1087,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1092
    functionName: mvt_ctx_to_tile
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_keys
    - vector_tile__tile__init
    - encode_values
    linkageType: ''
    returnType: VectorTile__Tile
    signature: VectorTile__Tile * mvt_ctx_to_tile(mvt_agg_context *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mvt_ctx_to_tile
      Src: /src/postgis/postgis/mvt.c:1105,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1111,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/mvt.c:1112,1
    - Dst: vector_tile__tile__get_packed_size
      Src: /src/postgis/postgis/mvt.c:1117,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1118,1
    - Dst: vector_tile__tile__pack
      Src: /src/postgis/postgis/mvt.c:1119,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/mvt.c:1119,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/mvt.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1122
    functionName: mvt_ctx_to_bytea
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - vector_tile__tile__get_packed_size
    - mvt_ctx_to_tile
    - vector_tile__tile__pack
    - VARDATA
    - SET_VARSIZE
    linkageType: ''
    returnType: bytea
    signature: bytea *mvt_ctx_to_bytea(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mvt_ctx_to_bytea
      Src: /src/postgis/postgis/mvt.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 4
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: mvt_ctx_serialize
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - mvt_ctx_to_bytea
    linkageType: ''
    returnType: bytea
    signature: bytea * mvt_ctx_serialize(mvt_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: mvt_allocator
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    linkageType: ''
    returnType: void
    signature: void * mvt_allocator(__attribute__((__unused__)) void *data, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/postgis/mvt.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: mvt_deallocator
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: void
    signature: void mvt_deallocator(__attribute__((__unused__)) void *data, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/mvt.c:1149,1
    - Dst: vector_tile__tile__unpack
      Src: /src/postgis/postgis/mvt.c:1150,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/mvt.c:1150,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1151,1
    - Dst: memset
      Src: /src/postgis/postgis/mvt.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ba
    argTypes:
    - bytea*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1155
    functionName: mvt_ctx_deserialize
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - palloc
    - VARSIZE_ANY_EXHDR
    - memset
    - vector_tile__tile__unpack
    - VARDATA
    linkageType: ''
    returnType: mvt_agg_context
    signature: mvt_agg_context * mvt_ctx_deserialize(const bytea *ba)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:1178,1
    - Dst: memcpy
      Src: /src/postgis/postgis/mvt.c:1179,1
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:1191,1
    - Dst: memcpy
      Src: /src/postgis/postgis/mvt.c:1192,1
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:1204,1
    - Dst: memcpy
      Src: /src/postgis/postgis/mvt.c:1206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - layer
    - layer2
    argTypes:
    - VectorTile__Tile__Layer*
    - VectorTile__Tile__Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1220
    functionName: vectortile_layer_combine
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - repalloc
    - memcpy
    linkageType: ''
    returnType: VectorTile__Tile__Layer
    signature: 'VectorTile__Tile__Layer *

      vectortile_layer_combine(VectorTile__Tile__Layer *layer, VectorTile__Tile__Layer
      *layer2)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1237,1
    - Dst: vector_tile__tile__init
      Src: /src/postgis/postgis/mvt.c:1238,1
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1239,1
    - Dst: strcmp
      Src: /src/postgis/postgis/mvt.c:1249,1
    - Dst: vectortile_layer_combine
      Src: /src/postgis/postgis/mvt.c:1251,1
    - Dst: repalloc
      Src: /src/postgis/postgis/mvt.c:1256,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - tile1
    - tile2
    argTypes:
    - VectorTile__Tile*
    - VectorTile__Tile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1261
    functionName: vectortile_tile_combine
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcmp
    - vector_tile__tile__init
    - repalloc
    - vectortile_layer_combine
    linkageType: ''
    returnType: VectorTile__Tile
    signature: 'VectorTile__Tile *

      vectortile_tile_combine(VectorTile__Tile *tile1, VectorTile__Tile *tile2)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/mvt.c:1271,1
    - Dst: memset
      Src: /src/postgis/postgis/mvt.c:1272,1
    - Dst: vectortile_tile_combine
      Src: /src/postgis/postgis/mvt.c:1273,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:1278,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:1279,1
    - Dst: elog
      Src: /src/postgis/postgis/mvt.c:1280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ctx1
    - ctx2
    argTypes:
    - mvt_agg_context*
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1288
    functionName: mvt_ctx_combine
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - palloc
    - memset
    - elog
    - vectortile_tile_combine
    linkageType: ''
    returnType: mvt_agg_context
    signature: mvt_agg_context * mvt_ctx_combine(mvt_agg_context *ctx1, mvt_agg_context
      *ctx2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mvt_ctx_to_bytea
      Src: /src/postgis/postgis/mvt.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mvt_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1299
    functionName: mvt_agg_finalfn
    functionSourceFile: /src/postgis/postgis/mvt.c
    functionUses: 1
    functionsReached:
    - mvt_ctx_to_bytea
    linkageType: ''
    returnType: bytea
    signature: bytea *mvt_agg_finalfn(mvt_agg_context *ctx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_export.c:80,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:89,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:92,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:93,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:98,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:99,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:100,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:103,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:103,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:105,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:110,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:110,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:111,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:115,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:115,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:117,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_export.c:118,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:124,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_export.c:125,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_export.c:126,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_export.c:126,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:135,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:135,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:137,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_export.c:138,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:144,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_export.c:145,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_export.c:146,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_export.c:146,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_export.c:153,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/lwgeom_export.c:156,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/lwgeom_export.c:158,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:164,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:168,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:173,1
    - Dst: lwgeom_extent_to_gml2
      Src: /src/postgis/postgis/lwgeom_export.c:178,1
    - Dst: lwgeom_to_gml2
      Src: /src/postgis/postgis/lwgeom_export.c:180,1
    - Dst: lwgeom_extent_to_gml3
      Src: /src/postgis/postgis/lwgeom_export.c:185,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/postgis/lwgeom_export.c:187,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:191,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:192,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 56
    functionDepth: 8
    functionLinenumber: 56
    functionLinenumberEnd: 193
    functionName: LWGEOM_asGML
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_gml2
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - gserialized_get_srid
    - get_fn_expr_argtype
    - VARSIZE
    - elog
    - PG_GETARG_GSERIALIZED_P
    - lwgeom_extent_to_gml2
    - PG_GETARG_INT32
    - lwgeom_extent_to_gml3
    - PG_NARGS
    - lwgeom_to_gml3
    - GetSRSCacheBySRID
    - PG_RETURN_TEXT_P
    - VARDATA
    - palloc
    - VARSIZE_ANY_EXHDR
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asGML(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:213,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:214,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:216,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_export.c:217,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:220,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:220,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:222,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:232,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:232,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:234,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/lwgeom_export.c:248,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:252,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:253,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:257,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:258,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/postgis/lwgeom_export.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 200
    functionDepth: 9
    functionLinenumber: 200
    functionLinenumberEnd: 259
    functionName: LWGEOM_asGeoJson
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_from_gserialized
    - lwgeom_to_geojson
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - GetSRSCacheBySRID
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asGeoJson(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:268,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:269,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/lwgeom_export.c:275,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/postgis/lwgeom_export.c:277,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_export.c:278,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_export.c:279,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 9
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: geometry_to_json
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_to_geojson
    - GetSRSCacheBySRID
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_to_json(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:286,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:287,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/lwgeom_export.c:294,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/postgis/lwgeom_export.c:296,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_export.c:297,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_export.c:298,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:298,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_export.c:299,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_export.c:299,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:299,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_export.c:300,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_export.c:300,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_export.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 9
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: geometry_to_jsonb
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - VARSIZE_ANY_EXHDR
    - lwgeom_from_gserialized
    - PointerGetDatum
    - lwgeom_to_geojson
    - GetSRSCacheBySRID
    - PG_GETARG_GSERIALIZED_P
    - DirectFunctionCall1
    - PG_RETURN_DATUM
    - VARDATA
    - palloc0
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_to_jsonb(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:315,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:315,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:317,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:320,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:320,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:321,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:323,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:323,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:325,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:328,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:329,1
    - Dst: lwgeom_to_svg
      Src: /src/postgis/postgis/lwgeom_export.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 308
    functionDepth: 9
    functionLinenumber: 308
    functionLinenumberEnd: 330
    functionName: LWGEOM_asSVG
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_svg
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asSVG(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:349,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:352,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:353,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:357,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:357,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:358,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:361,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:361,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:363,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:367,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:367,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:368,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:372,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:372,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:374,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:375,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_export.c:382,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:382,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_export.c:383,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_export.c:383,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:384,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:386,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_export.c:387,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:392,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_export.c:397,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:400,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:401,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:405,1
    - Dst: lwgeom_to_x3d3
      Src: /src/postgis/postgis/lwgeom_export.c:405,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 336
    functionDepth: 6
    functionLinenumber: 336
    functionLinenumberEnd: 406
    functionName: LWGEOM_asX3D
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_TEXT_P
    - VARSIZE_ANY_EXHDR
    - PG_FREE_IF_COPY
    - lwgeom_to_x3d3
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - VARDATA
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asX3D(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:418,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:418,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_export.c:420,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_export.c:421,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_export.c:422,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_export.c:423,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_export.c:424,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_export.c:426,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_export.c:428,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_export.c:428,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_export.c:430,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_export.c:434,1
    - Dst: lwgeom_to_encoded_polyline
      Src: /src/postgis/postgis/lwgeom_export.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 412
    functionDepth: 6
    functionLinenumber: 412
    functionLinenumberEnd: 435
    functionName: LWGEOM_asEncodedPolyline
    functionSourceFile: /src/postgis/postgis/lwgeom_export.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - lwgeom_from_gserialized
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_to_encoded_polyline
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asEncodedPolyline(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_rectree.c:65,1
    - Dst: rect_tree_free
      Src: /src/postgis/postgis/lwgeom_rectree.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lwgeom
    - cache
    argTypes:
    - LWGEOM*
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: RectTreeBuilder
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - rect_tree_free
    - rect_tree_from_lwgeom
    linkageType: ''
    returnType: int
    signature: int RectTreeBuilder(const LWGEOM *lwgeom, GeomCache *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rect_tree_free
      Src: /src/postgis/postgis/lwgeom_rectree.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: RectTreeFreer
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - rect_tree_free
    linkageType: ''
    returnType: int
    signature: int RectTreeFreer(GeomCache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_rectree.c:95,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_rectree.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: RectTreeAllocator
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    linkageType: ''
    returnType: GeomCache
    signature: 'GeomCache *

      RectTreeAllocator(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetGeomCache
      Src: /src/postgis/postgis/lwgeom_rectree.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fcinfo
    - g1
    - g2
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: GetRectTreeGeomCache
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - GetGeomCache
    linkageType: ''
    returnType: RectTreeGeomCache
    signature: 'RectTreeGeomCache *

      GetRectTreeGeomCache(FunctionCallInfo fcinfo, SHARED_GSERIALIZED *g1, SHARED_GSERIALIZED
      *g2)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_rectree.c:122,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_rectree.c:123,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_rectree.c:128,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_rectree.c:128,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_rectree.c:130,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_rectree.c:131,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_rectree.c:132,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:135,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:136,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_rectree.c:140,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/postgis/lwgeom_rectree.c:140,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_rectree.c:143,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_rectree.c:144,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_rectree.c:145,1
    - Dst: rect_tree_distance_tree
      Src: /src/postgis/postgis/lwgeom_rectree.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 8
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: ST_DistanceRectTree
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - rect_tree_from_lwgeom
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_mindistance2d
    - gserialized_is_empty
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    - rect_tree_distance_tree
    linkageType: ''
    returnType: Datum
    signature: Datum ST_DistanceRectTree(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_rectree.c:152,1
    - Dst: ToastCacheGetGeometry
      Src: /src/postgis/postgis/lwgeom_rectree.c:153,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_rectree.c:154,1
    - Dst: shared_gserialized_get
      Src: /src/postgis/postgis/lwgeom_rectree.c:155,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_rectree.c:158,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/lwgeom_rectree.c:158,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_rectree.c:160,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_rectree.c:164,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_rectree.c:164,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:166,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:167,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_rectree.c:168,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/postgis/lwgeom_rectree.c:168,1
    - Dst: GetRectTreeGeomCache
      Src: /src/postgis/postgis/lwgeom_rectree.c:172,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:180,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_rectree.c:181,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:185,1
    - Dst: rect_tree_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_rectree.c:186,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_rectree.c:190,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_rectree.c:192,1
    - Dst: rect_tree_distance_tree
      Src: /src/postgis/postgis/lwgeom_rectree.c:192,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:196,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_rectree.c:197,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_rectree.c:198,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/postgis/lwgeom_rectree.c:198,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_rectree.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 149
    functionDepth: 8
    functionLinenumber: 149
    functionLinenumberEnd: 202
    functionName: ST_DistanceRectTreeCached
    functionSourceFile: /src/postgis/postgis/lwgeom_rectree.c
    functionUses: 0
    functionsReached:
    - GetRectTreeGeomCache
    - rect_tree_from_lwgeom
    - lwgeom_from_gserialized
    - ToastCacheGetGeometry
    - elog
    - shared_gserialized_get
    - PG_RETURN_NULL
    - lwgeom_mindistance2d
    - gserialized_is_empty
    - gserialized_get_type
    - PG_RETURN_FLOAT8
    - rect_tree_distance_tree
    linkageType: ''
    returnType: Datum
    signature: Datum ST_DistanceRectTreeCached(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:49,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:50,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:52,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:53,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:54,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:55,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:56,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:57,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:58,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:59,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: ST_ClosestPointOfApproach
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_temporal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_tcpa
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ClosestPointOfApproach(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:71,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:73,1
    - Dst: lwgeom_is_trajectory
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:74,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:75,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ST_IsValidTrajectory
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_temporal.c
    functionUses: 0
    functionsReached:
    - lwgeom_is_trajectory
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum ST_IsValidTrajectory(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:87,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:88,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:90,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:91,1
    - Dst: lwgeom_tcpa
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:93,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:94,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:95,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:96,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:97,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:98,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: ST_DistanceCPA
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_temporal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_tcpa
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_DistanceCPA(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:110,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:111,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:112,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:114,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:115,1
    - Dst: lwgeom_cpa_within
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:116,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:117,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:118,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:119,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:120,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_functions_temporal.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: ST_CPAWithin
    functionSourceFile: /src/postgis/postgis/lwgeom_functions_temporal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    - lwgeom_cpa_within
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CPAWithin(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNBLOCKED_SIGNAL_QUEUE
      Src: /src/postgis/postgis/postgis_module.c:52,1
    - Dst: pgwin32_dispatch_queued_signals
      Src: /src/postgis/postgis/postgis_module.c:54,1
    - Dst: GEOS_interruptRequest
      Src: /src/postgis/postgis/postgis_module.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: interrupt_geos_callback
    functionSourceFile: /src/postgis/postgis/postgis_module.c
    functionUses: 0
    functionsReached:
    - GEOS_interruptRequest
    - pgwin32_dispatch_queued_signals
    - UNBLOCKED_SIGNAL_QUEUE
    linkageType: ''
    returnType: void
    signature: void interrupt_geos_callback()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNBLOCKED_SIGNAL_QUEUE
      Src: /src/postgis/postgis/postgis_module.c:71,1
    - Dst: pgwin32_dispatch_queued_signals
      Src: /src/postgis/postgis/postgis_module.c:73,1
    - Dst: lwgeom_request_interrupt
      Src: /src/postgis/postgis/postgis_module.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: interrupt_liblwgeom_callback
    functionSourceFile: /src/postgis/postgis/postgis_module.c
    functionUses: 0
    functionsReached:
    - lwgeom_request_interrupt
    - pgwin32_dispatch_queued_signals
    - UNBLOCKED_SIGNAL_QUEUE
    linkageType: ''
    returnType: void
    signature: void interrupt_liblwgeom_callback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/postgis_module.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - logLevel
    - message
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: pjLogFunction
    functionSourceFile: /src/postgis/postgis/postgis_module.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void pjLogFunction(void* data, int logLevel, const char* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GEOS_interruptRegisterCallback
      Src: /src/postgis/postgis/postgis_module.c:113,1
    - Dst: lwgeom_register_interrupt_callback
      Src: /src/postgis/postgis/postgis_module.c:114,1
    - Dst: pg_install_lwgeom_handlers
      Src: /src/postgis/postgis/postgis_module.c:117,1
    - Dst: proj_log_func
      Src: /src/postgis/postgis/postgis_module.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: _PG_init
    functionSourceFile: /src/postgis/postgis/postgis_module.c
    functionUses: 0
    functionsReached:
    - proj_log_func
    - lwgeom_register_interrupt_callback
    - pg_install_lwgeom_handlers
    - GEOS_interruptRegisterCallback
    linkageType: ''
    returnType: void
    signature: void _PG_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/postgis_module.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: _PG_fini
    functionSourceFile: /src/postgis/postgis/postgis_module.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void _PG_fini(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:50,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - points
    - mindx
    - mindy
    argTypes:
    - POINTARRAY*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: ptarray_remove_dim_helper
    functionSourceFile: /src/postgis/postgis/lwgeom_remove_small_parts.c
    functionUses: 0
    functionsReached:
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void ptarray_remove_dim_helper(POINTARRAY *points, double mindx, double
      mindy)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:88,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:89,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:92,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:92,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:94,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:96,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:96,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:98,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:101,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:102,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:105,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:109,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:110,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:111,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:112,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:115,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:122,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:126,1
    - Dst: ptarray_remove_dim_helper
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:131,1
    - Dst: ptarray_remove_dim_helper
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:140,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:148,1
    - Dst: ptarray_remove_dim_helper
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:159,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:170,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:176,1
    - Dst: ptarray_remove_dim_helper
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:192,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:203,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:209,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:220,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:227,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:228,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:230,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:231,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:233,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_remove_small_parts.c:234,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 235
    functionName: ST_RemoveSmallParts
    functionSourceFile: /src/postgis/postgis/lwgeom_remove_small_parts.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - lwgeom_free
    - gserialized_from_lwgeom
    - lwgeom_from_gserialized
    - ptarray_remove_dim_helper
    - PG_DETOAST_DATUM_COPY
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_drop_bbox
    - lwgeom_add_bbox
    - lwfree
    - PG_GETARG_DATUM
    - gserialized_get_type
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_RemoveSmallParts(PG_FUNCTION_ARGS)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/lwgeom_inout.c:87,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:95,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:95,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:96,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/postgis/lwgeom_inout.c:99,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_inout.c:103,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_inout.c:103,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:104,1
    - Dst: strncasecmp
      Src: /src/postgis/postgis/lwgeom_inout.c:108,1
    - Dst: atoi
      Src: /src/postgis/postgis/lwgeom_inout.c:125,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_inout.c:132,1
    - Dst: bytes_from_hexbytes
      Src: /src/postgis/postgis/lwgeom_inout.c:133,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/lwgeom_inout.c:135,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:137,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:139,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:141,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:141,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_inout.c:142,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:143,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_inout.c:144,1
    - Dst: lwgeom_from_geojson
      Src: /src/postgis/postgis/lwgeom_inout.c:149,1
    - Dst: GetSRIDCacheBySRS
      Src: /src/postgis/postgis/lwgeom_inout.c:152,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_inout.c:153,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:154,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:156,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_inout.c:157,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/postgis/lwgeom_inout.c:162,1
    - Dst: PG_PARSER_ERROR
      Src: /src/postgis/postgis/lwgeom_inout.c:164,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:165,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:168,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:169,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:170,1
    - Dst: lwgeom_parser_result_free
      Src: /src/postgis/postgis/lwgeom_inout.c:171,1
    - Dst: postgis_valid_typmod
      Src: /src/postgis/postgis/lwgeom_inout.c:176,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:177,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:181,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 85
    functionDepth: 7
    functionLinenumber: 85
    functionLinenumberEnd: 189
    functionName: LWGEOM_in
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - postgis_valid_typmod
    - PG_RETURN_NULL
    - lwgeom_set_srid
    - lwgeom_from_wkb
    - lwgeom_parser_result_free
    - PG_GETARG_CSTRING
    - GetSRIDCacheBySRS
    - lwgeom_needs_bbox
    - strlen
    - PG_GETARG_INT32
    - lwgeom_from_geojson
    - geometry_serialize
    - ereport
    - bytes_from_hexbytes
    - lwgeom_parser_result_init
    - PG_NARGS
    - PG_PARSER_ERROR
    - lwfree
    - atoi
    - errmsg
    - PG_RETURN_POINTER
    - strncasecmp
    - lwgeom_parse_wkt
    - PG_ARGISNULL
    - lwgeom_add_bbox
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_in(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:217,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:218,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/lwgeom_inout.c:228,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_inout.c:231,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/lwgeom_inout.c:231,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:234,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_inout.c:237,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:238,1
    - Dst: lwgeom_isfinite
      Src: /src/postgis/postgis/lwgeom_inout.c:241,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_inout.c:242,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:243,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_inout.c:246,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_inout.c:247,1
    - Dst: pg_do_encoding_conversion
      Src: /src/postgis/postgis/lwgeom_inout.c:251,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_inout.c:252,1
    - Dst: GetDatabaseEncoding
      Src: /src/postgis/postgis/lwgeom_inout.c:252,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_inout.c:253,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_inout.c:255,1
    - Dst: lwpoint_to_latlon
      Src: /src/postgis/postgis/lwgeom_inout.c:260,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_inout.c:261,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_inout.c:262,1
    - Dst: pg_do_encoding_conversion
      Src: /src/postgis/postgis/lwgeom_inout.c:265,1
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_inout.c:266,1
    - Dst: GetDatabaseEncoding
      Src: /src/postgis/postgis/lwgeom_inout.c:267,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_inout.c:268,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_inout.c:270,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/lwgeom_inout.c:275,1
    - Dst: pfree
      Src: /src/postgis/postgis/lwgeom_inout.c:276,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (format_str != NULL)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/postgis/postgis/lwgeom_inout.c
    - condition: (formatted_str != NULL)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/postgis/postgis/lwgeom_inout.c
    - condition: (tmp != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/postgis/postgis/lwgeom_inout.c
    - condition: (tmp != NULL)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/postgis/postgis/lwgeom_inout.c
    constantsTouched: []
    func_position:
      end: 279
      start: 214
    functionDepth: 8
    functionLinenumber: 214
    functionLinenumberEnd: 279
    functionName: LWGEOM_to_latlon
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - assert
    - lwpgerror
    - lwgeom_isfinite
    - lwgeom_from_gserialized
    - lwpoint_to_latlon
    - PG_RETURN_NULL
    - text_to_cstring
    - pg_do_encoding_conversion
    - strlen
    - pfree
    - PG_GETARG_GSERIALIZED_P
    - lwtype_name
    - PG_GETARG_TEXT_P
    - GetDatabaseEncoding
    - gserialized_get_type
    - cstring_to_text
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_latlon(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:291,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:292,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/lwgeom_inout.c:293,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/lwgeom_inout.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 12
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: LWGEOM_out
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_hexwkb_buffer
    - lwgeom_from_gserialized
    - PG_RETURN_CSTRING
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_out(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:302,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:307,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:307,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:309,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_inout.c:311,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:311,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_inout.c:312,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:312,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:323,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:324,1
    - Dst: lwgeom_to_hexwkb_varlena
      Src: /src/postgis/postgis/lwgeom_inout.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 12
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: LWGEOM_asHEXEWKB
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - strncmp
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_TEXT_P
    - PG_RETURN_TEXT_P
    - lwgeom_to_hexwkb_varlena
    - VARDATA
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_asHEXEWKB(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:338,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:339,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:340,1
    - Dst: lwgeom_to_hexwkb_varlena
      Src: /src/postgis/postgis/lwgeom_inout.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 12
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: LWGEOM_to_text
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - lwgeom_from_gserialized
    - lwgeom_to_hexwkb_varlena
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_text(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_inout.c:353,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:356,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/lwgeom_inout.c:358,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_inout.c:358,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_inout.c:360,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:362,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:362,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:364,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:365,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:368,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:369,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:371,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_inout.c:372,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:373,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 351
    functionDepth: 7
    functionLinenumber: 351
    functionLinenumberEnd: 375
    functionName: LWGEOMFromEWKB
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - VARSIZE_ANY_EXHDR
    - lwgeom_free
    - lwpgerror
    - PG_NARGS
    - PG_ARGISNULL
    - lwgeom_add_bbox
    - PG_GETARG_BYTEA_P
    - VARDATA
    - lwgeom_set_srid
    - lwgeom_needs_bbox
    - PG_GETARG_INT32
    - lwgeom_from_wkb
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOMFromEWKB(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_inout.c:384,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:387,1
    - Dst: lwgeom_from_twkb
      Src: /src/postgis/postgis/lwgeom_inout.c:389,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_inout.c:389,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:391,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:392,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:394,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_inout.c:395,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:396,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 8
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: LWGEOMFromTWKB
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - VARSIZE_ANY_EXHDR
    - lwgeom_free
    - lwgeom_add_bbox
    - lwgeom_needs_bbox
    - PG_GETARG_BYTEA_P
    - lwgeom_from_twkb
    - VARDATA
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOMFromTWKB(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:407,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:412,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:412,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:414,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_inout.c:416,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:416,1
    - Dst: strncmp
      Src: /src/postgis/postgis/lwgeom_inout.c:417,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_inout.c:417,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:428,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_inout.c:429,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/postgis/lwgeom_inout.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 405
    functionDepth: 11
    functionLinenumber: 405
    functionLinenumberEnd: 430
    functionName: WKBFromLWGEOM
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_BYTEA_P
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - strncmp
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_TEXT_P
    - lwgeom_to_wkb_varlena
    - VARDATA
    linkageType: ''
    returnType: Datum
    signature: Datum WKBFromLWGEOM(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:442,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:442,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:444,1
    - Dst: srid_axis_precision
      Src: /src/postgis/postgis/lwgeom_inout.c:447,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:447,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:450,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:450,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:451,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:454,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:454,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:455,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:458,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:458,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:459,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:465,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:465,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_inout.c:465,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:469,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:469,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_inout.c:469,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:473,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_inout.c:474,1
    - Dst: lwgeom_to_twkb
      Src: /src/postgis/postgis/lwgeom_inout.c:474,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 433
    functionDepth: 9
    functionLinenumber: 433
    functionLinenumberEnd: 475
    functionName: TWKBFromLWGEOM
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - gserialized_get_srid
    - PG_RETURN_BYTEA_P
    - srid_axis_precision
    - lwgeom_from_gserialized
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_BOOL
    - lwgeom_to_twkb
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum TWKBFromLWGEOM(PG_FUNCTION_ARGS)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:500,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:500,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:500,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:501,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_inout.c:503,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/postgis/lwgeom_inout.c:504,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_inout.c:506,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_inout.c:506,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_inout.c:506,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/postgis/lwgeom_inout.c:507,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/lwgeom_inout.c:507,1
    - Dst: ARR_DIMS
      Src: /src/postgis/postgis/lwgeom_inout.c:507,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_inout.c:511,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:512,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_inout.c:518,1
    - Dst: array_create_iterator
      Src: /src/postgis/postgis/lwgeom_inout.c:519,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_inout.c:521,1
    - Dst: array_iterate
      Src: /src/postgis/postgis/lwgeom_inout.c:522,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_inout.c:529,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:533,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_inout.c:533,1
    - Dst: DatumGetInt64
      Src: /src/postgis/postgis/lwgeom_inout.c:534,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_inout.c:539,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_inout.c:540,1
    - Dst: lwcollection_construct_empty
      Src: /src/postgis/postgis/lwgeom_inout.c:541,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:541,1
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_inout.c:544,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_inout.c:548,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/lwgeom_inout.c:548,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_inout.c:550,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:551,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:552,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:553,1
    - Dst: lwcollection_add_lwgeom
      Src: /src/postgis/postgis/lwgeom_inout.c:556,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_inout.c:561,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_inout.c:567,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_inout.c:571,1
    - Dst: array_free_iterator
      Src: /src/postgis/postgis/lwgeom_inout.c:572,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_inout.c:576,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:577,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:578,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:579,1
    - Dst: lwtype_get_collectiontype
      Src: /src/postgis/postgis/lwgeom_inout.c:583,1
    - Dst: srid_axis_precision
      Src: /src/postgis/postgis/lwgeom_inout.c:587,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_inout.c:587,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_inout.c:587,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:590,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:590,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:591,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:594,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:594,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:595,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:598,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:598,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:599,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:605,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:605,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_inout.c:605,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:609,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:609,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/lwgeom_inout.c:609,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_inout.c:613,1
    - Dst: lwgeom_to_twkb_with_idlist
      Src: /src/postgis/postgis/lwgeom_inout.c:613,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_inout.c:614,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 479
    functionDepth: 8
    functionLinenumber: 479
    functionLinenumberEnd: 615
    functionName: TWKBFromLWGEOMArray
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - ARR_DIMS
    - array_iterate
    - lwtype_get_collectiontype
    - ARR_NDIM
    - PG_RETURN_NULL
    - lwgeom_has_z
    - lwcollection_add_lwgeom
    - PG_FREE_IF_COPY
    - lwgeom_has_m
    - array_free_iterator
    - srid_axis_precision
    - elog
    - PG_GETARG_BOOL
    - PG_GETARG_INT32
    - lwcollection_construct_empty
    - array_create_iterator
    - PG_NARGS
    - lwgeom_to_twkb_with_idlist
    - lwgeom_get_type
    - palloc0
    - DatumGetPointer
    - PG_RETURN_BYTEA_P
    - lwcollection_as_lwgeom
    - lwgeom_get_srid
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - PG_ARGISNULL
    - DatumGetInt64
    - ArrayGetNItems
    linkageType: ''
    returnType: Datum
    signature: Datum TWKBFromLWGEOMArray(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:622,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_inout.c:626,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:627,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:628,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_inout.c:630,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 620
    functionDepth: 7
    functionLinenumber: 620
    functionLinenumberEnd: 632
    functionName: LWGEOM_addBBOX
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - lwgeom_add_bbox
    - PG_GETARG_GSERIALIZED_P
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_addBBOX(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_inout.c:638,1
    - Dst: gserialized_has_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:641,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:642,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:644,1
    - Dst: gserialized_drop_gbox
      Src: /src/postgis/postgis/lwgeom_inout.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: LWGEOM_dropBBOX
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - gserialized_drop_gbox
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - gserialized_has_bbox
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_dropBBOX(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_inout.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: elog_ERROR
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void elog_ERROR(const char* string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_inout.c:663,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/lwgeom_inout.c:668,1
    - Dst: CallerFInfoFunctionCall1
      Src: /src/postgis/postgis/lwgeom_inout.c:673,1
    - Dst: CStringGetDatum
      Src: /src/postgis/postgis/lwgeom_inout.c:673,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:677,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/lwgeom_inout.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 680
    functionName: parse_WKT_lwgeom
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - CallerFInfoFunctionCall1
    - PG_RETURN_NULL
    - text_to_cstring
    - CStringGetDatum
    - PG_GETARG_TEXT_P
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum parse_WKT_lwgeom(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:693,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_inout.c:698,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_inout.c:698,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_inout.c:699,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/lwgeom_inout.c:702,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_inout.c:705,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_inout.c:705,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_inout.c:706,1
    - Dst: lwgeom_needs_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:709,1
    - Dst: lwgeom_add_bbox
      Src: /src/postgis/postgis/lwgeom_inout.c:710,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_inout.c:715,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_inout.c:716,1
    - Dst: postgis_valid_typmod
      Src: /src/postgis/postgis/lwgeom_inout.c:720,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:721,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:725,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 691
    functionDepth: 7
    functionLinenumber: 691
    functionLinenumberEnd: 730
    functionName: LWGEOM_recv
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - geometry_serialize
    - ereport
    - lwgeom_free
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwgeom_needs_bbox
    - lwgeom_add_bbox
    - postgis_valid_typmod
    - errmsg
    - PG_GETARG_INT32
    - PG_RETURN_POINTER
    - lwgeom_from_wkb
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_recv(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:737,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:739,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_inout.c:740,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_inout.c:741,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_inout.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: LWGEOM_send
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - DatumGetPointer
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    - DirectFunctionCall1
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_send(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:750,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:752,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_inout.c:753,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_inout.c:754,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_inout.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 758
    functionName: LWGEOM_to_bytea
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - DatumGetPointer
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    - DirectFunctionCall1
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_to_bytea(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_inout.c:765,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/lwgeom_inout.c:767,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/lwgeom_inout.c:767,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/lwgeom_inout.c:768,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_inout.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: LWGEOM_from_bytea
    functionSourceFile: /src/postgis/postgis/lwgeom_inout.c
    functionUses: 0
    functionsReached:
    - DatumGetPointer
    - PG_GETARG_DATUM
    - POSTGIS_DEBUG
    - DirectFunctionCall1
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_from_bytea(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_2d.c:18,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/brin_2d.c:19,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/brin_2d.c:20,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:30,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:33,1
    - Dst: gserialized_datum_get_box2df_p
      Src: /src/postgis/postgis/brin_2d.c:39,1
    - Dst: is_gserialized_from_datum_empty
      Src: /src/postgis/postgis/brin_2d.c:46,1
    - Dst: DatumGetBool
      Src: /src/postgis/postgis/brin_2d.c:47,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_2d.c:49,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:50,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:53,1
    - Dst: elog
      Src: /src/postgis/postgis/brin_2d.c:60,1
    - Dst: datumCopy
      Src: /src/postgis/postgis/brin_2d.c:67,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_2d.c:69,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/brin_2d.c:70,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:72,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/brin_2d.c:78,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:79,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_2d.c:85,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_2d.c:86,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_2d.c:87,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_2d.c:88,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/brin_2d.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 15
    functionDepth: 8
    functionLinenumber: 15
    functionLinenumberEnd: 91
    functionName: geom2d_brin_inclusion_add_value
    functionSourceFile: /src/postgis/postgis/brin_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - is_gserialized_from_datum_empty
    - Max
    - gserialized_datum_get_box2df_p
    - elog
    - PG_GETARG_BOOL
    - BoolGetDatum
    - box2df_contains
    - DatumGetBool
    - Min
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - datumCopy
    linkageType: ''
    returnType: Datum
    signature: Datum geom2d_brin_inclusion_add_value(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_2d.c:98,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/brin_2d.c:99,1
    - Dst: box2df_contains
      Src: /src/postgis/postgis/brin_2d.c:107,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_2d.c:109,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_2d.c:110,1
    - Dst: Min
      Src: /src/postgis/postgis/brin_2d.c:111,1
    - Dst: Max
      Src: /src/postgis/postgis/brin_2d.c:112,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/brin_2d.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: geom2d_brin_inclusion_merge
    functionSourceFile: /src/postgis/postgis/brin_2d.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - box2df_contains
    - Min
    - Max
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom2d_brin_inclusion_merge(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:38,1
    - Dst: data__geometry__init
      Src: /src/postgis/postgis/geobuf.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - Data__Geometry__Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: galloc
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - data__geometry__init
    linkageType: ''
    returnType: Data__Geometry
    signature: Data__Geometry *galloc(Data__Geometry__Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HeapTupleHeaderGetTypeId
      Src: /src/postgis/postgis/geobuf.c:46,1
    - Dst: HeapTupleHeaderGetTypMod
      Src: /src/postgis/postgis/geobuf.c:47,1
    - Dst: lookup_rowtype_tupdesc
      Src: /src/postgis/postgis/geobuf.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: get_tuple_desc
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - lookup_rowtype_tupdesc
    - HeapTupleHeaderGetTypeId
    - HeapTupleHeaderGetTypMod
    linkageType: ''
    returnType: TupleDesc
    signature: TupleDesc get_tuple_desc(struct geobuf_agg_context *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_tuple_desc
      Src: /src/postgis/postgis/geobuf.c:54,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:56,1
    - Dst: getBaseType
      Src: /src/postgis/postgis/geobuf.c:60,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/geobuf.c:60,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/geobuf.c:61,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/geobuf.c:62,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/geobuf.c:64,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:70,1
    - Dst: elog
      Src: /src/postgis/postgis/geobuf.c:79,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/geobuf.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: encode_keys
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - strcmp
    - getBaseType
    - postgis_oid
    - pstrdup
    - get_tuple_desc
    - TupleDescAttr
    - elog
    - ReleaseTupleDesc
    linkageType: ''
    returnType: void
    signature: void encode_keys(struct geobuf_agg_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llabs
      Src: /src/postgis/postgis/geobuf.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - intval
    argTypes:
    - Data__Value*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: set_int_value
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - llabs
    linkageType: ''
    returnType: void
    signature: void set_int_value(Data__Value *value, int64 intval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_tuple_desc
      Src: /src/postgis/postgis/geobuf.c:102,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:104,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:105,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:118,1
    - Dst: data__value__init
      Src: /src/postgis/postgis/geobuf.c:119,1
    - Dst: SPI_gettype
      Src: /src/postgis/postgis/geobuf.c:121,1
    - Dst: GetAttributeByNum
      Src: /src/postgis/postgis/geobuf.c:122,1
    - Dst: getBaseType
      Src: /src/postgis/postgis/geobuf.c:126,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/geobuf.c:126,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:128,1
    - Dst: set_int_value
      Src: /src/postgis/postgis/geobuf.c:129,1
    - Dst: DatumGetInt16
      Src: /src/postgis/postgis/geobuf.c:129,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:130,1
    - Dst: set_int_value
      Src: /src/postgis/postgis/geobuf.c:131,1
    - Dst: DatumGetInt32
      Src: /src/postgis/postgis/geobuf.c:131,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:132,1
    - Dst: set_int_value
      Src: /src/postgis/postgis/geobuf.c:133,1
    - Dst: DatumGetInt64
      Src: /src/postgis/postgis/geobuf.c:133,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:134,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/postgis/geobuf.c:136,1
    - Dst: strcmp
      Src: /src/postgis/postgis/geobuf.c:137,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/geobuf.c:139,1
    - Dst: getTypeOutputInfo
      Src: /src/postgis/postgis/geobuf.c:143,1
    - Dst: OidOutputFunctionCall
      Src: /src/postgis/postgis/geobuf.c:144,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/geobuf.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - feature
    argTypes:
    - struct geobuf_agg_context*
    - Data__Feature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 159
    functionName: encode_properties
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcmp
    - getBaseType
    - get_tuple_desc
    - DatumGetInt32
    - TupleDescAttr
    - DatumGetFloat4
    - DatumGetInt16
    - DatumGetFloat8
    - ReleaseTupleDesc
    - OidOutputFunctionCall
    - SPI_gettype
    - DatumGetInt64
    - set_int_value
    - data__value__init
    - GetAttributeByNum
    - getTypeOutputInfo
    linkageType: ''
    returnType: void
    signature: "void encode_properties(struct geobuf_agg_context *ctx,\n\tData__Feature
      *feature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:169,1
    - Dst: repalloc
      Src: /src/postgis/postgis/geobuf.c:171,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/geobuf.c:176,1
    - Dst: ceil
      Src: /src/postgis/postgis/geobuf.c:177,1
    - Dst: ceil
      Src: /src/postgis/postgis/geobuf.c:178,1
    - Dst: ceil
      Src: /src/postgis/postgis/geobuf.c:180,1
    - Dst: ceil
      Src: /src/postgis/postgis/geobuf.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - pa
    - coords
    - len
    - offset
    argTypes:
    - struct geobuf_agg_context*
    - POINTARRAY*
    - int64_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 185
    functionName: encode_coords
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - ceil
    - repalloc
    - getPoint4d_p
    linkageType: ''
    returnType: int64_t
    signature: "int64_t *encode_coords(struct geobuf_agg_context *ctx, POINTARRAY
      *pa,\n\tint64_t *coords, int len, int offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:194,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - lwpoint
    argTypes:
    - struct geobuf_agg_context*
    - LWPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: encode_point
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_point(struct geobuf_agg_context *ctx,\n\tLWPOINT
      *lwpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:215,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/postgis/geobuf.c:222,1
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/geobuf.c:226,1
    - Dst: ptarray_append_point
      Src: /src/postgis/postgis/geobuf.c:227,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - lwmpoint
    argTypes:
    - struct geobuf_agg_context*
    - LWMPOINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: encode_mpoint
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - ptarray_construct_empty
    - encode_coords
    - ptarray_append_point
    - galloc
    - getPoint4d_p
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_mpoint(struct geobuf_agg_context *ctx,\n\tLWMPOINT
      *lwmpoint)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:242,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - lwline
    argTypes:
    - struct geobuf_agg_context*
    - LWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 253
    functionName: encode_line
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_line(struct geobuf_agg_context *ctx,\n\tLWLINE
      *lwline)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:258,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - lwtri
    argTypes:
    - struct geobuf_agg_context*
    - LWTRIANGLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: encode_triangle
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: 'Data__Geometry *

      encode_triangle(struct geobuf_agg_context *ctx, LWTRIANGLE *lwtri)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:281,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:288,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - lwmline
    argTypes:
    - struct geobuf_agg_context*
    - LWMLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 307
    functionName: encode_mline
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_mline(struct geobuf_agg_context *ctx,\n\tLWMLINE
      *lwmline)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:318,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:325,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - lwpoly
    argTypes:
    - struct geobuf_agg_context*
    - LWPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 345
    functionName: encode_poly
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_poly(struct geobuf_agg_context *ctx,\n\tLWPOLY
      *lwpoly)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:356,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:370,1
    - Dst: encode_coords
      Src: /src/postgis/postgis/geobuf.c:381,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - lwmpoly
    argTypes:
    - struct geobuf_agg_context*
    - LWMPOLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 396
    functionName: encode_mpoly
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - galloc
    - encode_coords
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_mpoly(struct geobuf_agg_context *ctx,\n\tLWMPOLY*
      lwmpoly)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: galloc
      Src: /src/postgis/postgis/geobuf.c:404,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:411,1
    - Dst: encode_geometry
      Src: /src/postgis/postgis/geobuf.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - lwcollection
    argTypes:
    - struct geobuf_agg_context*
    - LWCOLLECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: encode_collection
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - encode_geometry
    - galloc
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_collection(struct geobuf_agg_context *ctx,\n\tLWCOLLECTION*
      lwcollection)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/postgis/postgis/geobuf.c:431,1
    - Dst: encode_line
      Src: /src/postgis/postgis/geobuf.c:433,1
    - Dst: encode_triangle
      Src: /src/postgis/postgis/geobuf.c:435,1
    - Dst: encode_poly
      Src: /src/postgis/postgis/geobuf.c:437,1
    - Dst: encode_mpoint
      Src: /src/postgis/postgis/geobuf.c:439,1
    - Dst: encode_mline
      Src: /src/postgis/postgis/geobuf.c:441,1
    - Dst: encode_mpoly
      Src: /src/postgis/postgis/geobuf.c:443,1
    - Dst: encode_collection
      Src: /src/postgis/postgis/geobuf.c:446,1
    - Dst: elog
      Src: /src/postgis/postgis/geobuf.c:448,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/geobuf.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - lwgeom
    argTypes:
    - struct geobuf_agg_context*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 452
    functionName: encode_geometry
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - encode_poly
    - encode_collection
    - encode_point
    - encode_mline
    - elog
    - encode_mpoly
    - encode_mpoint
    - lwtype_name
    - encode_line
    - encode_triangle
    linkageType: ''
    returnType: Data__Geometry
    signature: "Data__Geometry *encode_geometry(struct geobuf_agg_context *ctx,\n\tLWGEOM
      *lwgeom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/postgis/geobuf.c:456,1
    - Dst: round
      Src: /src/postgis/postgis/geobuf.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct geobuf_agg_context*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: analyze_val
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - fabs
    - round
    linkageType: ''
    returnType: void
    signature: void analyze_val(struct geobuf_agg_context *ctx, double val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPoint4d_p
      Src: /src/postgis/postgis/geobuf.c:466,1
    - Dst: analyze_val
      Src: /src/postgis/postgis/geobuf.c:467,1
    - Dst: analyze_val
      Src: /src/postgis/postgis/geobuf.c:468,1
    - Dst: analyze_val
      Src: /src/postgis/postgis/geobuf.c:470,1
    - Dst: analyze_val
      Src: /src/postgis/postgis/geobuf.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pa
    argTypes:
    - struct geobuf_agg_context*
    - POINTARRAY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 474
    functionName: analyze_pa
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - getPoint4d_p
    - analyze_val
    linkageType: ''
    returnType: void
    signature: void analyze_pa(struct geobuf_agg_context *ctx, POINTARRAY *pa)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: analyze_pa
      Src: /src/postgis/postgis/geobuf.c:489,1
    - Dst: analyze_pa
      Src: /src/postgis/postgis/geobuf.c:494,1
    - Dst: analyze_geometry
      Src: /src/postgis/postgis/geobuf.c:503,1
    - Dst: elog
      Src: /src/postgis/postgis/geobuf.c:506,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/geobuf.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - lwgeom
    argTypes:
    - struct geobuf_agg_context*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 509
    functionName: analyze_geometry
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - lwtype_name
    - elog
    - analyze_geometry
    - analyze_pa
    linkageType: ''
    returnType: void
    signature: void analyze_geometry(struct geobuf_agg_context *ctx, LWGEOM *lwgeom)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/geobuf.c:516,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/geobuf.c:516,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/geobuf.c:518,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/postgis/geobuf.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - lwgeom
    argTypes:
    - struct geobuf_agg_context*
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 524
    functionName: analyze_geometry_flags
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - lwgeom_has_z
    - lwgeom_has_m
    linkageType: ''
    returnType: void
    signature: "void analyze_geometry_flags(struct geobuf_agg_context *ctx,\n\tLWGEOM
      *lwgeom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:530,1
    - Dst: data__feature__init
      Src: /src/postgis/postgis/geobuf.c:531,1
    - Dst: encode_properties
      Src: /src/postgis/postgis/geobuf.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: encode_feature
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - data__feature__init
    - encode_properties
    linkageType: ''
    returnType: Data__Feature
    signature: Data__Feature *encode_feature(struct geobuf_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:552,1
    - Dst: data__init
      Src: /src/postgis/postgis/geobuf.c:553,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:555,1
    - Dst: data__feature_collection__init
      Src: /src/postgis/postgis/geobuf.c:556,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:558,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 568
    functionName: geobuf_agg_init_context
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - data__feature_collection__init
    - data__init
    linkageType: ''
    returnType: void
    signature: void geobuf_agg_init_context(struct geobuf_agg_context *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: repalloc
      Src: /src/postgis/postgis/geobuf.c:588,1
    - Dst: repalloc
      Src: /src/postgis/postgis/geobuf.c:590,1
    - Dst: encode_keys
      Src: /src/postgis/postgis/geobuf.c:597,1
    - Dst: GetAttributeByNum
      Src: /src/postgis/postgis/geobuf.c:599,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/geobuf.c:603,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geobuf.c:604,1
    - Dst: encode_feature
      Src: /src/postgis/postgis/geobuf.c:606,1
    - Dst: analyze_geometry_flags
      Src: /src/postgis/postgis/geobuf.c:610,1
    - Dst: analyze_geometry
      Src: /src/postgis/postgis/geobuf.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 577
    functionDepth: 6
    functionLinenumber: 577
    functionLinenumberEnd: 616
    functionName: geobuf_agg_transfn
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 2
    functionsReached:
    - encode_keys
    - lwgeom_from_gserialized
    - analyze_geometry_flags
    - repalloc
    - PG_DETOAST_DATUM_COPY
    - analyze_geometry
    - encode_feature
    - GetAttributeByNum
    linkageType: ''
    returnType: void
    signature: void geobuf_agg_transfn(struct geobuf_agg_context *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/postgis/postgis/geobuf.c:642,1
    - Dst: log
      Src: /src/postgis/postgis/geobuf.c:642,1
    - Dst: log
      Src: /src/postgis/postgis/geobuf.c:642,1
    - Dst: encode_geometry
      Src: /src/postgis/postgis/geobuf.c:649,1
    - Dst: data__get_packed_size
      Src: /src/postgis/postgis/geobuf.c:651,1
    - Dst: palloc
      Src: /src/postgis/postgis/geobuf.c:652,1
    - Dst: data__pack
      Src: /src/postgis/postgis/geobuf.c:653,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/geobuf.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct geobuf_agg_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 623
    functionDepth: 6
    functionLinenumber: 623
    functionLinenumberEnd: 658
    functionName: geobuf_agg_finalfn
    functionSourceFile: /src/postgis/postgis/geobuf.c
    functionUses: 2
    functionsReached:
    - palloc
    - encode_geometry
    - data__pack
    - ceil
    - log
    - SET_VARSIZE
    - data__get_packed_size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *geobuf_agg_finalfn(struct geobuf_agg_context *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - aggcontext
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: GetAggContext
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetAggContext(aggcontext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: CheckAggContext
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CheckAggContext()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/lwgeom_union.c:47,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_union.c:49,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_union.c:50,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_union.c:51,1
    - Dst: GetAggContext
      Src: /src/postgis/postgis/lwgeom_union.c:54,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_union.c:57,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:58,1
    - Dst: state_create
      Src: /src/postgis/postgis/lwgeom_union.c:59,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:60,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:64,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_union.c:68,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_union.c:69,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/lwgeom_union.c:72,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_union.c:72,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_union.c:74,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:81,1
    - Dst: state_append
      Src: /src/postgis/postgis/lwgeom_union.c:82,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:83,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: pgis_geometry_union_parallel_transfn
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - ereport
    - state_append
    - errcode
    - get_fn_expr_argtype
    - state_create
    - PG_NARGS
    - PG_ARGISNULL
    - PG_GETARG_GSERIALIZED_P
    - errmsg
    - MemoryContextSwitchTo
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - GetAggContext
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_union_parallel_transfn(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_union.c:97,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:98,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_union.c:99,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:100,1
    - Dst: GetAggContext
      Src: /src/postgis/postgis/lwgeom_union.c:102,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:106,1
    - Dst: state_combine
      Src: /src/postgis/postgis/lwgeom_union.c:107,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_union.c:108,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:109,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_union.c:117,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 119
    functionName: pgis_geometry_union_parallel_combinefn
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwfree
    - state_combine
    - MemoryContextSwitchTo
    - PG_RETURN_POINTER
    - GetAggContext
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_union_parallel_combinefn(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggContext
      Src: /src/postgis/postgis/lwgeom_union.c:127,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:129,1
    - Dst: PG_RETURN_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_union.c:130,1
    - Dst: state_serialize
      Src: /src/postgis/postgis/lwgeom_union.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: pgis_geometry_union_parallel_serialfn
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - state_serialize
    - CheckAggContext
    - PG_RETURN_BYTEA_P
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_union_parallel_serialfn(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetAggContext
      Src: /src/postgis/postgis/lwgeom_union.c:141,1
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/postgis/lwgeom_union.c:143,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:145,1
    - Dst: state_deserialize
      Src: /src/postgis/postgis/lwgeom_union.c:146,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_union.c:147,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: pgis_geometry_union_parallel_deserialfn
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached:
    - GetAggContext
    - PG_GETARG_BYTEA_P
    - state_deserialize
    - MemoryContextSwitchTo
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_union_parallel_deserialfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggContext
      Src: /src/postgis/postgis/lwgeom_union.c:159,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:161,1
    - Dst: gserialized_list_union
      Src: /src/postgis/postgis/lwgeom_union.c:162,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_union.c:164,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_union.c:165,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_union.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 7
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: pgis_geometry_union_parallel_finalfn
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - gserialized_list_union
    - geometry_serialize
    - CheckAggContext
    - PG_RETURN_NULL
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum pgis_geometry_union_parallel_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_union.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: state_create
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - lwalloc
    linkageType: ''
    returnType: UnionState
    signature: UnionState * state_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_union.c:183,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_union.c:184,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:184,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_union.c:185,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:185,1
    - Dst: lappend
      Src: /src/postgis/postgis/lwgeom_union.c:187,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - state
    - gser
    argTypes:
    - UnionState*
    - GSERIALIZED*
    assertStmts:
    - condition: (gser)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/postgis/postgis/lwgeom_union.c
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: state_append
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - assert
    - VARSIZE
    - lappend
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void state_append(UnionState *state, const GSERIALIZED *gser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_union.c:195,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:199,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_union.c:200,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_union.c:203,1
    - Dst: foreach
      Src: /src/postgis/postgis/lwgeom_union.c:207,1
    - Dst: lfirst
      Src: /src/postgis/postgis/lwgeom_union.c:209,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_union.c:210,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_union.c:211,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:211,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - UnionState*
    assertStmts:
    - condition: (gser)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/postgis/postgis/lwgeom_union.c
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: state_serialize
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - assert
    - VARSIZE
    - lfirst
    - lwalloc
    - foreach
    - VARDATA
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: bytea
    signature: bytea * state_serialize(const UnionState *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: state_create
      Src: /src/postgis/postgis/lwgeom_union.c:221,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_union.c:222,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:223,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_union.c:226,1
    - Dst: state_append
      Src: /src/postgis/postgis/lwgeom_union.c:233,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/lwgeom_union.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - bytea*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: state_deserialize
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - state_append
    - state_create
    - VARSIZE
    - VARDATA
    - memcpy
    linkageType: ''
    returnType: UnionState
    signature: UnionState * state_deserialize(const bytea* serialized)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_union.c:246,1
    - Dst: list_concat
      Src: /src/postgis/postgis/lwgeom_union.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - state1
    - state2
    argTypes:
    - UnionState*
    - UnionState*
    assertStmts:
    - condition: (state1 && state2)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/postgis/postgis/lwgeom_union.c
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: state_combine
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - list_concat
    - assert
    linkageType: ''
    returnType: void
    signature: void state_combine(UnionState *state1, UnionState *state2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_length
      Src: /src/postgis/postgis/lwgeom_union.c:278,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_union.c:281,1
    - Dst: list_length
      Src: /src/postgis/postgis/lwgeom_union.c:281,1
    - Dst: lfirst
      Src: /src/postgis/postgis/lwgeom_union.c:287,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_union.c:288,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_union.c:289,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_union.c:291,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_union.c:296,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_union.c:297,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_union.c:303,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_union.c:307,1
    - Dst: lwcollection_construct
      Src: /src/postgis/postgis/lwgeom_union.c:316,1
    - Dst: lwgeom_unaryunion_prec
      Src: /src/postgis/postgis/lwgeom_union.c:317,1
    - Dst: lwcollection_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_union.c:317,1
    - Dst: lwcollection_free
      Src: /src/postgis/postgis/lwgeom_union.c:319,1
    - Dst: lwgeom_construct_empty
      Src: /src/postgis/postgis/lwgeom_union.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - list
    - gridSize
    argTypes:
    - List*
    - float8
    assertStmts:
    - condition: (gser)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/postgis/postgis/lwgeom_union.c
    constantsTouched: []
    func_position:
      end: 330
      start: 268
    functionDepth: 11
    functionLinenumber: 268
    functionLinenumberEnd: 330
    functionName: gserialized_list_union
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 1
    functionsReached:
    - assert
    - lwcollection_as_lwgeom
    - lwgeom_get_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - list_length
    - lwgeom_construct_empty
    - lwcollection_free
    - lwgeom_has_z
    - lwcollection_construct
    - lwgeom_get_type
    - lwalloc
    - lfirst
    - lwgeom_unaryunion_prec
    linkageType: ''
    returnType: LWGEOM
    signature: LWGEOM * gserialized_list_union(List* list, float8 gridSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lfirst
      Src: /src/postgis/postgis/lwgeom_union.c:287,1
    - Dst: assert
      Src: /src/postgis/postgis/lwgeom_union.c:288,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_union.c:289,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_union.c:291,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_union.c:296,1
    - Dst: lwgeom_has_z
      Src: /src/postgis/postgis/lwgeom_union.c:297,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/lwgeom_union.c:303,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_union.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (gser)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/postgis/postgis/lwgeom_union.c
    constantsTouched: []
    func_position:
      end: 309
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 309
    functionName: foreach
    functionSourceFile: /src/postgis/postgis/lwgeom_union.c
    functionUses: 3
    functionsReached:
    - assert
    - lwgeom_get_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_has_z
    - lwgeom_get_type
    - lfirst
    linkageType: ''
    returnType: void
    signature: void foreach (cell, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/postgis/gserialized_estimate.c:300,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/postgis/gserialized_estimate.c:302,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/postgis/gserialized_estimate.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - gbox
    argTypes:
    - GBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: gbox_ndims
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - FLAGS_GET_M
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: int
    signature: int gbox_ndims(const GBOX* gbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/gserialized_estimate.c:319,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/gserialized_estimate.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: text_p_get_mode
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - VARSIZE_ANY_EXHDR
    - VARDATA
    linkageType: ''
    returnType: int
    signature: int text_p_get_mode(const text *txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: cmp_int
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_int (const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/postgis/postgis/gserialized_estimate.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: range_full
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: int
    signature: int range_full(int *vals, int nvals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: total_double
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double total_double(const double *vals, int nvals)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: total_int
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int total_int(const int *vals, int nvals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: total_int
      Src: /src/postgis/postgis/gserialized_estimate.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: avg
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - total_int
    linkageType: ''
    returnType: double
    signature: double avg(const int *vals, int nvals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avg
      Src: /src/postgis/postgis/gserialized_estimate.c:416,1
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_estimate.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vals
    - nvals
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: stddev
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - avg
    - sqrt
    linkageType: ''
    returnType: double
    signature: double stddev(const int *vals, int nvals)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stats
    - indexes
    argTypes:
    - ND_STATS*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 453
    functionName: nd_stats_value_index
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: int
    signature: int nd_stats_value_index(const ND_STATS *stats, int *indexes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/postgis/gserialized_estimate.c:463,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:465,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:468,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:469,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:471,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:474,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:475,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:477,1
    - Dst: stringbuffer_getstringcopy
      Src: /src/postgis/postgis/gserialized_estimate.c:479,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/gserialized_estimate.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - nd_box
    - ndims
    argTypes:
    - ND_BOX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 482
    functionName: nd_box_to_json
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - stringbuffer_destroy
    - stringbuffer_getstringcopy
    - stringbuffer_aprintf
    - stringbuffer_create
    - stringbuffer_append
    linkageType: ''
    returnType: char
    signature: 'char *

      nd_box_to_json(const ND_BOX *nd_box, int ndims)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringbuffer_create
      Src: /src/postgis/postgis/gserialized_estimate.c:494,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:495,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:497,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:498,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:501,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:504,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:505,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:505,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:507,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:510,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:511,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:512,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:514,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:514,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:515,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:515,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:516,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:516,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:517,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:517,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:518,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:518,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:519,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:519,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:520,1
    - Dst: stringbuffer_getstringcopy
      Src: /src/postgis/postgis/gserialized_estimate.c:522,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/gserialized_estimate.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - nd_stats
    argTypes:
    - ND_STATS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 525
    functionName: nd_stats_to_json
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - roundf
    - stringbuffer_destroy
    - stringbuffer_getstringcopy
    - stringbuffer_aprintf
    - pfree
    - stringbuffer_create
    - nd_box_to_json
    - stringbuffer_append
    linkageType: ''
    returnType: char
    signature: 'char *

      nd_stats_to_json(const ND_STATS *nd_stats)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:538,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:539,1
    - Dst: stringbuffer_create
      Src: /src/postgis/postgis/gserialized_estimate.c:540,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:546,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:546,1
    - Dst: stringbuffer_append
      Src: /src/postgis/postgis/gserialized_estimate.c:548,1
    - Dst: stringbuffer_getstringcopy
      Src: /src/postgis/postgis/gserialized_estimate.c:551,1
    - Dst: stringbuffer_destroy
      Src: /src/postgis/postgis/gserialized_estimate.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ND_STATS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 554
    functionName: nd_stats_to_grid
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - roundf
    - stringbuffer_destroy
    - stringbuffer_getstringcopy
    - stringbuffer_aprintf
    - stringbuffer_create
    - stringbuffer_append
    linkageType: ''
    returnType: char
    signature: 'char *

      nd_stats_to_grid(const ND_STATS *stats)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:564,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - ND_BOX*
    - ND_BOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: nd_box_merge
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - Max
    - Min
    linkageType: ''
    returnType: int
    signature: int nd_box_merge(const ND_BOX *source, ND_BOX *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_estimate.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - ND_BOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: nd_box_init
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nd_box_init(ND_BOX *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - ND_BOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: nd_box_init_bounds
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_box_init_bounds(ND_BOX *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:600,1
    - Dst: gbox_to_string
      Src: /src/postgis/postgis/gserialized_estimate.c:600,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:602,1
    - Dst: FLAGS_GET_GEODETIC
      Src: /src/postgis/postgis/gserialized_estimate.c:609,1
    - Dst: FLAGS_GET_Z
      Src: /src/postgis/postgis/gserialized_estimate.c:615,1
    - Dst: FLAGS_GET_M
      Src: /src/postgis/postgis/gserialized_estimate.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - gbox
    - nd_box
    argTypes:
    - GBOX*
    - ND_BOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 628
    functionName: nd_box_from_gbox
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - FLAGS_GET_M
    - nd_box_init
    - gbox_to_string
    - FLAGS_GET_Z
    - FLAGS_GET_GEODETIC
    linkageType: ''
    returnType: void
    signature: void nd_box_from_gbox(const GBOX *gbox, ND_BOX *nd_box)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - ndims
    argTypes:
    - ND_BOX*
    - ND_BOX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 643
    functionName: nd_box_intersects
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_box_intersects(const ND_BOX *a, const ND_BOX *b, int ndims)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - ndims
    argTypes:
    - ND_BOX*
    - ND_BOX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 658
    functionName: nd_box_contains
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_box_contains(const ND_BOX *a, const ND_BOX *b, int ndims)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - nd_box
    - expansion_factor
    argTypes:
    - ND_BOX*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 679
    functionName: nd_box_expand
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_box_expand(ND_BOX *nd_box, double expansion_factor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:690,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:690,1
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_estimate.c:693,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:708,1
    - Dst: floor
      Src: /src/postgis/postgis/gserialized_estimate.c:711,1
    - Dst: floor
      Src: /src/postgis/postgis/gserialized_estimate.c:712,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:714,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:715,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:718,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - nd_stats
    - nd_box
    - nd_ibox
    argTypes:
    - ND_STATS*
    - ND_BOX*
    - ND_IBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 685
    functionDepth: 5
    functionLinenumber: 685
    functionLinenumberEnd: 723
    functionName: nd_box_overlap
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - roundf
    - memset
    - POSTGIS_DEBUGF
    - Min
    - nd_box_to_json
    - Max
    - floor
    linkageType: ''
    returnType: int
    signature: int nd_box_overlap(const ND_STATS *nd_stats, const ND_BOX *nd_box,
      ND_IBOX *nd_ibox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:755,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:756,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - b1
    - b2
    - ndims
    argTypes:
    - ND_BOX*
    - ND_BOX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 767
    functionName: nd_box_ratio
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - Max
    - Min
    linkageType: ''
    returnType: double
    signature: double nd_box_ratio(const ND_BOX *b1, const ND_BOX *b2, int ndims)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:801,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:801,1
    - Dst: palloc0
      Src: /src/postgis/postgis/gserialized_estimate.c:802,1
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_estimate.c:808,1
    - Dst: floor
      Src: /src/postgis/postgis/gserialized_estimate.c:847,1
    - Dst: floor
      Src: /src/postgis/postgis/gserialized_estimate.c:848,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:854,1
    - Dst: range_full
      Src: /src/postgis/postgis/gserialized_estimate.c:866,1
    - Dst: avg
      Src: /src/postgis/postgis/gserialized_estimate.c:869,1
    - Dst: stddev
      Src: /src/postgis/postgis/gserialized_estimate.c:870,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:873,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:874,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:875,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:876,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:882,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - nd_boxes
    - num_boxes
    - extent
    - ndims
    - distribution
    argTypes:
    - ND_BOX**
    - int
    - ND_BOX*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 885
    functionName: nd_box_array_distribution
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - memset
    - POSTGIS_DEBUGF
    - avg
    - stddev
    - pfree
    - Min
    - range_full
    - Max
    - palloc0
    - floor
    linkageType: ''
    returnType: int
    signature: int nd_box_array_distribution(const ND_BOX **nd_boxes, int num_boxes,
      const ND_BOX *extent, int ndims, double *distribution)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ibox
    - ndims
    - counter
    argTypes:
    - ND_IBOX*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 913
    functionName: nd_increment
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_increment(ND_IBOX *ibox, int ndims, int *counter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_attstatsslot
      Src: /src/postgis/postgis/gserialized_estimate.c:928,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:931,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_estimate.c:936,1
    - Dst: memcpy
      Src: /src/postgis/postgis/gserialized_estimate.c:937,1
    - Dst: free_attstatsslot
      Src: /src/postgis/postgis/gserialized_estimate.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - stats_tuple
    - mode
    argTypes:
    - HeapTuple
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 942
    functionName: pg_nd_stats_from_tuple
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_DEBUGF
    - free_attstatsslot
    - memcpy
    - get_attstatsslot
    linkageType: ''
    returnType: ND_STATS
    signature: 'ND_STATS *

      pg_nd_stats_from_tuple(HeapTuple stats_tuple, int mode)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:957,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:957,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:957,1
    - Dst: SearchSysCache3
      Src: /src/postgis/postgis/gserialized_estimate.c:958,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:958,1
    - Dst: Int16GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:958,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:958,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:960,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:960,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:960,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:965,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:965,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:965,1
    - Dst: SearchSysCache3
      Src: /src/postgis/postgis/gserialized_estimate.c:966,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:966,1
    - Dst: Int16GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:966,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:966,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:968,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:968,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:968,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:972,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:972,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:972,1
    - Dst: pg_nd_stats_from_tuple
      Src: /src/postgis/postgis/gserialized_estimate.c:976,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_estimate.c:977,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:980,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:982,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - table_oid
    - att_num
    - mode
    - only_parent
    argTypes:
    - Oid
    - AttrNumber
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 986
    functionName: pg_get_nd_stats
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - get_rel_name
    - POSTGIS_DEBUGF
    - BoolGetDatum
    - ReleaseSysCache
    - ObjectIdGetDatum
    - pg_nd_stats_from_tuple
    - Int16GetDatum
    - SearchSysCache3
    linkageType: ''
    returnType: ND_STATS
    signature: 'ND_STATS *

      pg_get_nd_stats(const Oid table_oid, AttrNumber att_num, int mode, bool only_parent)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:999,1
    - Dst: get_attnum
      Src: /src/postgis/postgis/gserialized_estimate.c:1006,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:1008,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:1014,1
    - Dst: pg_get_nd_stats
      Src: /src/postgis/postgis/gserialized_estimate.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - table_oid
    - att_text
    - mode
    - only_parent
    argTypes:
    - Oid
    - text*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1019
    functionName: pg_get_nd_stats_by_name
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - text_to_cstring
    - get_attnum
    - pg_get_nd_stats
    - elog
    linkageType: ''
    returnType: ND_STATS
    signature: 'ND_STATS *

      pg_get_nd_stats_by_name(const Oid table_oid, const text *att_text, int mode,
      bool only_parent)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:1061,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1066,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1067,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1077,1
    - Dst: nd_stats_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1077,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1078,1
    - Dst: nd_stats_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1078,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1081,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1082,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1091,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1092,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:1093,1
    - Dst: nd_box_intersects
      Src: /src/postgis/postgis/gserialized_estimate.c:1100,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1102,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:1103,1
    - Dst: nd_box_overlap
      Src: /src/postgis/postgis/gserialized_estimate.c:1110,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1112,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:1113,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1122,1
    - Dst: roundf
      Src: /src/postgis/postgis/gserialized_estimate.c:1131,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1141,1
    - Dst: nd_box_overlap
      Src: /src/postgis/postgis/gserialized_estimate.c:1149,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1157,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1157,1
    - Dst: nd_stats_value_index
      Src: /src/postgis/postgis/gserialized_estimate.c:1160,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1170,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1177,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1177,1
    - Dst: nd_box_ratio
      Src: /src/postgis/postgis/gserialized_estimate.c:1180,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:1180,1
    - Dst: nd_stats_value_index
      Src: /src/postgis/postgis/gserialized_estimate.c:1183,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1184,1
    - Dst: nd_increment
      Src: /src/postgis/postgis/gserialized_estimate.c:1187,1
    - Dst: nd_increment
      Src: /src/postgis/postgis/gserialized_estimate.c:1190,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1192,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1203,1
    - Dst: isnan
      Src: /src/postgis/postgis/gserialized_estimate.c:1223,1
    - Dst: isfinite
      Src: /src/postgis/postgis/gserialized_estimate.c:1223,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - ND_STATS*
    - ND_STATS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1034
    functionDepth: 6
    functionLinenumber: 1034
    functionLinenumberEnd: 1233
    functionName: estimate_join_selectivity
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - roundf
    - POSTGIS_DEBUGF
    - nd_stats_to_json
    - elog
    - nd_box_ratio
    - nd_increment
    - isnan
    - nd_box_overlap
    - isfinite
    - nd_box_intersects
    - nd_box_to_json
    - Max
    - PG_RETURN_FLOAT8
    - nd_stats_value_index
    - nd_box_init
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: float8
    signature: float8 estimate_join_selectivity(const ND_STATS *s1, const ND_STATS
      *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1242,1
    - Dst: DirectFunctionCall5
      Src: /src/postgis/postgis/gserialized_estimate.c:1242,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1244,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1244,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1245,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1245,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1248
    functionName: gserialized_gist_joinsel_nd
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - DirectFunctionCall5
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_joinsel_nd(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1257,1
    - Dst: DirectFunctionCall5
      Src: /src/postgis/postgis/gserialized_estimate.c:1257,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1259,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1259,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1260,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:1260,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1263
    functionName: gserialized_gist_joinsel_2d
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - DirectFunctionCall5
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_joinsel_2d(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: linitial
      Src: /src/postgis/postgis/gserialized_estimate.c:1271,1
    - Dst: lsecond
      Src: /src/postgis/postgis/gserialized_estimate.c:1272,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1276,1
    - Dst: IsA
      Src: /src/postgis/postgis/gserialized_estimate.c:1280,1
    - Dst: IsA
      Src: /src/postgis/postgis/gserialized_estimate.c:1280,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1282,1
    - Dst: rt_fetch
      Src: /src/postgis/postgis/gserialized_estimate.c:1287,1
    - Dst: rt_fetch
      Src: /src/postgis/postgis/gserialized_estimate.c:1288,1
    - Dst: pg_get_nd_stats
      Src: /src/postgis/postgis/gserialized_estimate.c:1291,1
    - Dst: pg_get_nd_stats
      Src: /src/postgis/postgis/gserialized_estimate.c:1292,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1297,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:1297,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:1297,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1302,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:1302,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:1302,1
    - Dst: estimate_join_selectivity
      Src: /src/postgis/postgis/gserialized_estimate.c:1306,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1307,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:1308,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:1309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - root
    - args
    - jointype
    - mode
    argTypes:
    - PlannerInfo*
    - List*
    - JoinType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1265
    functionDepth: 7
    functionLinenumber: 1265
    functionLinenumberEnd: 1311
    functionName: gserialized_joinsel_internal
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 1
    functionsReached:
    - pg_get_nd_stats
    - get_rel_name
    - estimate_join_selectivity
    - POSTGIS_DEBUGF
    - lsecond
    - rt_fetch
    - linitial
    - pfree
    - IsA
    linkageType: ''
    returnType: double
    signature: double gserialized_joinsel_internal(PlannerInfo *root, List *args,
      JoinType jointype, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:1324,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:1326,1
    - Dst: PG_GETARG_INT16
      Src: /src/postgis/postgis/gserialized_estimate.c:1327,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_estimate.c:1328,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1330,1
    - Dst: list_length
      Src: /src/postgis/postgis/gserialized_estimate.c:1333,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1335,1
    - Dst: list_length
      Src: /src/postgis/postgis/gserialized_estimate.c:1335,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:1336,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1342,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:1343,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:1346,1
    - Dst: gserialized_joinsel_internal
      Src: /src/postgis/postgis/gserialized_estimate.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1322
    functionDepth: 8
    functionLinenumber: 1322
    functionLinenumberEnd: 1347
    functionName: gserialized_gist_joinsel
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - PG_GETARG_INT16
    - POSTGIS_DEBUGF
    - list_length
    - gserialized_joinsel_internal
    - PG_GETARG_INT32
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_joinsel(PG_FUNCTION_ARGS)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1405,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1406,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1407,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1408,1
    - Dst: nd_box_init
      Src: /src/postgis/postgis/gserialized_estimate.c:1409,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1417,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1418,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1419,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_estimate.c:1425,1
    - Dst: fetchfunc
      Src: /src/postgis/postgis/gserialized_estimate.c:1444,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1449,1
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/gserialized_estimate.c:1455,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1458,1
    - Dst: gbox_is_valid
      Src: /src/postgis/postgis/gserialized_estimate.c:1467,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1469,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:1478,1
    - Dst: gbox_ndims
      Src: /src/postgis/postgis/gserialized_estimate.c:1478,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_estimate.c:1481,1
    - Dst: nd_box_from_gbox
      Src: /src/postgis/postgis/gserialized_estimate.c:1482,1
    - Dst: nd_box_init_bounds
      Src: /src/postgis/postgis/gserialized_estimate.c:1489,1
    - Dst: nd_box_merge
      Src: /src/postgis/postgis/gserialized_estimate.c:1492,1
    - Dst: toast_raw_datum_size
      Src: /src/postgis/postgis/gserialized_estimate.c:1495,1
    - Dst: vacuum_delay_point
      Src: /src/postgis/postgis/gserialized_estimate.c:1509,1
    - Dst: vacuum_delay_point
      Src: /src/postgis/postgis/gserialized_estimate.c:1511,1
    - Dst: pow
      Src: /src/postgis/postgis/gserialized_estimate.c:1523,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1524,1
    - Dst: pow
      Src: /src/postgis/postgis/gserialized_estimate.c:1526,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1527,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:1529,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:1530,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1531,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1540,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1540,1
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_estimate.c:1559,1
    - Dst: sqrt
      Src: /src/postgis/postgis/gserialized_estimate.c:1560,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:1563,1
    - Dst: Min
      Src: /src/postgis/postgis/gserialized_estimate.c:1564,1
    - Dst: nd_box_init_bounds
      Src: /src/postgis/postgis/gserialized_estimate.c:1572,1
    - Dst: nd_box_intersects
      Src: /src/postgis/postgis/gserialized_estimate.c:1577,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1579,1
    - Dst: nd_box_merge
      Src: /src/postgis/postgis/gserialized_estimate.c:1584,1
    - Dst: nd_box_expand
      Src: /src/postgis/postgis/gserialized_estimate.c:1590,1
    - Dst: nd_box_array_distribution
      Src: /src/postgis/postgis/gserialized_estimate.c:1605,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1632,1
    - Dst: pow
      Src: /src/postgis/postgis/gserialized_estimate.c:1636,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1639,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1642,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1651,1
    - Dst: total_double
      Src: /src/postgis/postgis/gserialized_estimate.c:1652,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1653,1
    - Dst: pow
      Src: /src/postgis/postgis/gserialized_estimate.c:1670,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1677,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1682,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_estimate.c:1687,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_estimate.c:1689,1
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_estimate.c:1690,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/gserialized_estimate.c:1691,1
    - Dst: vacuum_delay_point
      Src: /src/postgis/postgis/gserialized_estimate.c:1731,1
    - Dst: vacuum_delay_point
      Src: /src/postgis/postgis/gserialized_estimate.c:1733,1
    - Dst: nd_box_overlap
      Src: /src/postgis/postgis/gserialized_estimate.c:1737,1
    - Dst: memset
      Src: /src/postgis/postgis/gserialized_estimate.c:1738,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1740,1
    - Dst: nd_box_ratio
      Src: /src/postgis/postgis/gserialized_estimate.c:1773,1
    - Dst: nd_stats_value_index
      Src: /src/postgis/postgis/gserialized_estimate.c:1774,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1776,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1777,1
    - Dst: nd_increment
      Src: /src/postgis/postgis/gserialized_estimate.c:1779,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1787,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1788,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1789,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1794,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:1795,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1826,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1827,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1828,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1829,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1830,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1831,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1832,1
    - Dst: nd_stats_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1832,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 190
    argCount: 5
    argNames:
    - stats
    - fetchfunc
    - sample_rows
    - total_rows
    - mode
    argTypes:
    - VacAttrStats*
    - AnalyzeAttrFetchFunc
    - int
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1367
    functionDepth: 9
    functionLinenumber: 1367
    functionLinenumberEnd: 1838
    functionName: compute_gserialized_stats_mode
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - vacuum_delay_point
    - fetchfunc
    - nd_box_expand
    - nd_box_overlap
    - nd_box_intersects
    - Max
    - sqrt
    - nd_box_init
    - nd_increment
    - gbox_is_valid
    - total_double
    - memset
    - nd_box_from_gbox
    - elog
    - nd_stats_to_json
    - gserialized_datum_get_gbox_p
    - nd_stats_value_index
    - nd_box_array_distribution
    - POSTGIS_DEBUGF
    - nd_box_ratio
    - nd_box_merge
    - pow
    - Min
    - nd_box_init_bounds
    - toast_raw_datum_size
    - palloc
    - gbox_ndims
    - POSTGIS_DEBUG
    - MemoryContextSwitchTo
    - nd_box_to_json
    linkageType: ''
    returnType: void
    signature: "void compute_gserialized_stats_mode(VacAttrStats *stats, AnalyzeAttrFetchFunc
      fetchfunc,\n                          int sample_rows, double total_rows, int
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GserializedAnalyzeExtraData*::std_compute_stats
      Src: /src/postgis/postgis/gserialized_estimate.c:1865,1
    - Dst: compute_gserialized_stats_mode
      Src: /src/postgis/postgis/gserialized_estimate.c:1869,1
    - Dst: compute_gserialized_stats_mode
      Src: /src/postgis/postgis/gserialized_estimate.c:1874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - stats
    - fetchfunc
    - sample_rows
    - total_rows
    argTypes:
    - VacAttrStats*
    - AnalyzeAttrFetchFunc
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1858
    functionDepth: 10
    functionLinenumber: 1858
    functionLinenumberEnd: 1876
    functionName: compute_gserialized_stats
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - compute_gserialized_stats_mode
    - GserializedAnalyzeExtraData*::std_compute_stats
    linkageType: ''
    returnType: void
    signature: "void compute_gserialized_stats(VacAttrStats *stats, AnalyzeAttrFetchFunc
      fetchfunc,\n                          int sample_rows, double total_rows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:1908,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_estimate.c:1910,1
    - Dst: std_typanalyze
      Src: /src/postgis/postgis/gserialized_estimate.c:1913,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_estimate.c:1914,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/gserialized_estimate.c:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1925
    functionName: gserialized_analyze_nd
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - std_typanalyze
    - palloc
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_analyze_nd(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:1956,1
    - Dst: Max
      Src: /src/postgis/postgis/gserialized_estimate.c:1960,1
    - Dst: gbox_ndims
      Src: /src/postgis/postgis/gserialized_estimate.c:1960,1
    - Dst: nd_box_from_gbox
      Src: /src/postgis/postgis/gserialized_estimate.c:1963,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1970,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1973,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1977,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1977,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:1978,1
    - Dst: nd_box_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:1978,1
    - Dst: gbox_ndims
      Src: /src/postgis/postgis/gserialized_estimate.c:1978,1
    - Dst: nd_box_intersects
      Src: /src/postgis/postgis/gserialized_estimate.c:1989,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1991,1
    - Dst: nd_box_contains
      Src: /src/postgis/postgis/gserialized_estimate.c:1996,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:1998,1
    - Dst: nd_box_overlap
      Src: /src/postgis/postgis/gserialized_estimate.c:2003,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_estimate.c:2005,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2016,1
    - Dst: nd_box_ratio
      Src: /src/postgis/postgis/gserialized_estimate.c:2035,1
    - Dst: nd_stats_value_index
      Src: /src/postgis/postgis/gserialized_estimate.c:2036,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2040,1
    - Dst: nd_increment
      Src: /src/postgis/postgis/gserialized_estimate.c:2042,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2047,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2048,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2049,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2050,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 3
    argNames:
    - box
    - nd_stats
    - mode
    argTypes:
    - GBOX*
    - ND_STATS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 1939
    functionDepth: 6
    functionLinenumber: 1939
    functionLinenumberEnd: 2057
    functionName: estimate_selectivity
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - nd_box_contains
    - gbox_ndims
    - POSTGIS_DEBUGF
    - nd_box_from_gbox
    - elog
    - nd_box_ratio
    - nd_box_intersects
    - nd_box_overlap
    - POSTGIS_DEBUG
    - nd_box_to_json
    - Max
    - nd_stats_value_index
    - nd_increment
    linkageType: ''
    returnType: float8
    signature: float8 estimate_selectivity(const GBOX *box, const ND_STATS *nd_stats,
      int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_OID
      Src: /src/postgis/postgis/gserialized_estimate.c:2068,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2069,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2077,1
    - Dst: text_p_get_mode
      Src: /src/postgis/postgis/gserialized_estimate.c:2078,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2078,1
    - Dst: pg_get_nd_stats_by_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2081,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2083,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2083,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2083,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2086,1
    - Dst: nd_stats_to_grid
      Src: /src/postgis/postgis/gserialized_estimate.c:2086,1
    - Dst: nd_stats_to_json
      Src: /src/postgis/postgis/gserialized_estimate.c:2087,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/gserialized_estimate.c:2088,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2089,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2090,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2066
    functionDepth: 6
    functionLinenumber: 2066
    functionLinenumberEnd: 2093
    functionName: _postgis_gserialized_stats
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - get_rel_name
    - nd_stats_to_grid
    - elog
    - nd_stats_to_json
    - PG_ARGISNULL
    - text_p_get_mode
    - pg_get_nd_stats_by_name
    - PG_GETARG_OID
    - text_to_cstring
    - pfree
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_GETARG_TEXT_P
    linkageType: ''
    returnType: Datum
    signature: Datum _postgis_gserialized_stats(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_OID
      Src: /src/postgis/postgis/gserialized_estimate.c:2103,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2104,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2105,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2112,1
    - Dst: text_p_get_mode
      Src: /src/postgis/postgis/gserialized_estimate.c:2113,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2113,1
    - Dst: pg_get_nd_stats_by_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2116,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2119,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2119,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2119,1
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/gserialized_estimate.c:2122,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2123,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2125,1
    - Dst: gbox_to_string
      Src: /src/postgis/postgis/gserialized_estimate.c:2125,1
    - Dst: estimate_selectivity
      Src: /src/postgis/postgis/gserialized_estimate.c:2128,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2130,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:2131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2101
    functionDepth: 9
    functionLinenumber: 2101
    functionLinenumberEnd: 2132
    functionName: _postgis_gserialized_sel
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - get_rel_name
    - POSTGIS_DEBUGF
    - PG_GETARG_DATUM
    - elog
    - text_p_get_mode
    - PG_ARGISNULL
    - PG_GETARG_OID
    - pg_get_nd_stats_by_name
    - text_to_cstring
    - pfree
    - PG_RETURN_FLOAT8
    - PG_GETARG_TEXT_P
    - gserialized_datum_get_gbox_p
    - estimate_selectivity
    - gbox_to_string
    linkageType: ''
    returnType: Datum
    signature: Datum _postgis_gserialized_sel(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_OID
      Src: /src/postgis/postgis/gserialized_estimate.c:2142,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2143,1
    - Dst: PG_GETARG_OID
      Src: /src/postgis/postgis/gserialized_estimate.c:2144,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2145,1
    - Dst: pg_get_nd_stats_by_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2152,1
    - Dst: pg_get_nd_stats_by_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2153,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2156,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2156,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2156,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2159,1
    - Dst: get_rel_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2159,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2159,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2162,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2164,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2165,1
    - Dst: estimate_join_selectivity
      Src: /src/postgis/postgis/gserialized_estimate.c:2171,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2173,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2174,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:2175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2140
    functionDepth: 7
    functionLinenumber: 2140
    functionLinenumberEnd: 2176
    functionName: _postgis_gserialized_joinsel
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - get_rel_name
    - estimate_join_selectivity
    - elog
    - PG_GETARG_OID
    - PG_ARGISNULL
    - pg_get_nd_stats_by_name
    - text_to_cstring
    - pfree
    - PG_GETARG_TEXT_P
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum _postgis_gserialized_joinsel(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2185,1
    - Dst: DirectFunctionCall5
      Src: /src/postgis/postgis/gserialized_estimate.c:2185,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2187,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2187,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2188,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2188,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2191
    functionName: gserialized_gist_sel_2d
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - DirectFunctionCall5
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_sel_2d(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2200,1
    - Dst: DirectFunctionCall5
      Src: /src/postgis/postgis/gserialized_estimate.c:2200,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2202,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2202,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2203,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2203,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2206
    functionName: gserialized_gist_sel_nd
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    - DirectFunctionCall5
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_sel_nd(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2235,1
    - Dst: get_restriction_variable
      Src: /src/postgis/postgis/gserialized_estimate.c:2237,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2239,1
    - Dst: IsA
      Src: /src/postgis/postgis/gserialized_estimate.c:2243,1
    - Dst: ReleaseVariableStats
      Src: /src/postgis/postgis/gserialized_estimate.c:2245,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2246,1
    - Dst: ReleaseVariableStats
      Src: /src/postgis/postgis/gserialized_estimate.c:2253,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2254,1
    - Dst: gserialized_datum_get_gbox_p
      Src: /src/postgis/postgis/gserialized_estimate.c:2258,1
    - Dst: ReleaseVariableStats
      Src: /src/postgis/postgis/gserialized_estimate.c:2260,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2261,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2267,1
    - Dst: pg_nd_stats_from_tuple
      Src: /src/postgis/postgis/gserialized_estimate.c:2271,1
    - Dst: ReleaseVariableStats
      Src: /src/postgis/postgis/gserialized_estimate.c:2272,1
    - Dst: estimate_selectivity
      Src: /src/postgis/postgis/gserialized_estimate.c:2273,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - root
    - args
    - varRelid
    - mode
    argTypes:
    - PlannerInfo*
    - List*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2223
    functionDepth: 9
    functionLinenumber: 2223
    functionLinenumberEnd: 2278
    functionName: gserialized_sel_internal
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 1
    functionsReached:
    - ReleaseVariableStats
    - POSTGIS_DEBUGF
    - get_restriction_variable
    - pfree
    - IsA
    - estimate_selectivity
    - gserialized_datum_get_gbox_p
    - pg_nd_stats_from_tuple
    linkageType: ''
    returnType: float8
    signature: float8 gserialized_sel_internal(PlannerInfo *root, List *args, int
      varRelid, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:2283,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:2285,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_estimate.c:2286,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_estimate.c:2287,1
    - Dst: gserialized_sel_internal
      Src: /src/postgis/postgis/gserialized_estimate.c:2288,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_estimate.c:2289,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/postgis/gserialized_estimate.c:2290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2281
    functionDepth: 10
    functionLinenumber: 2281
    functionLinenumberEnd: 2291
    functionName: gserialized_gist_sel
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - POSTGIS_DEBUGF
    - PG_GETARG_INT32
    - gserialized_sel_internal
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_gist_sel(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SearchSysCache1
      Src: /src/postgis/postgis/gserialized_estimate.c:2309,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2309,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/postgis/gserialized_estimate.c:2310,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2311,1
    - Dst: GETSTRUCT
      Src: /src/postgis/postgis/gserialized_estimate.c:2313,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2317,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_estimate.c:2328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - index_oid
    - table_oid
    - table_attnum
    argTypes:
    - Oid
    - Oid
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2330
    functionName: index_has_attr
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - elog
    - ReleaseSysCache
    - ObjectIdGetDatum
    - SearchSysCache1
    - HeapTupleIsValid
    - GETSTRUCT
    linkageType: ''
    returnType: int16
    signature: int16 index_has_attr(Oid index_oid, Oid table_oid, int16 table_attnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SearchSysCache1
      Src: /src/postgis/postgis/gserialized_estimate.c:2342,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2342,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/postgis/gserialized_estimate.c:2344,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2345,1
    - Dst: GETSTRUCT
      Src: /src/postgis/postgis/gserialized_estimate.c:2347,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_estimate.c:2349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - index_oid
    argTypes:
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2337
    functionDepth: 0
    functionLinenumber: 2337
    functionLinenumberEnd: 2351
    functionName: index_get_am
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - elog
    - ReleaseSysCache
    - ObjectIdGetDatum
    - SearchSysCache1
    - HeapTupleIsValid
    - GETSTRUCT
    linkageType: ''
    returnType: int
    signature: int index_get_am(Oid index_oid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SearchSysCache2
      Src: /src/postgis/postgis/gserialized_estimate.c:2365,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2366,1
    - Dst: Int16GetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2367,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/postgis/gserialized_estimate.c:2369,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2370,1
    - Dst: GETSTRUCT
      Src: /src/postgis/postgis/gserialized_estimate.c:2372,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_estimate.c:2374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - index_oid
    - index_attnum
    argTypes:
    - Oid
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2376
    functionName: index_get_keytype
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - Int16GetDatum
    - elog
    - ReleaseSysCache
    - ObjectIdGetDatum
    - HeapTupleIsValid
    - GETSTRUCT
    - SearchSysCache2
    linkageType: ''
    returnType: int
    signature: int index_get_keytype (Oid index_oid, int16 index_attnum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2394,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2395,1
    - Dst: RelationIdGetRelation
      Src: /src/postgis/postgis/gserialized_estimate.c:2401,1
    - Dst: RelationGetIndexList
      Src: /src/postgis/postgis/gserialized_estimate.c:2402,1
    - Dst: RelationClose
      Src: /src/postgis/postgis/gserialized_estimate.c:2403,1
    - Dst: lfirst_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2408,1
    - Dst: index_has_attr
      Src: /src/postgis/postgis/gserialized_estimate.c:2412,1
    - Dst: index_get_am
      Src: /src/postgis/postgis/gserialized_estimate.c:2419,1
    - Dst: index_get_keytype
      Src: /src/postgis/postgis/gserialized_estimate.c:2424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - table_oid
    - attnum
    - key_type
    - idx_attnum
    argTypes:
    - Oid
    - int16
    - int*
    - int16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2433
    functionName: table_get_spatial_index
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - lfirst_oid
    - postgis_oid
    - index_get_am
    - index_has_attr
    - RelationGetIndexList
    - RelationIdGetRelation
    - RelationClose
    - index_get_keytype
    linkageType: ''
    returnType: Oid
    signature: Oid table_get_spatial_index(Oid table_oid, int16 attnum, int *key_type,
      int16 *idx_attnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lfirst_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2408,1
    - Dst: index_has_attr
      Src: /src/postgis/postgis/gserialized_estimate.c:2412,1
    - Dst: index_get_am
      Src: /src/postgis/postgis/gserialized_estimate.c:2419,1
    - Dst: index_get_keytype
      Src: /src/postgis/postgis/gserialized_estimate.c:2424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2431
    functionName: foreach
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 3
    functionsReached:
    - index_has_attr
    - lfirst_oid
    - index_get_am
    - index_get_keytype
    linkageType: ''
    returnType: void
    signature: void foreach(lc, index_list)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: index_open
      Src: /src/postgis/postgis/gserialized_estimate.c:2456,1
    - Dst: ReadBuffer
      Src: /src/postgis/postgis/gserialized_estimate.c:2457,1
    - Dst: BufferGetPage
      Src: /src/postgis/postgis/gserialized_estimate.c:2458,1
    - Dst: PageGetMaxOffsetNumber
      Src: /src/postgis/postgis/gserialized_estimate.c:2460,1
    - Dst: PageGetItemId
      Src: /src/postgis/postgis/gserialized_estimate.c:2463,1
    - Dst: ReleaseBuffer
      Src: /src/postgis/postgis/gserialized_estimate.c:2467,1
    - Dst: index_close
      Src: /src/postgis/postgis/gserialized_estimate.c:2468,1
    - Dst: PageGetItem
      Src: /src/postgis/postgis/gserialized_estimate.c:2471,1
    - Dst: GistTupleIsInvalid
      Src: /src/postgis/postgis/gserialized_estimate.c:2472,1
    - Dst: index_getattr
      Src: /src/postgis/postgis/gserialized_estimate.c:2475,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_estimate.c:2480,1
    - Dst: box2df_merge
      Src: /src/postgis/postgis/gserialized_estimate.c:2482,1
    - Dst: box2df_copy
      Src: /src/postgis/postgis/gserialized_estimate.c:2484,1
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_estimate.c:2488,1
    - Dst: gidx_merge
      Src: /src/postgis/postgis/gserialized_estimate.c:2490,1
    - Dst: gidx_copy
      Src: /src/postgis/postgis/gserialized_estimate.c:2492,1
    - Dst: ReleaseBuffer
      Src: /src/postgis/postgis/gserialized_estimate.c:2499,1
    - Dst: index_close
      Src: /src/postgis/postgis/gserialized_estimate.c:2500,1
    - Dst: box2df_is_empty
      Src: /src/postgis/postgis/gserialized_estimate.c:2504,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/gserialized_estimate.c:2506,1
    - Dst: box2df_to_gbox_p
      Src: /src/postgis/postgis/gserialized_estimate.c:2507,1
    - Dst: gidx_is_unknown
      Src: /src/postgis/postgis/gserialized_estimate.c:2512,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/postgis/gserialized_estimate.c:2514,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_estimate.c:2514,1
    - Dst: FLAGS_SET_M
      Src: /src/postgis/postgis/gserialized_estimate.c:2515,1
    - Dst: GIDX_NDIMS
      Src: /src/postgis/postgis/gserialized_estimate.c:2515,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/gserialized_estimate.c:2516,1
    - Dst: gbox_from_gidx
      Src: /src/postgis/postgis/gserialized_estimate.c:2517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - idx_oid
    - idx_att_num
    - key_type
    argTypes:
    - Oid
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2441
    functionDepth: 4
    functionLinenumber: 2441
    functionLinenumberEnd: 2523
    functionName: spatial_index_read_extent
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - ReleaseBuffer
    - GIDX_NDIMS
    - box2df_copy
    - BufferGetPage
    - gbox_from_gidx
    - gidx_merge
    - PageGetMaxOffsetNumber
    - ReadBuffer
    - index_open
    - PageGetItem
    - gidx_copy
    - gbox_new
    - index_close
    - DatumGetPointer
    - FLAGS_SET_Z
    - box2df_is_empty
    - index_getattr
    - gidx_is_unknown
    - GistTupleIsInvalid
    - box2df_merge
    - box2df_to_gbox_p
    - PageGetItemId
    - FLAGS_SET_M
    linkageType: ''
    returnType: GBOX
    signature: 'GBOX *

      spatial_index_read_extent(Oid idx_oid, int idx_att_num, int key_type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2538,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2539,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2539,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2543,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_estimate.c:2546,1
    - Dst: get_attnum
      Src: /src/postgis/postgis/gserialized_estimate.c:2548,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2550,1
    - Dst: table_get_spatial_index
      Src: /src/postgis/postgis/gserialized_estimate.c:2552,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2554,1
    - Dst: spatial_index_read_extent
      Src: /src/postgis/postgis/gserialized_estimate.c:2556,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2558,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:2560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2533
    functionDepth: 5
    functionLinenumber: 2533
    functionLinenumberEnd: 2561
    functionName: _postgis_gserialized_index_extent
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_TEXT_P
    - table_get_spatial_index
    - postgis_initialize_cache
    - PG_RETURN_NULL
    - text_to_cstring
    - get_attnum
    - PG_GETARG_DATUM
    - spatial_index_read_extent
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum _postgis_gserialized_index_extent(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2575,1
    - Dst: SearchSysCache2
      Src: /src/postgis/postgis/gserialized_estimate.c:2578,1
    - Dst: ObjectIdGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2579,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2580,1
    - Dst: HeapTupleIsValid
      Src: /src/postgis/postgis/gserialized_estimate.c:2582,1
    - Dst: GETSTRUCT
      Src: /src/postgis/postgis/gserialized_estimate.c:2585,1
    - Dst: ReleaseSysCache
      Src: /src/postgis/postgis/gserialized_estimate.c:2588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - table_oid
    - col
    - attnum
    - atttypid
    argTypes:
    - Oid
    - char*
    - int16*
    - Oid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2590
    functionName: get_attnum_attypid
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - PointerGetDatum
    - elog
    - ReleaseSysCache
    - ObjectIdGetDatum
    - HeapTupleIsValid
    - GETSTRUCT
    - SearchSysCache2
    linkageType: ''
    returnType: bool
    signature: bool get_attnum_attypid(Oid table_oid, const char *col, int16 *attnum,
      Oid *atttypid)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2612,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/gserialized_estimate.c:2613,1
    - Dst: postgis_initialize_cache
      Src: /src/postgis/postgis/gserialized_estimate.c:2616,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2618,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2618,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2619,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2621,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/postgis/gserialized_estimate.c:2623,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2625,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2627,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2627,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2628,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2628,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2629,1
    - Dst: snprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:2630,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2632,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2634,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2634,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/gserialized_estimate.c:2635,1
    - Dst: snprintf
      Src: /src/postgis/postgis/gserialized_estimate.c:2636,1
    - Dst: DatumGetObjectId
      Src: /src/postgis/postgis/gserialized_estimate.c:2640,1
    - Dst: DirectFunctionCall1
      Src: /src/postgis/postgis/gserialized_estimate.c:2640,1
    - Dst: CStringGetDatum
      Src: /src/postgis/postgis/gserialized_estimate.c:2640,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2642,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/gserialized_estimate.c:2645,1
    - Dst: get_attnum_attypid
      Src: /src/postgis/postgis/gserialized_estimate.c:2646,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2647,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2652,1
    - Dst: table_get_spatial_index
      Src: /src/postgis/postgis/gserialized_estimate.c:2657,1
    - Dst: spatial_index_read_extent
      Src: /src/postgis/postgis/gserialized_estimate.c:2661,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2662,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2663,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2670,1
    - Dst: pg_get_nd_stats_by_name
      Src: /src/postgis/postgis/gserialized_estimate.c:2677,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2682,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2683,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/gserialized_estimate.c:2687,1
    - Dst: FLAGS_SET_Z
      Src: /src/postgis/postgis/gserialized_estimate.c:2694,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_estimate.c:2699,1
    - Dst: gbox_new
      Src: /src/postgis/postgis/gserialized_estimate.c:2706,1
    - Dst: gbox_geocentric_get_gbox_cartesian
      Src: /src/postgis/postgis/gserialized_estimate.c:2707,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:2708,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_estimate.c:2711,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2599
    functionDepth: 5
    functionLinenumber: 2599
    functionLinenumberEnd: 2712
    functionName: gserialized_estimated_extent
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - postgis_oid
    - gbox_geocentric_get_gbox_cartesian
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - spatial_index_read_extent
    - get_attnum_attypid
    - snprintf
    - elog
    - PG_GETARG_BOOL
    - table_get_spatial_index
    - text_to_cstring
    - pg_get_nd_stats_by_name
    - DatumGetObjectId
    - PG_NARGS
    - postgis_initialize_cache
    - CStringGetDatum
    - pfree
    - gbox_new
    - PG_RETURN_POINTER
    - FLAGS_SET_Z
    - DirectFunctionCall1
    linkageType: ''
    returnType: Datum
    signature: Datum gserialized_estimated_extent(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2720,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2722,1
    - Dst: DirectFunctionCall3
      Src: /src/postgis/postgis/gserialized_estimate.c:2723,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2724,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2725,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2726,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/gserialized_estimate.c:2728,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2730,1
    - Dst: DirectFunctionCall2
      Src: /src/postgis/postgis/gserialized_estimate.c:2731,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2732,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_estimate.c:2733,1
    - Dst: elog
      Src: /src/postgis/postgis/gserialized_estimate.c:2736,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_estimate.c:2737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2738
    functionName: geometry_estimated_extent
    functionSourceFile: /src/postgis/postgis/gserialized_estimate.c
    functionUses: 0
    functionsReached:
    - elog
    - DirectFunctionCall3
    - PG_NARGS
    - PG_RETURN_NULL
    - DirectFunctionCall2
    - PG_GETARG_DATUM
    - PG_RETURN_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_estimated_extent(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:66,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:67,1
    - Dst: TYPMOD_GET_TYPE
      Src: /src/postgis/postgis/gserialized_typmod.c:68,1
    - Dst: TYPMOD_GET_Z
      Src: /src/postgis/postgis/gserialized_typmod.c:69,1
    - Dst: TYPMOD_GET_M
      Src: /src/postgis/postgis/gserialized_typmod.c:70,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_typmod.c:72,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/gserialized_typmod.c:77,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/gserialized_typmod.c:77,1
    - Dst: initStringInfo
      Src: /src/postgis/postgis/gserialized_typmod.c:81,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/gserialized_typmod.c:82,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/gserialized_typmod.c:86,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/gserialized_typmod.c:86,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/gserialized_typmod.c:88,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/gserialized_typmod.c:91,1
    - Dst: appendStringInfoString
      Src: /src/postgis/postgis/gserialized_typmod.c:94,1
    - Dst: appendStringInfo
      Src: /src/postgis/postgis/gserialized_typmod.c:97,1
    - Dst: appendStringInfoChar
      Src: /src/postgis/postgis/gserialized_typmod.c:100,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/gserialized_typmod.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 103
    functionName: postgis_typmod_out
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - TYPMOD_GET_SRID
    - pstrdup
    - POSTGIS_DEBUGF
    - appendStringInfoString
    - appendStringInfoChar
    - appendStringInfo
    - TYPMOD_GET_Z
    - initStringInfo
    - lwtype_name
    - PG_GETARG_INT32
    - PG_RETURN_CSTRING
    - TYPMOD_GET_TYPE
    - TYPMOD_GET_M
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_typmod_out(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/gserialized_typmod.c:112,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/gserialized_typmod.c:113,1
    - Dst: gserialized_has_z
      Src: /src/postgis/postgis/gserialized_typmod.c:114,1
    - Dst: gserialized_has_m
      Src: /src/postgis/postgis/gserialized_typmod.c:115,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:116,1
    - Dst: TYPMOD_GET_TYPE
      Src: /src/postgis/postgis/gserialized_typmod.c:117,1
    - Dst: TYPMOD_GET_Z
      Src: /src/postgis/postgis/gserialized_typmod.c:118,1
    - Dst: TYPMOD_GET_M
      Src: /src/postgis/postgis/gserialized_typmod.c:119,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/gserialized_typmod.c:121,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_typmod.c:126,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_typmod.c:127,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/gserialized_typmod.c:139,1
    - Dst: lwpoint_construct_empty
      Src: /src/postgis/postgis/gserialized_typmod.c:141,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_typmod.c:143,1
    - Dst: gserialized_is_geodetic
      Src: /src/postgis/postgis/gserialized_typmod.c:144,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/gserialized_typmod.c:145,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/gserialized_typmod.c:145,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/gserialized_typmod.c:147,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/postgis/gserialized_typmod.c:147,1
    - Dst: gserialized_set_srid
      Src: /src/postgis/postgis/gserialized_typmod.c:153,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:160,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:161,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:162,1
    - Dst: lwtype_multitype
      Src: /src/postgis/postgis/gserialized_typmod.c:167,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/gserialized_typmod.c:170,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/postgis/gserialized_typmod.c:171,1
    - Dst: gserialized_is_geodetic
      Src: /src/postgis/postgis/gserialized_typmod.c:172,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/gserialized_typmod.c:173,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/gserialized_typmod.c:174,1
    - Dst: gserialized_get_type
      Src: /src/postgis/postgis/gserialized_typmod.c:177,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/gserialized_typmod.c:178,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/gserialized_typmod.c:179,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:192,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:193,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:194,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/gserialized_typmod.c:194,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/gserialized_typmod.c:194,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:200,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:201,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:202,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:208,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:209,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:210,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:216,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:217,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:218,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:224,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:225,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:226,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 42
    argCount: 2
    argNames:
    - gser
    - typmod
    argTypes:
    - GSERIALIZED*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 231
    functionName: postgis_valid_typmod
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 2
    functionsReached:
    - gserialized_set_srid
    - lwgeom_free
    - geography_serialize
    - lwtype_multitype
    - lwpoint_construct_empty
    - gserialized_get_srid
    - errcode
    - gserialized_get_type
    - TYPMOD_GET_M
    - gserialized_has_z
    - geometry_serialize
    - ereport
    - POSTGIS_DEBUGF
    - lwgeom_as_multi
    - TYPMOD_GET_Z
    - pfree
    - gserialized_has_m
    - gserialized_is_empty
    - errmsg
    - lwtype_name
    - lwgeom_from_gserialized
    - gserialized_is_geodetic
    - lwpoint_as_lwgeom
    - POSTGIS_DEBUG
    - TYPMOD_GET_SRID
    - TYPMOD_GET_TYPE
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * postgis_valid_typmod(GSERIALIZED *gser, int32_t typmod)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/postgis/gserialized_typmod.c:241,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:242,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:243,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:244,1
    - Dst: ARR_NDIM
      Src: /src/postgis/postgis/gserialized_typmod.c:246,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:247,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:248,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:249,1
    - Dst: ARR_HASNULL
      Src: /src/postgis/postgis/gserialized_typmod.c:251,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:252,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:253,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:254,1
    - Dst: deconstruct_array
      Src: /src/postgis/postgis/gserialized_typmod.c:256,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:262,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:264,1
    - Dst: DatumGetCString
      Src: /src/postgis/postgis/gserialized_typmod.c:270,1
    - Dst: geometry_type_from_string
      Src: /src/postgis/postgis/gserialized_typmod.c:275,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:277,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:278,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:279,1
    - Dst: TYPMOD_SET_TYPE
      Src: /src/postgis/postgis/gserialized_typmod.c:283,1
    - Dst: TYPMOD_SET_Z
      Src: /src/postgis/postgis/gserialized_typmod.c:285,1
    - Dst: TYPMOD_SET_M
      Src: /src/postgis/postgis/gserialized_typmod.c:287,1
    - Dst: DatumGetCString
      Src: /src/postgis/postgis/gserialized_typmod.c:292,1
    - Dst: strtol
      Src: /src/postgis/postgis/gserialized_typmod.c:298,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:301,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:302,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:303,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:307,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:308,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:309,1
    - Dst: ereport
      Src: /src/postgis/postgis/gserialized_typmod.c:313,1
    - Dst: errcode
      Src: /src/postgis/postgis/gserialized_typmod.c:314,1
    - Dst: errmsg
      Src: /src/postgis/postgis/gserialized_typmod.c:315,1
    - Dst: clamp_srid
      Src: /src/postgis/postgis/gserialized_typmod.c:318,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/gserialized_typmod.c:319,1
    - Dst: TYPMOD_SET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:322,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_typmod.c:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - arr
    - is_geography
    argTypes:
    - ArrayType*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 330
    functionName: gserialized_typmod_in
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - ereport
    - errcode
    - POSTGIS_DEBUGF
    - TYPMOD_SET_Z
    - DatumGetCString
    - ARR_NDIM
    - TYPMOD_SET_M
    - ARR_HASNULL
    - geometry_type_from_string
    - ARR_ELEMTYPE
    - TYPMOD_SET_SRID
    - strtol
    - clamp_srid
    - errmsg
    - pfree
    - deconstruct_array
    - TYPMOD_SET_TYPE
    linkageType: ''
    returnType: uint32
    signature: uint32 gserialized_typmod_in(ArrayType *arr, int is_geography)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_typmod.c:340,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_typmod.c:340,1
    - Dst: gserialized_typmod_in
      Src: /src/postgis/postgis/gserialized_typmod.c:341,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:342,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/gserialized_typmod.c:344,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 7
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: geography_typmod_in
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - TYPMOD_GET_SRID
    - DatumGetPointer
    - gserialized_typmod_in
    - srid_check_latlong
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    linkageType: ''
    returnType: Datum
    signature: Datum geography_typmod_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetPointer
      Src: /src/postgis/postgis/gserialized_typmod.c:357,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/gserialized_typmod.c:357,1
    - Dst: gserialized_typmod_in
      Src: /src/postgis/postgis/gserialized_typmod.c:358,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: geometry_typmod_in
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_DATUM
    - DatumGetPointer
    - gserialized_typmod_in
    - PG_RETURN_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_typmod_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/gserialized_typmod.c:370,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:371,1
    - Dst: postgis_valid_typmod
      Src: /src/postgis/postgis/gserialized_typmod.c:376,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_typmod.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 8
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: geography_enforce_typmod
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_INT32
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - postgis_valid_typmod
    linkageType: ''
    returnType: Datum
    signature: Datum geography_enforce_typmod(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/gserialized_typmod.c:389,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:390,1
    - Dst: postgis_valid_typmod
      Src: /src/postgis/postgis/gserialized_typmod.c:395,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/gserialized_typmod.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 8
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: geometry_enforce_typmod
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_INT32
    - PG_RETURN_POINTER
    - PG_GETARG_GSERIALIZED_P
    - postgis_valid_typmod
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_enforce_typmod(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:408,1
    - Dst: TYPMOD_GET_TYPE
      Src: /src/postgis/postgis/gserialized_typmod.c:409,1
    - Dst: palloc
      Src: /src/postgis/postgis/gserialized_typmod.c:410,1
    - Dst: sprintf
      Src: /src/postgis/postgis/gserialized_typmod.c:416,1
    - Dst: sprintf
      Src: /src/postgis/postgis/gserialized_typmod.c:418,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/gserialized_typmod.c:418,1
    - Dst: TYPMOD_GET_Z
      Src: /src/postgis/postgis/gserialized_typmod.c:421,1
    - Dst: sprintf
      Src: /src/postgis/postgis/gserialized_typmod.c:422,1
    - Dst: TYPMOD_GET_M
      Src: /src/postgis/postgis/gserialized_typmod.c:425,1
    - Dst: sprintf
      Src: /src/postgis/postgis/gserialized_typmod.c:426,1
    - Dst: cstring_to_text
      Src: /src/postgis/postgis/gserialized_typmod.c:428,1
    - Dst: pfree
      Src: /src/postgis/postgis/gserialized_typmod.c:429,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/gserialized_typmod.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: postgis_typmod_type
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - palloc
    - TYPMOD_GET_Z
    - pfree
    - cstring_to_text
    - lwtype_name
    - PG_GETARG_INT32
    - PG_RETURN_TEXT_P
    - sprintf
    - TYPMOD_GET_TYPE
    - TYPMOD_GET_M
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_typmod_type(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:440,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/gserialized_typmod.c:443,1
    - Dst: TYPMOD_GET_Z
      Src: /src/postgis/postgis/gserialized_typmod.c:444,1
    - Dst: TYPMOD_GET_M
      Src: /src/postgis/postgis/gserialized_typmod.c:446,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 449
    functionName: postgis_typmod_dims
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_NULL
    - TYPMOD_GET_Z
    - PG_RETURN_INT32
    - PG_GETARG_INT32
    - TYPMOD_GET_M
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_typmod_dims(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:458,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:460,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/gserialized_typmod.c:461,1
    - Dst: TYPMOD_GET_SRID
      Src: /src/postgis/postgis/gserialized_typmod.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: postgis_typmod_srid
    functionSourceFile: /src/postgis/postgis/gserialized_typmod.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_INT32
    - TYPMOD_GET_SRID
    - PG_RETURN_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_typmod_srid(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/brin_common.c:6,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/postgis/brin_common.c:8,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - the_datum
    argTypes:
    - Datum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 3
    functionDepth: 5
    functionLinenumber: 3
    functionLinenumberEnd: 12
    functionName: is_gserialized_from_datum_empty
    functionSourceFile: /src/postgis/postgis/brin_common.c
    functionUses: 2
    functionsReached:
    - gserialized_is_empty
    - PG_DETOAST_DATUM
    linkageType: ''
    returnType: bool
    signature: bool is_gserialized_from_datum_empty(Datum the_datum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:82,1
    - Dst: errcode
      Src: /src/postgis/postgis/geography_inout.c:83,1
    - Dst: errmsg
      Src: /src/postgis/postgis/geography_inout.c:84,1
    - Dst: lwtype_name
      Src: /src/postgis/postgis/geography_inout.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: geography_valid_type
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwtype_name
    - ereport
    - errcode
    - errmsg
    linkageType: ''
    returnType: void
    signature: void geography_valid_type(uint8_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_inout.c:94,1
    - Dst: geography_valid_type
      Src: /src/postgis/postgis/geography_inout.c:97,1
    - Dst: lwgeom_nudge_geodetic
      Src: /src/postgis/postgis/geography_inout.c:100,1
    - Dst: lwgeom_force_geodetic
      Src: /src/postgis/postgis/geography_inout.c:101,1
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:103,1
    - Dst: errmsg_internal
      Src: /src/postgis/postgis/geography_inout.c:104,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_inout.c:116,1
    - Dst: postgis_valid_typmod
      Src: /src/postgis/postgis/geography_inout.c:121,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_inout.c:122,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/geography_inout.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - lwgeom
    - geog_typmod
    argTypes:
    - LWGEOM*
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 89
    functionDepth: 8
    functionLinenumber: 89
    functionLinenumberEnd: 130
    functionName: gserialized_geography_from_lwgeom
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - ereport
    - geography_serialize
    - geography_valid_type
    - lwgeom_force_geodetic
    - lwgeom_nudge_geodetic
    - postgis_valid_typmod
    - lwgeom_set_geodetic
    - errmsg_internal
    - POSTGIS_DEBUG
    linkageType: ''
    returnType: GSERIALIZED
    signature: GSERIALIZED * gserialized_geography_from_lwgeom(LWGEOM *lwgeom, int32
      geog_typmod)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/postgis/geography_inout.c:139,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_inout.c:146,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_inout.c:146,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:147,1
    - Dst: lwgeom_parser_result_init
      Src: /src/postgis/postgis/geography_inout.c:150,1
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:154,1
    - Dst: errmsg
      Src: /src/postgis/postgis/geography_inout.c:154,1
    - Dst: lwgeom_from_hexwkb
      Src: /src/postgis/postgis/geography_inout.c:160,1
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:163,1
    - Dst: errmsg
      Src: /src/postgis/postgis/geography_inout.c:163,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/postgis/geography_inout.c:168,1
    - Dst: PG_PARSER_ERROR
      Src: /src/postgis/postgis/geography_inout.c:169,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/geography_inout.c:175,1
    - Dst: gserialized_geography_from_lwgeom
      Src: /src/postgis/postgis/geography_inout.c:178,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:181,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 185
    functionName: geography_in
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - ereport
    - lwgeom_free
    - gserialized_geography_from_lwgeom
    - PG_GETARG_CSTRING
    - lwgeom_parser_result_init
    - lwgeom_parse_wkt
    - PG_NARGS
    - PG_ARGISNULL
    - srid_check_latlong
    - lwgeom_from_hexwkb
    - PG_PARSER_ERROR
    - errmsg
    - PG_GETARG_INT32
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_in(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:194,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:195,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/postgis/geography_inout.c:196,1
    - Dst: lwgeom_to_hexwkb_buffer
      Src: /src/postgis/postgis/geography_inout.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 12
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: geography_out
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_hexwkb_buffer
    - lwgeom_from_gserialized
    - PG_RETURN_CSTRING
    - PG_GETARG_GSERIALIZED_P
    linkageType: ''
    returnType: Datum
    signature: Datum geography_out(PG_FUNCTION_ARGS)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/postgis/geography_inout.c:228,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:237,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_inout.c:240,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:241,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:246,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:247,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:248,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:249,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:250,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:253,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:256,1
    - Dst: palloc
      Src: /src/postgis/postgis/geography_inout.c:259,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:259,1
    - Dst: memcpy
      Src: /src/postgis/postgis/geography_inout.c:260,1
    - Dst: VARDATA_ANY
      Src: /src/postgis/postgis/geography_inout.c:260,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:261,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:263,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:264,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:272,1
    - Dst: palloc
      Src: /src/postgis/postgis/geography_inout.c:274,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:274,1
    - Dst: memcpy
      Src: /src/postgis/postgis/geography_inout.c:275,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/geography_inout.c:275,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:275,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:276,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/geography_inout.c:281,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/geography_inout.c:283,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_inout.c:286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:287,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_inout.c:295,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:299,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_inout.c:303,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:307,1
    - Dst: lwgeom_to_gml2
      Src: /src/postgis/postgis/geography_inout.c:311,1
    - Dst: lwgeom_to_gml3
      Src: /src/postgis/postgis/geography_inout.c:313,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:316,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:318,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 319
    functionName: geography_as_gml
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_TEXT_P
    - VARSIZE_ANY_EXHDR
    - get_fn_expr_argtype
    - lwgeom_from_gserialized
    - lwgeom_to_gml2
    - elog
    - PG_RETURN_NULL
    - lwgeom_to_gml3
    - VARDATA_ANY
    - GetSRSCacheBySRID
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - VARDATA
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum geography_as_gml(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:333,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:334,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:335,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:336,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:342,1
    - Dst: palloc
      Src: /src/postgis/postgis/geography_inout.c:345,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:345,1
    - Dst: memcpy
      Src: /src/postgis/postgis/geography_inout.c:346,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/geography_inout.c:346,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:347,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:349,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/geography_inout.c:350,1
    - Dst: lwgeom_to_kml2
      Src: /src/postgis/postgis/geography_inout.c:358,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:360,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 362
    functionName: geography_as_kml
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - palloc
    - PG_GETARG_TEXT_P
    - VARSIZE_ANY_EXHDR
    - lwgeom_from_gserialized
    - lwgeom_to_kml2
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - VARDATA
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum geography_as_kml(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:371,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:372,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:373,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:374,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:379,1
    - Dst: lwgeom_to_svg
      Src: /src/postgis/postgis/geography_inout.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 9
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: geography_as_svg
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_to_svg
    - lwgeom_from_gserialized
    - PG_RETURN_TEXT_P
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    linkageType: ''
    returnType: Datum
    signature: Datum geography_as_svg(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:392,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:393,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:394,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:395,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/geography_inout.c:411,1
    - Dst: GetSRSCacheBySRID
      Src: /src/postgis/postgis/geography_inout.c:413,1
    - Dst: elog
      Src: /src/postgis/postgis/geography_inout.c:417,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:418,1
    - Dst: lwgeom_to_geojson
      Src: /src/postgis/postgis/geography_inout.c:424,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:425,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_inout.c:426,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 387
    functionDepth: 9
    functionLinenumber: 387
    functionLinenumberEnd: 429
    functionName: geography_as_geojson
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_to_geojson
    - elog
    - PG_RETURN_NULL
    - GetSRSCacheBySRID
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum geography_as_geojson(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/geography_inout.c:442,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/geography_inout.c:445,1
    - Dst: lwgeom_parse_wkt
      Src: /src/postgis/postgis/geography_inout.c:448,1
    - Dst: PG_PARSER_ERROR
      Src: /src/postgis/postgis/geography_inout.c:449,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/geography_inout.c:452,1
    - Dst: pfree
      Src: /src/postgis/postgis/geography_inout.c:455,1
    - Dst: gserialized_geography_from_lwgeom
      Src: /src/postgis/postgis/geography_inout.c:456,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:459,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 438
    functionDepth: 9
    functionLinenumber: 438
    functionLinenumberEnd: 462
    functionName: geography_from_text
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_geography_from_lwgeom
    - lwgeom_parse_wkt
    - srid_check_latlong
    - text_to_cstring
    - pfree
    - PG_PARSER_ERROR
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_from_text(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/postgis/geography_inout.c:470,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/postgis/geography_inout.c:470,1
    - Dst: VARSIZE
      Src: /src/postgis/postgis/geography_inout.c:472,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/geography_inout.c:473,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/geography_inout.c:474,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/geography_inout.c:477,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/geography_inout.c:480,1
    - Dst: gserialized_geography_from_lwgeom
      Src: /src/postgis/postgis/geography_inout.c:482,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:483,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 468
    functionDepth: 9
    functionLinenumber: 468
    functionLinenumberEnd: 485
    functionName: geography_from_binary
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - gserialized_geography_from_lwgeom
    - PG_DETOAST_DATUM
    - lwpgerror
    - VARSIZE
    - srid_check_latlong
    - lwgeom_from_wkb
    - PG_GETARG_DATUM
    - VARDATA
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_from_binary(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P_COPY
      Src: /src/postgis/postgis/geography_inout.c:492,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:493,1
    - Dst: geography_valid_type
      Src: /src/postgis/postgis/geography_inout.c:495,1
    - Dst: lwgeom_get_type
      Src: /src/postgis/postgis/geography_inout.c:495,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/geography_inout.c:504,1
    - Dst: lwgeom_nudge_geodetic
      Src: /src/postgis/postgis/geography_inout.c:507,1
    - Dst: lwgeom_force_geodetic
      Src: /src/postgis/postgis/geography_inout.c:508,1
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:510,1
    - Dst: errmsg_internal
      Src: /src/postgis/postgis/geography_inout.c:511,1
    - Dst: lwgeom_drop_bbox
      Src: /src/postgis/postgis/geography_inout.c:516,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_inout.c:518,1
    - Dst: geography_serialize
      Src: /src/postgis/postgis/geography_inout.c:520,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:523,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/geography_inout.c:525,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 489
    functionDepth: 7
    functionLinenumber: 489
    functionLinenumberEnd: 527
    functionName: geography_from_geometry
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_GSERIALIZED_P_COPY
    - ereport
    - geography_serialize
    - lwgeom_free
    - geography_valid_type
    - lwgeom_force_geodetic
    - lwgeom_from_gserialized
    - lwgeom_nudge_geodetic
    - lwgeom_drop_bbox
    - srid_check_latlong
    - lwgeom_set_geodetic
    - lwgeom_get_type
    - errmsg_internal
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_from_geometry(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:534,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:536,1
    - Dst: lwgeom_set_geodetic
      Src: /src/postgis/postgis/geography_inout.c:539,1
    - Dst: lwgeom_refresh_bbox
      Src: /src/postgis/postgis/geography_inout.c:540,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/geography_inout.c:547,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:548,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 530
    functionDepth: 7
    functionLinenumber: 530
    functionLinenumberEnd: 551
    functionName: geometry_from_geography
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_refresh_bbox
    - lwgeom_set_geodetic
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geometry_from_geography(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/postgis/geography_inout.c:556,1
    - Dst: PG_NARGS
      Src: /src/postgis/postgis/geography_inout.c:561,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/geography_inout.c:561,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/geography_inout.c:562,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/postgis/geography_inout.c:565,1
    - Dst: ereport
      Src: /src/postgis/postgis/geography_inout.c:568,1
    - Dst: errmsg
      Src: /src/postgis/postgis/geography_inout.c:568,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/geography_inout.c:569,1
    - Dst: srid_check_latlong
      Src: /src/postgis/postgis/geography_inout.c:573,1
    - Dst: gserialized_geography_from_lwgeom
      Src: /src/postgis/postgis/geography_inout.c:575,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/geography_inout.c:578,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 554
    functionDepth: 9
    functionLinenumber: 554
    functionLinenumberEnd: 584
    functionName: geography_recv
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - ereport
    - lwgeom_free
    - gserialized_geography_from_lwgeom
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - srid_check_latlong
    - errmsg
    - PG_GETARG_INT32
    - lwgeom_from_wkb
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_recv(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/geography_inout.c:590,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/geography_inout.c:591,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/geography_inout.c:592,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/postgis/geography_inout.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 11
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: geography_send
    functionSourceFile: /src/postgis/postgis/geography_inout.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - lwgeom_to_wkb_varlena
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geography_send(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:76,1
    - Dst: ptarray_construct
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:77,1
    - Dst: abs
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:84,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:85,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:89,1
    - Dst: lwpoly_construct
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - origin_x
    - origin_y
    - size
    - cell_i
    - cell_j
    - srid
    argTypes:
    - double
    - double
    - double
    - int
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: hexagon
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - abs
    - lwpoly_construct
    - ptarray_construct
    - lwpoly_as_lwgeom
    - ptarray_set_point4d
    - lwalloc
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      hexagon(double origin_x, double origin_y, double size, int cell_i, int cell_j,
      int32_t srid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:110,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:123,1
    - Dst: ceil
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:127,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:132,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:133,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:134,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - size
    - gbox
    - srid
    argTypes:
    - double
    - GBOX*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: hexagon_grid_state
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - ceil
    - palloc0
    - floor
    linkageType: ''
    returnType: HexagonGridState
    signature: 'HexagonGridState *

      hexagon_grid_state(double size, const GBOX *gbox, int32_t srid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - HexagonGridState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: hexagon_state_next
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hexagon_state_next(HexagonGridState *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwpoly_construct_envelope
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - origin_x
    - origin_y
    - size
    - cell_i
    - cell_j
    - srid
    argTypes:
    - double
    - double
    - double
    - int
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: square
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - lwpoly_construct_envelope
    linkageType: ''
    returnType: LWGEOM
    signature: 'LWGEOM *

      square(double origin_x, double origin_y, double size, int cell_i, int cell_j,
      int32_t srid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:191,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:200,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:201,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:202,1
    - Dst: floor
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - size
    - gbox
    - srid
    argTypes:
    - double
    - GBOX*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: square_grid_state
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - palloc0
    - floor
    linkageType: ''
    returnType: SquareGridState
    signature: 'SquareGridState *

      square_grid_state(double size, const GBOX *gbox, int32_t srid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - SquareGridState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: square_state_next
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void square_state_next(SquareGridState *state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:246,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:253,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:256,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:257,1
    - Dst: gserialized_get_gbox_p
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:259,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:264,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:265,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:268,1
    - Dst: get_func_name
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:274,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:275,1
    - Dst: hexagon_grid_state
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:277,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:277,1
    - Dst: strcmp
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:279,1
    - Dst: square_grid_state
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:281,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:281,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:285,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:285,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:286,1
    - Dst: get_call_result_type
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:292,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:294,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:294,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:295,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:298,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:299,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:303,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:311,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:315,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:316,1
    - Dst: hexagon
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:322,1
    - Dst: hexagon_state_next
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:324,1
    - Dst: square
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:327,1
    - Dst: square_state_next
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:329,1
    - Dst: ereport
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:332,1
    - Dst: errcode
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:332,1
    - Dst: errmsg
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:333,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:336,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:336,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:337,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:340,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:341,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 233
    functionDepth: 7
    functionLinenumber: 233
    functionLinenumberEnd: 343
    functionName: ST_ShapeGrid
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SRF_RETURN_DONE
    - hexagon
    - get_func_name
    - square_state_next
    - gserialized_get_srid
    - errcode
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - SRF_IS_FIRSTCALL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_FLOAT8
    - square_grid_state
    - square
    - geometry_serialize
    - ereport
    - PointerGetDatum
    - HeapTupleGetDatum
    - hexagon_state_next
    - lwfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_call_result_type
    - heap_form_tuple
    - hexagon_grid_state
    - SRF_FIRSTCALL_INIT
    - gserialized_get_gbox_p
    - MemoryContextSwitchTo
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum ST_ShapeGrid(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:352,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:354,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:355,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:356,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:358,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:360,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:362,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:363,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:366,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:369,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:370,1
    - Dst: hexagon
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:373,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:373,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:373,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:375,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:377,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:378,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: ST_Hexagon
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoint_get_y
    - lwgeom_as_lwpoint
    - hexagon
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - lwgeom_get_srid
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - lwpoint_get_x
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Hexagon(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:390,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:392,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:393,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:394,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:396,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:398,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:400,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:401,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:404,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:407,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:408,1
    - Dst: square
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:411,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:411,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:411,1
    - Dst: lwgeom_get_srid
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:413,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:415,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:416,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_generate_grid.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 387
    functionDepth: 7
    functionLinenumber: 387
    functionLinenumberEnd: 418
    functionName: ST_Square
    functionSourceFile: /src/postgis/postgis/lwgeom_generate_grid.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwpoint_get_y
    - lwgeom_as_lwpoint
    - lwgeom_get_srid
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - square
    - PG_GETARG_FLOAT8
    - lwpoint_get_x
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_Square(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:53,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:54,1
    - Dst: lwgeom_has_arc
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:55,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:56,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: LWGEOM_has_arc
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_has_arc
    - PG_GETARG_GSERIALIZED_P
    - PG_RETURN_BOOL
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_has_arc(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:71,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:72,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:76,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:80,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:81,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:84,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:86,1
    - Dst: lwgeom_stroke
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:87,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:88,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:91,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:93,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:94,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:95,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 9
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: LWGEOM_curve_segmentize
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - POSTGIS_DEBUGF
    - lwgeom_stroke
    - lwgeom_from_gserialized
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_curve_segmentize(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:102,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:103,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:104,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:105,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:109,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:111,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:113,1
    - Dst: lwcurve_linearize
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:114,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:115,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:118,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:120,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:121,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:122,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: ST_CurveToLine
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - POSTGIS_DEBUGF
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_GETARG_INT32
    - lwcurve_linearize
    - PG_GETARG_FLOAT8
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CurveToLine(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:129,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:133,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:135,1
    - Dst: lwgeom_unstroke
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:136,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:137,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:141,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:142,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:145,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:146,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:147,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: LWGEOM_line_desegmentize
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_free
    - lwgeom_from_gserialized
    - lwgeom_unstroke
    - PG_RETURN_NULL
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_DEBUG
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum LWGEOM_line_desegmentize(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:154,1
    - Dst: lwgeom_as_lwcompound
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:155,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:155,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:157,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:159,1
    - Dst: lwcompound_num_curves
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: ST_NumCurves
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_as_lwcompound
    - PG_RETURN_INT32
    - PG_GETARG_GSERIALIZED_P
    - lwcompound_num_curves
    linkageType: ''
    returnType: Datum
    signature: Datum ST_NumCurves(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:166,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:168,1
    - Dst: lwgeom_as_lwcompound
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:169,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:169,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:171,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:173,1
    - Dst: lwgeom_clone
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:174,1
    - Dst: lwcollection_getsubcurve
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:174,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:175,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:176,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_sqlmm.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 7
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: ST_CurveN
    functionSourceFile: /src/postgis/postgis/lwgeom_sqlmm.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - lwgeom_from_gserialized
    - PG_RETURN_NULL
    - lwgeom_as_lwcompound
    - lwgeom_clone
    - PG_GETARG_GSERIALIZED_P
    - lwcollection_getsubcurve
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum ST_CurveN(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: HANDLE_GEOS_ERROR
    functionSourceFile: /src/postgis/postgis/lwgeom_geos.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_GEOS_ERROR(label)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - typoid
    argTypes:
    - Oid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: get_column_type
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_column_type(Oid typoid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HeapTupleHeaderGetTypeId
      Src: /src/postgis/postgis/flatgeobuf.c:73,1
    - Dst: HeapTupleHeaderGetTypMod
      Src: /src/postgis/postgis/flatgeobuf.c:74,1
    - Dst: lookup_rowtype_tupdesc
      Src: /src/postgis/postgis/flatgeobuf.c:75,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/flatgeobuf.c:79,1
    - Dst: palloc
      Src: /src/postgis/postgis/flatgeobuf.c:81,1
    - Dst: getBaseType
      Src: /src/postgis/postgis/flatgeobuf.c:87,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/flatgeobuf.c:87,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/flatgeobuf.c:88,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:89,1
    - Dst: postgis_oid
      Src: /src/postgis/postgis/flatgeobuf.c:91,1
    - Dst: strcmp
      Src: /src/postgis/postgis/flatgeobuf.c:97,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:103,1
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:105,1
    - Dst: pstrdup
      Src: /src/postgis/postgis/flatgeobuf.c:106,1
    - Dst: get_column_type
      Src: /src/postgis/postgis/flatgeobuf.c:107,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_agg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: inspect_table
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcmp
    - getBaseType
    - postgis_oid
    - pstrdup
    - POSTGIS_DEBUGF
    - TupleDescAttr
    - get_column_type
    - elog
    - HeapTupleHeaderGetTypMod
    - HeapTupleHeaderGetTypeId
    - POSTGIS_DEBUG
    - palloc0
    - lookup_rowtype_tupdesc
    linkageType: ''
    returnType: void
    signature: void inspect_table(struct flatgeobuf_agg_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:126,1
    - Dst: palloc
      Src: /src/postgis/postgis/flatgeobuf.c:127,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:131,1
    - Dst: repalloc
      Src: /src/postgis/postgis/flatgeobuf.c:132,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - struct flatgeobuf_agg_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: ensure_properties_size
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - repalloc
    - ensure_properties_size
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void ensure_properties_size(struct flatgeobuf_agg_ctx *ctx, size_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/flatgeobuf.c:142,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:146,1
    - Dst: repalloc
      Src: /src/postgis/postgis/flatgeobuf.c:147,1
    - Dst: ensure_items_len
      Src: /src/postgis/postgis/flatgeobuf.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_agg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: ensure_items_len
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - palloc
    - ensure_items_len
    - repalloc
    - POSTGIS_DEBUGF
    linkageType: ''
    returnType: void
    signature: void ensure_items_len(struct flatgeobuf_agg_ctx *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetAttributeByNum
      Src: /src/postgis/postgis/flatgeobuf.c:175,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:178,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:179,1
    - Dst: getBaseType
      Src: /src/postgis/postgis/flatgeobuf.c:181,1
    - Dst: TupleDescAttr
      Src: /src/postgis/postgis/flatgeobuf.c:181,1
    - Dst: DatumGetBool
      Src: /src/postgis/postgis/flatgeobuf.c:184,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:185,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:186,1
    - Dst: DatumGetInt16
      Src: /src/postgis/postgis/flatgeobuf.c:190,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:191,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:192,1
    - Dst: DatumGetInt32
      Src: /src/postgis/postgis/flatgeobuf.c:196,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:197,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:198,1
    - Dst: DatumGetInt64
      Src: /src/postgis/postgis/flatgeobuf.c:202,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:203,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:204,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/postgis/flatgeobuf.c:208,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:209,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:210,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/postgis/flatgeobuf.c:214,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:215,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:216,1
    - Dst: text_to_cstring
      Src: /src/postgis/postgis/flatgeobuf.c:220,1
    - Dst: DatumGetTextP
      Src: /src/postgis/postgis/flatgeobuf.c:220,1
    - Dst: strlen
      Src: /src/postgis/postgis/flatgeobuf.c:221,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:222,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:223,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:225,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:226,1
    - Dst: DatumGetTimestampTz
      Src: /src/postgis/postgis/flatgeobuf.c:235,1
    - Dst: timestamp2tm
      Src: /src/postgis/postgis/flatgeobuf.c:236,1
    - Dst: palloc
      Src: /src/postgis/postgis/flatgeobuf.c:237,1
    - Dst: EncodeDateTime
      Src: /src/postgis/postgis/flatgeobuf.c:238,1
    - Dst: strlen
      Src: /src/postgis/postgis/flatgeobuf.c:239,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:240,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:241,1
    - Dst: ensure_properties_size
      Src: /src/postgis/postgis/flatgeobuf.c:243,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:244,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:263,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - flatgeobuf_agg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 266
    functionName: encode_properties
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - ensure_properties_size
    - timestamp2tm
    - DatumGetBool
    - text_to_cstring
    - strlen
    - EncodeDateTime
    - DatumGetTextP
    - POSTGIS_DEBUGF
    - TupleDescAttr
    - DatumGetFloat4
    - DatumGetFloat8
    - DatumGetInt16
    - palloc
    - getBaseType
    - DatumGetInt32
    - DatumGetTimestampTz
    - memcpy
    - DatumGetInt64
    - GetAttributeByNum
    linkageType: ''
    returnType: void
    signature: void encode_properties(flatgeobuf_agg_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_decode_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: flatgeobuf_check_magicbytes
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 2
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void flatgeobuf_check_magicbytes(struct flatgeobuf_decode_ctx *ctx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:288,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:293,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:296,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:297,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:301,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:309,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:310,1
    - Dst: BoolGetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:311,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:318,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:319,1
    - Dst: Int8GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:320,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:327,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:328,1
    - Dst: UInt8GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:329,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:336,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:337,1
    - Dst: Int16GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:338,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:345,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:346,1
    - Dst: UInt16GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:347,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:354,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:355,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:356,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:363,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:364,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:365,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:372,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:373,1
    - Dst: Int64GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:374,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:381,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:382,1
    - Dst: UInt64GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:383,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:390,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:391,1
    - Dst: Float4GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:392,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:399,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:400,1
    - Dst: Float8GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:401,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:408,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:409,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:411,1
    - Dst: cstring_to_text_with_len
      Src: /src/postgis/postgis/flatgeobuf.c:411,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:431,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:432,1
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:434,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:435,1
    - Dst: ParseDateTime
      Src: /src/postgis/postgis/flatgeobuf.c:436,1
    - Dst: DecodeDateTime
      Src: /src/postgis/postgis/flatgeobuf.c:439,1
    - Dst: DecodeDateTime
      Src: /src/postgis/postgis/flatgeobuf.c:441,1
    - Dst: tm2timestamp
      Src: /src/postgis/postgis/flatgeobuf.c:443,1
    - Dst: TimestampTzGetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:444,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:458,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 132
    argCount: 3
    argNames:
    - ctx
    - values
    - isnull
    argTypes:
    - struct flatgeobuf_decode_ctx*
    - Datum*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 462
    functionName: decode_properties
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 0
    functionsReached:
    - ParseDateTime
    - Float8GetDatum
    - UInt32GetDatum
    - Float4GetDatum
    - UInt64GetDatum
    - DecodeDateTime
    - UInt16GetDatum
    - cstring_to_text_with_len
    - elog
    - BoolGetDatum
    - Int8GetDatum
    - POSTGIS_DEBUGF
    - PointerGetDatum
    - Int64GetDatum
    - Int16GetDatum
    - palloc0
    - TimestampTzGetDatum
    - tm2timestamp
    - UInt8GetDatum
    - Int32GetDatum
    - memcpy
    linkageType: ''
    returnType: void
    signature: void decode_properties(struct flatgeobuf_decode_ctx *ctx, Datum *values,
      bool *isnull)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:469,1
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:470,1
    - Dst: Int32GetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:472,1
    - Dst: flatgeobuf_decode_feature
      Src: /src/postgis/postgis/flatgeobuf.c:474,1
    - Dst: elog
      Src: /src/postgis/postgis/flatgeobuf.c:475,1
    - Dst: PointerGetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:478,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/flatgeobuf.c:478,1
    - Dst: POSTGIS_DEBUG
      Src: /src/postgis/postgis/flatgeobuf.c:480,1
    - Dst: decode_properties
      Src: /src/postgis/postgis/flatgeobuf.c:485,1
    - Dst: heap_form_tuple
      Src: /src/postgis/postgis/flatgeobuf.c:487,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/postgis/flatgeobuf.c:488,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:491,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_decode_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 464
    functionDepth: 8
    functionLinenumber: 464
    functionLinenumberEnd: 497
    functionName: flatgeobuf_decode_row
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - flatgeobuf_decode_feature
    - geometry_serialize
    - POSTGIS_DEBUGF
    - heap_form_tuple
    - PointerGetDatum
    - HeapTupleGetDatum
    - elog
    - decode_properties
    - POSTGIS_DEBUG
    - Int32GetDatum
    - palloc0
    linkageType: ''
    returnType: void
    signature: void flatgeobuf_decode_row(struct flatgeobuf_decode_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:506,1
    - Dst: palloc0
      Src: /src/postgis/postgis/flatgeobuf.c:507,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/flatgeobuf.c:508,1
    - Dst: memcpy
      Src: /src/postgis/postgis/flatgeobuf.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - geom_name
    - create_index
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 517
    functionName: flatgeobuf_agg_ctx_init
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - lwalloc
    - palloc0
    - memcpy
    linkageType: ''
    returnType: struct flatgeobuf_agg_ctx
    signature: struct flatgeobuf_agg_ctx *flatgeobuf_agg_ctx_init(const char *geom_name,
      const bool create_index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inspect_table
      Src: /src/postgis/postgis/flatgeobuf.c:534,1
    - Dst: GetAttributeByNum
      Src: /src/postgis/postgis/flatgeobuf.c:536,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/postgis/flatgeobuf.c:538,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/postgis/flatgeobuf.c:539,1
    - Dst: flatgeobuf_encode_header
      Src: /src/postgis/postgis/flatgeobuf.c:544,1
    - Dst: encode_properties
      Src: /src/postgis/postgis/flatgeobuf.c:546,1
    - Dst: ensure_items_len
      Src: /src/postgis/postgis/flatgeobuf.c:548,1
    - Dst: flatgeobuf_encode_feature
      Src: /src/postgis/postgis/flatgeobuf.c:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_agg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 526
    functionDepth: 7
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionName: flatgeobuf_agg_transfn
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - flatgeobuf_encode_header
    - lwgeom_from_gserialized
    - inspect_table
    - ensure_items_len
    - PG_DETOAST_DATUM_COPY
    - flatgeobuf_encode_feature
    - GetAttributeByNum
    - encode_properties
    linkageType: ''
    returnType: void
    signature: void flatgeobuf_agg_transfn(struct flatgeobuf_agg_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/flatgeobuf.c:559,1
    - Dst: flatgeobuf_agg_ctx_init
      Src: /src/postgis/postgis/flatgeobuf.c:561,1
    - Dst: flatgeobuf_encode_header
      Src: /src/postgis/postgis/flatgeobuf.c:564,1
    - Dst: flatgeobuf_create_index
      Src: /src/postgis/postgis/flatgeobuf.c:567,1
    - Dst: ReleaseTupleDesc
      Src: /src/postgis/postgis/flatgeobuf.c:570,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/flatgeobuf.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct flatgeobuf_agg_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 573
    functionName: flatgeobuf_agg_finalfn
    functionSourceFile: /src/postgis/postgis/flatgeobuf.c
    functionUses: 1
    functionsReached:
    - flatgeobuf_create_index
    - POSTGIS_DEBUGF
    - flatgeobuf_encode_header
    - flatgeobuf_agg_ctx_init
    - ReleaseTupleDesc
    - SET_VARSIZE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *flatgeobuf_agg_finalfn(struct flatgeobuf_agg_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - version
    - ','
    - funcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: POSTGIS_DEPRECATE
    functionSourceFile: /src/postgis/postgis/postgis_legacy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_DEPRECATE(version, funcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:43,1
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:44,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:45,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:46,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cstring
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: cstring2text
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geojson.c
    functionUses: 0
    functionsReached:
    - palloc
    - strlen
    - VARDATA
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: text
    signature: 'text *

      cstring2text(const char *cstring)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:54,1
    - Dst: lwalloc
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:55,1
    - Dst: memcpy
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:56,1
    - Dst: VARDATA
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - textptr
    argTypes:
    - text*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: text2cstring
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geojson.c
    functionUses: 0
    functionsReached:
    - VARSIZE_ANY_EXHDR
    - VARDATA
    - lwalloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      text2cstring(const text *textptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:69,1
    - Dst: json_c_version
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:72,1
    - Dst: cstring2text
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:76,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: postgis_libjson_version
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geojson.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_NULL
    - cstring2text
    - json_c_version
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum postgis_libjson_version(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:85,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:86,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:97,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:98,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:100,1
    - Dst: text2cstring
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:101,1
    - Dst: lwgeom_from_geojson
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:103,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:104,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:108,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:109,1
    - Dst: GetSRIDCacheBySRS
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:114,1
    - Dst: lwfree
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:115,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:118,1
    - Dst: geometry_serialize
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:119,1
    - Dst: lwgeom_free
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:120,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/postgis/lwgeom_in_geojson.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 82
    functionDepth: 7
    functionLinenumber: 82
    functionLinenumberEnd: 124
    functionName: geom_from_geojson
    functionSourceFile: /src/postgis/postgis/lwgeom_in_geojson.c
    functionUses: 4
    functionsReached:
    - lwgeom_from_geojson
    - geometry_serialize
    - lwgeom_free
    - GetSRIDCacheBySRS
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - text2cstring
    - lwgeom_set_srid
    - lwfree
    - PG_GETARG_TEXT_P
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum geom_from_geojson(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPrepGeomHashEntry
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:106,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:109,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:111,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:115,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:117,1
    - Dst: DeletePrepGeomHashEntry
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: PreparedCacheDelete
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - DeletePrepGeomHashEntry
    - POSTGIS_DEBUGF
    - elog
    - GEOSPreparedGeom_destroy
    - GEOSGeom_destroy
    - GetPrepGeomHashEntry
    linkageType: ''
    returnType: void
    signature: void PreparedCacheDelete(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DatumGetUInt32
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:133,1
    - Dst: hash_any
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - keysize
    argTypes:
    - void*
    - Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: mcxt_ptr_hasha
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - hash_any
    - DatumGetUInt32
    linkageType: ''
    returnType: uint32
    signature: uint32 mcxt_ptr_hasha(const void *key, Size keysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_create
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: CreatePrepGeomHash
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - hash_create
    linkageType: ''
    returnType: void
    signature: void CreatePrepGeomHash(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_search
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:160,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pghe
    argTypes:
    - PrepGeomHashEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: AddPrepGeomHashEntry
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - elog
    - hash_search
    linkageType: ''
    returnType: void
    signature: void AddPrepGeomHashEntry(PrepGeomHashEntry pghe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_search
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcxt
    argTypes:
    - MemoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: GetPrepGeomHashEntry
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 1
    functionsReached:
    - hash_search
    linkageType: ''
    returnType: PrepGeomHashEntry
    signature: 'PrepGeomHashEntry *

      GetPrepGeomHashEntry(MemoryContext mcxt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_search
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:200,1
    - Dst: elog
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mcxt
    argTypes:
    - MemoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: DeletePrepGeomHashEntry
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 1
    functionsReached:
    - elog
    - hash_search
    linkageType: ''
    returnType: void
    signature: void DeletePrepGeomHashEntry(MemoryContext mcxt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CreatePrepGeomHash
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:233,1
    - Dst: AllocSetContextCreate
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:242,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:249,1
    - Dst: MemoryContextRegisterResetCallback
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:252,1
    - Dst: AddPrepGeomHashEntry
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:257,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:266,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:270,1
    - Dst: GEOSPrepare
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:272,1
    - Dst: GetPrepGeomHashEntry
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:280,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - lwgeom
    - cache
    argTypes:
    - LWGEOM*
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 223
    functionDepth: 10
    functionLinenumber: 223
    functionLinenumberEnd: 291
    functionName: PrepGeomCacheBuilder
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - MemoryContextRegisterResetCallback
    - CreatePrepGeomHash
    - lwpgerror
    - LWGEOM2GEOS
    - GEOSPrepare
    - AddPrepGeomHashEntry
    - MemoryContextAlloc
    - GetPrepGeomHashEntry
    - AllocSetContextCreate
    linkageType: ''
    returnType: int
    signature: int PrepGeomCacheBuilder(const LWGEOM *lwgeom, GeomCache *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPrepGeomHashEntry
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:316,1
    - Dst: lwpgerror
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:319,1
    - Dst: POSTGIS_DEBUGF
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:328,1
    - Dst: GEOSPreparedGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:329,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cache
    argTypes:
    - GeomCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 336
    functionName: PrepGeomCacheCleaner
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - POSTGIS_DEBUGF
    - lwpgerror
    - GEOSPreparedGeom_destroy
    - GEOSGeom_destroy
    - GetPrepGeomHashEntry
    linkageType: ''
    returnType: int
    signature: int PrepGeomCacheCleaner(GeomCache *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:341,1
    - Dst: memset
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: PrepGeomCacheAllocator
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    linkageType: ''
    returnType: GeomCache
    signature: 'GeomCache *

      PrepGeomCacheAllocator()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetGeomCache
      Src: /src/postgis/postgis/lwgeom_geos_prepared.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fcinfo
    - g1
    - g2
    argTypes:
    - FunctionCallInfo
    - SHARED_GSERIALIZED*
    - SHARED_GSERIALIZED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 7
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: GetPrepGeomCache
    functionSourceFile: /src/postgis/postgis/lwgeom_geos_prepared.c
    functionUses: 11
    functionsReached:
    - GetGeomCache
    linkageType: ''
    returnType: PrepGeomCache
    signature: 'PrepGeomCache *

      GetPrepGeomCache(FunctionCallInfo fcinfo, SHARED_GSERIALIZED *g1, SHARED_GSERIALIZED
      *g2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:32,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:33,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:35,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:36,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:38,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:38,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:39,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:40,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:41,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:42,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:43,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:46,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:47,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:49,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:50,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:52,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:52,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:53,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:54,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:55,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:56,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:57,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:60,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:61,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:63,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:66,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:66,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:67,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:68,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:69,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:70,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:71,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:74,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:75,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:77,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:78,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:80,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:80,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:81,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:82,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:83,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:84,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 86
    functionName: test_raster_envelope
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_raster_get_envelope
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_envelope()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:96,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:96,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:97,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:100,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:103,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:103,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:104,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:105,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:106,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:109,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:110,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:112,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:112,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:113,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:114,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:115,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:118,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:119,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:121,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:122,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:123,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:124,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:127,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:128,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:130,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:133,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:133,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:134,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:135,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:136,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:140,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:142,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:143,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:144,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:146,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:147,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:148,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:150,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:151,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:152,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:154,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:155,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:156,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:158,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:159,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:160,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:162,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 164
    functionName: test_raster_envelope_geom
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rt_raster_get_envelope_geom
    - rt_raster_set_scale
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - lwgeom_as_lwpoly
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_raster_get_srid
    - rt_raster_new
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void test_raster_envelope_geom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:174,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:174,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:175,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:178,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:181,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:181,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:182,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:183,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:184,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:187,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:188,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:190,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:191,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:192,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:193,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:196,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:199,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:200,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:201,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:202,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:205,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:206,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:208,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:209,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:210,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:212,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:212,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:214,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:214,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:215,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:218,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:219,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:221,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:222,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:223,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:225,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:226,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:227,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:229,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:230,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:231,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:233,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:234,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:235,1
    - Dst: getPoint4d_p
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:237,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:238,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:239,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:241,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 243
    functionName: test_raster_convex_hull
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rt_raster_set_scale
    - rt_raster_set_skews
    - rt_raster_get_convex_hull
    - CU_ASSERT_EQUAL
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT
    - lwgeom_as_lwpoly
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_raster_get_srid
    - rt_raster_new
    - getPoint4d_p
    linkageType: ''
    returnType: void
    signature: void test_raster_convex_hull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lwgeom
    argTypes:
    - LWGEOM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 10
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: lwgeom_to_text
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 6
    functionsReached:
    - lwgeom_to_wkt
    linkageType: ''
    returnType: char
    signature: 'char *

      lwgeom_to_text(const LWGEOM *lwgeom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:265,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:266,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:268,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:269,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:271,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:272,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:276,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:280,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:281,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:282,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:284,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:285,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:286,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:286,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:286,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:287,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:291,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:293,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:294,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:295,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:296,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:297,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:298,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:298,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:298,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:299,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:303,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:305,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:306,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:307,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:308,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:309,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:311,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:311,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:311,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:312,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:316,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:318,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:319,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:320,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:321,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:322,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:325,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:325,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:325,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:326,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:330,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:332,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:333,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:334,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:335,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:336,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:339,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:339,1
    - Dst: lwgeom_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:339,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:340,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:344,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:346,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:347,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:348,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:349,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:350,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:353,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:353,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:353,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:354,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:358,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:359,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:360,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:361,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:363,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:364,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:365,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:366,1
    - Dst: lwgeom_from_wkt
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:367,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:370,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:370,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:370,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:371,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 375
    functionName: test_raster_surface
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_surface
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - lwmpoly_free
    - lwgeom_perimeter
    - cu_add_band
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_band_set_pixel
    - lwmpoly_as_lwgeom
    - lwgeom_area
    - lwgeom_from_wkt
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_surface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:387,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:388,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:390,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:391,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:393,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:394,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:398,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:402,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:403,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:404,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:405,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:406,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:407,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:408,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:412,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:413,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:414,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:415,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:416,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:418,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:419,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:420,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:421,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:422,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:423,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:424,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:429,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:430,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:431,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:432,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:435,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:436,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:437,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:438,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:439,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:440,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:444,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:445,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:446,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:447,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:450,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:451,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:452,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:453,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:454,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:455,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:456,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:461,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:462,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:463,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:466,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:467,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:468,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:469,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:470,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:471,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:472,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:477,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:478,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:479,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:482,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:483,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:484,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:487,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:488,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:489,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:490,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:491,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:492,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:493,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:497,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:498,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:500,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:501,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:502,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:503,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:504,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:505,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:506,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:510,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:511,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:515,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:519,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:520,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:521,1
    - Dst: lwgeom_to_text
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:522,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:523,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:524,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:525,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 529
    functionName: test_raster_perimeter
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_EQUAL
    - lwgeom_free
    - lwgeom_to_text
    - rtdealloc
    - rt_raster_set_scale
    - CU_ASSERT_EQUAL
    - rt_raster_get_perimeter
    - cu_add_band
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_band_set_pixel
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_perimeter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:539,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:540,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:542,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:543,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:547,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:551,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:552,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:553,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:554,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:555,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:556,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:557,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:558,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:559,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:560,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:561,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:562,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:563,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:564,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:565,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:566,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:567,1
    - Dst: rt_raster_pixel_as_polygon
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:569,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:570,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:571,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 574
    functionName: test_raster_pixel_as_polygon
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_pixel_as_polygon
    - lwpoly_free
    - CU_ASSERT
    - cu_add_band
    - cu_free_raster
    - rt_band_set_pixel
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_pixel_as_polygon()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:591,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:592,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:593,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:597,1
    - Dst: rt_raster_geopoint_to_rasterpoint
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:606,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:611,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:620,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:621,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:622,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:623,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:624,1
    - Dst: rt_band_get_pixel_bilinear
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:629,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 639
    functionName: test_raster_get_pixel_bilinear
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - CU_ASSERT_EQUAL
    - printf
    - rt_raster_generate_new_band
    - rt_raster_geopoint_to_rasterpoint
    - rt_raster_set_offsets
    - rt_raster_get_band
    - rt_band_set_pixel
    - rt_band_get_pixel_bilinear
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_get_pixel_bilinear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:645,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:646,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:647,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:648,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:649,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:650,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:651,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_geometry.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: raster_geometry_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_geometry.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void raster_geometry_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:55,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:55,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:57,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:57,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:58,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:58,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:59,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:59,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:60,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:60,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:61,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:61,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:62,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:62,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:63,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:63,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:64,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:65,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:65,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:66,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:66,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:75,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:75,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:79,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:85,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:86,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:88,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:89,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:92,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:113,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:113,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:114,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:115,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:115,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:116,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:116,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:117,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:117,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:118,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:118,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:119,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:119,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:120,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:120,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:121,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:122,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:122,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:123,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:124,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:124,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:126,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:133,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:133,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:138,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:139,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:163,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:163,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:164,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:165,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:165,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:166,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:166,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:167,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:167,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:168,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:168,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:169,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:169,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:170,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:170,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:171,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:172,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:173,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:173,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:174,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:174,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:178,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:180,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:180,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:181,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:181,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:182,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:182,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:183,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:184,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:185,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:186,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:187,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:195,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:195,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:200,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:201,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:230,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:230,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:232,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:232,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:233,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:233,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:234,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:234,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:235,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:235,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:236,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:236,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:237,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:237,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:238,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:239,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:240,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:240,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:241,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:241,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:246,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:247,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:248,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:248,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:249,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:249,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:250,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:250,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:251,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:252,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:254,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:255,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:256,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:259,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:260,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:262,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:263,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:264,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:266,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:267,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:268,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:270,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:271,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:272,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:274,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:275,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:276,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:284,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:284,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:289,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:295,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:296,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:298,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:299,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:303,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:332,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:332,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:333,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:334,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:334,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:335,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:335,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:336,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:336,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:337,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:337,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:338,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:338,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:339,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:339,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:340,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:340,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:341,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:341,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:342,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:342,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:343,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:343,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:347,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:348,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:349,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:349,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:350,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:350,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:351,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:351,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:353,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:354,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:355,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:357,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:358,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:359,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:361,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:362,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:363,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:365,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:366,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:367,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:369,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:370,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:371,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:373,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:374,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:375,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:378,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:383,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:383,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:388,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:389,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:418,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:418,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:419,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:420,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:420,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:421,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:421,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:422,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:422,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:423,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:423,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:424,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:424,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:425,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:425,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:426,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:426,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:427,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:427,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:428,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:428,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:429,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:429,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:433,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:435,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:435,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:436,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:436,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:437,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:437,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:439,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:440,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:441,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:443,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:444,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:445,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:447,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:448,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:449,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:451,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:452,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:453,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:456,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:457,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:459,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:460,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:461,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:464,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:469,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:469,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:474,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:475,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:501,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:501,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:502,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:503,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:503,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:504,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:504,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:505,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:505,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:506,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:506,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:507,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:507,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:508,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:508,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:509,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:509,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:510,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:510,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:511,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:511,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:512,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:512,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:516,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:517,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:518,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:518,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:519,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:519,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:520,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:520,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:521,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:522,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:523,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:523,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:524,1
    - Dst: rt_band_get_ext_band_num
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:525,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:528,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:533,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:533,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:538,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:539,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:565,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:565,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:566,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:567,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:567,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:568,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:568,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:569,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:569,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:570,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:570,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:571,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:571,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:572,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:572,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:573,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:573,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:574,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:574,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:575,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:575,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:576,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:576,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:580,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:581,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:582,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:582,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:583,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:583,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:584,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:584,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:585,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:586,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:588,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:589,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:590,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:592,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:593,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:594,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:596,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:597,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:598,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:601,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:608,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:608,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:612,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:618,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:619,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:621,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:622,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:625,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:660,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:660,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:661,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:662,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:662,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:663,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:663,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:664,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:664,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:665,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:665,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:666,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:666,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:667,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:667,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:668,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:668,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:669,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:669,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:670,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:670,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:671,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:671,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:676,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:677,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:678,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:678,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:679,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:679,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:680,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:680,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:681,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:682,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:684,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:685,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:686,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:688,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:689,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:690,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:692,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:693,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:694,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:696,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:697,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:698,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:700,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:701,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:702,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:709,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:710,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:711,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:711,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:712,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:712,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:713,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:713,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:714,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:715,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:717,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:718,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:719,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:721,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:722,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:723,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:725,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:726,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:727,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:729,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:730,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:731,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:733,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:734,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:735,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:742,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:743,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:744,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:744,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:745,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:745,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:746,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:746,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:747,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:748,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:750,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:751,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:752,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:754,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:755,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:756,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:758,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:759,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:760,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:762,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:763,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:764,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:766,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:767,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:768,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:771,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:776,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:776,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:781,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:786,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:787,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:789,1
    - Dst: free
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:790,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 349
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 809
    functionName: test_raster_wkb
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_wkb.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_band_get_ext_path
    - rt_band_get_pixtype
    - rt_raster_to_hexwkb
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - rt_raster_deserialize
    - CU_ASSERT
    - strlen
    - cu_free_raster
    - rt_raster_get_num_bands
    - rt_raster_from_hexwkb
    - rt_raster_get_y_scale
    - free
    - rt_raster_get_width
    - rt_band_get_ext_band_num
    - CU_ASSERT_STRING_EQUAL
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - rt_band_get_hasnodata_flag
    - rt_band_is_offline
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_height
    linkageType: ''
    returnType: void
    signature: void test_raster_wkb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:815,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_wkb.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: raster_wkb_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_wkb.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void raster_wkb_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:30,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:31,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:32,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:34,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:35,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:36,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:38,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:39,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: test_raster_new
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - cu_free_raster
    - rt_raster_new
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_raster_new()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:47,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:48,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:49,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:49,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:50,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:53,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:54,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:57,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:57,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: test_raster_empty
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - cu_free_raster
    - rt_raster_new
    - CU_ASSERT
    - rt_raster_is_empty
    linkageType: ''
    returnType: void
    signature: void test_raster_empty()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:66,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:67,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:70,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:70,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:73,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:73,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:76,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:77,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:77,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:78,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:78,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:81,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:82,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:82,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:83,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:83,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:86,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:87,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:87,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:88,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:88,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:92,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:92,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:94,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:94,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: test_raster_metadata
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_offset
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - rt_raster_new
    - rt_raster_set_scale
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - rt_raster_get_y_scale
    - rt_raster_set_skews
    - rt_raster_get_x_scale
    - CU_ASSERT
    - rt_raster_get_x_skew
    - rt_raster_get_srid
    - rt_raster_set_offsets
    - cu_free_raster
    - rt_raster_set_srid
    - rt_raster_get_num_bands
    - rt_raster_has_band
    linkageType: ''
    returnType: void
    signature: void test_raster_metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:108,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:109,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:111,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:112,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:113,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:115,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:116,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:119,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:120,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:121,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:121,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:124,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:124,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:125,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:126,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:127,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:128,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:129,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:130,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:132,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:135,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:137,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:137,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:139,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 141
    functionName: test_raster_clone
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_clone
    - rt_raster_get_geotransform_matrix
    - CU_ASSERT_EQUAL
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_raster_get_srid
    - rt_raster_set_offsets
    - cu_free_raster
    - rt_raster_set_srid
    - rt_raster_get_num_bands
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:153,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:154,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:157,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:158,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:159,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:162,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:163,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:165,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:165,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:166,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:166,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:168,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: test_raster_from_band
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT
    - cu_add_band
    - rt_raster_is_empty
    - rt_band_set_nodata
    - rt_raster_has_band
    - cu_free_raster
    - rt_raster_new
    - rt_raster_from_band
    linkageType: ''
    returnType: void
    signature: void test_raster_from_band()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:182,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:183,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:184,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:185,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:186,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:187,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:189,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:190,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:192,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:193,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:194,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:195,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:196,1
    - Dst: rt_raster_replace_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:198,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:199,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:200,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:200,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:201,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:203,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: test_raster_replace_band
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rt_band_destroy
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_pixtype_size
    - rt_raster_replace_band
    - rt_raster_get_width
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_raster_get_band
    - rt_band_set_ownsdata_flag
    - cu_free_raster
    - rt_raster_get_height
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_replace_band()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:211,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:212,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:213,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:214,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:215,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:216,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_basics.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: raster_basics_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_basics.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void raster_basics_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:42,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:43,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:44,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:46,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:52,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:55,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:55,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:57,1
    - Dst: rt_band_get_file_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:57,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:58,1
    - Dst: rt_band_get_file_timestamp
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:58,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:61,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:61,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:64,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:64,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:65,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:66,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:66,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:69,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:69,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:70,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:70,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:73,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:73,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:76,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:76,1
    - Dst: rt_band_set_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:77,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:78,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:78,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:81,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:81,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:82,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:83,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:83,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:84,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:87,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:87,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:89,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:89,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:90,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:93,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:93,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:94,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:95,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:95,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:97,1
    - Dst: rt_band_new_offline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:105,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:111,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:113,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:114,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:115,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:116,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:116,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:119,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:119,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:122,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:122,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:124,1
    - Dst: rt_band_get_file_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:124,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:125,1
    - Dst: rt_band_get_file_timestamp
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:125,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:128,1
    - Dst: rt_band_get_ext_band_num
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:129,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:132,1
    - Dst: rt_band_load_offline_data
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:132,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:133,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:133,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:137,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:137,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:138,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:143,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:145,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:145,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 148
    functionName: test_band_metadata
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_ext_path
    - rt_band_get_data
    - rt_band_check_is_nodata
    - rt_band_new_inline
    - rt_band_get_file_timestamp
    - rt_band_get_pixel
    - memset
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - rt_band_load_offline_data
    - rt_band_get_file_size
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_new
    - CU_ASSERT_NOT_EQUAL
    - rtalloc
    - rt_raster_add_band
    - rt_raster_set_offsets
    - rt_band_get_ext_band_num
    - rt_band_set_ownsdata_flag
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    - rt_band_new_offline
    - CU_ASSERT_STRING_EQUAL
    - rt_band_set_hasnodata_flag
    - rt_band_get_hasnodata_flag
    - rt_band_is_offline
    - rt_band_get_isnodata_flag
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_band_get_width
    - rt_band_get_pixtype
    - rt_band_destroy
    linkageType: ''
    returnType: void
    signature: void test_band_metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:163,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:163,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:164,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:165,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:165,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:167,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:173,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:174,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:175,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:175,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:177,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:178,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:179,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:181,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:182,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:183,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:184,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:185,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:186,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:187,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:189,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:190,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:191,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:194,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:195,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:198,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:199,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:201,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:202,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:203,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:205,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:206,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:208,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:209,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:210,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:211,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:214,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:215,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:216,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:217,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 222
    functionName: test_band_pixtype_1BB
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_1BB()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:237,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:237,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:238,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:239,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:239,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:241,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:247,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:248,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:249,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:249,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:251,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:252,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:253,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:254,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:255,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:258,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:259,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:260,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:261,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:263,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:264,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:265,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:266,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:267,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:270,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:271,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:272,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:273,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:275,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:276,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:277,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:280,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:281,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:283,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:284,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:285,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:287,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:288,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:289,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:291,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:292,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:293,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:294,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:295,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:296,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:297,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:299,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:300,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:301,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:302,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:303,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:305,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:306,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:307,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:308,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:309,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 314
    functionName: test_band_pixtype_2BUI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_2BUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:329,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:329,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:330,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:331,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:331,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:333,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:339,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:340,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:341,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:341,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:343,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:344,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:345,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:346,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:347,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:349,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:350,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:351,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:352,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:353,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:355,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:356,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:357,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:358,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:359,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:361,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:362,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:363,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:364,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:365,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:367,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:368,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:369,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:370,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:371,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:373,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:374,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:375,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:376,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:377,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:379,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:380,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:381,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:383,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:384,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:385,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:387,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:388,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:389,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:391,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:392,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:393,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:394,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:395,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:396,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:397,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:399,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:400,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:401,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:402,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:403,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:405,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:406,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:407,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:408,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:409,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:411,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:412,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:413,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:414,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:415,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 420
    functionName: test_band_pixtype_4BUI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_4BUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:435,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:435,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:436,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:437,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:437,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:439,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:445,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:446,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:447,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:447,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:449,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:450,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:451,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:452,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:453,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:456,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:457,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:458,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:459,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:461,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:462,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:463,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:464,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:465,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:467,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:468,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:469,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:470,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:471,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:473,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:474,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:475,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:476,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:477,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:479,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:480,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:481,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:482,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:483,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:485,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:486,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:487,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:488,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:489,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:491,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:492,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:493,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:494,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:495,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:497,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:498,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:499,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:501,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:502,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:503,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:505,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:506,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:507,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:508,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:509,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:510,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:511,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:513,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:514,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:515,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:516,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:517,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:519,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:520,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:521,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:522,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:523,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 528
    functionName: test_band_pixtype_8BUI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_8BUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:543,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:543,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:544,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:545,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:545,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:547,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:553,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:554,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:555,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:555,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:557,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:558,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:559,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:560,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:561,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:563,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:564,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:565,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:566,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:567,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:569,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:570,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:571,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:572,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:573,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:575,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:576,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:577,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:578,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:579,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:581,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:582,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:583,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:584,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:585,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:587,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:588,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:589,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:590,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:591,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:593,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:594,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:595,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:596,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:597,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:599,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:600,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:601,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:602,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:603,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:605,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:606,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:607,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:608,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:609,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:612,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:613,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:614,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:617,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:618,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:619,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:622,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:623,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:624,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:627,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:628,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:629,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:631,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:632,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:633,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:634,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:635,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:636,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:637,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:639,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:640,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:641,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:642,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:643,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:645,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:646,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:647,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:648,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:649,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:651,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:652,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:653,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:654,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:655,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 660
    functionName: test_band_pixtype_8BSI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_8BSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:675,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:675,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:676,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:677,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:677,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:679,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:685,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:686,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:687,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:687,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:689,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:690,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:691,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:692,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:693,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:695,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:696,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:697,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:698,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:699,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:701,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:702,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:703,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:704,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:705,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:707,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:708,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:709,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:710,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:711,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:713,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:714,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:715,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:716,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:717,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:719,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:720,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:721,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:724,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:725,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:726,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:729,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:729,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:730,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:732,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:733,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:734,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:735,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:736,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:737,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:738,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:740,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:741,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:742,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:743,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:744,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 749
    functionName: test_band_pixtype_16BUI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_16BUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:764,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:764,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:765,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:766,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:766,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:768,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:774,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:775,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:776,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:776,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:778,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:779,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:780,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:781,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:782,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:784,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:785,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:786,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:787,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:788,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:790,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:791,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:792,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:793,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:794,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:796,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:797,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:798,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:799,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:800,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:802,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:803,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:804,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:805,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:806,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:808,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:809,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:810,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:811,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:812,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:815,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:816,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:817,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:820,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:821,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:822,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:825,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:826,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:827,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:830,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:831,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:832,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:835,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:835,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:836,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:838,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:839,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:840,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:841,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:842,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:843,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:844,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:846,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:847,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:848,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:849,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:850,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:852,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:853,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:854,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:855,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:856,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 861
    functionName: test_band_pixtype_16BSI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_16BSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:876,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:876,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:877,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:878,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:878,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:880,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:886,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:887,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:888,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:888,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:890,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:891,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:892,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:893,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:894,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:896,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:897,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:898,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:899,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:900,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:902,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:903,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:904,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:905,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:906,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:908,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:909,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:910,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:911,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:912,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:915,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:916,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:917,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:920,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:921,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:922,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:925,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:925,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:926,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:928,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:929,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:930,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:931,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:932,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:933,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:934,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:936,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:937,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:938,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:939,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:940,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:942,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:943,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:944,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:945,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:946,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:948,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:949,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:950,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:951,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:952,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 957
    functionName: test_band_pixtype_32BUI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_32BUI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:972,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:972,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:973,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:974,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:974,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:976,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:982,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:983,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:984,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:984,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:986,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:987,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:988,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:989,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:990,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:992,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:993,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:994,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:995,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:996,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:998,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:999,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1000,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1001,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1002,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1004,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1005,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1006,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1007,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1009,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1012,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1013,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1014,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1017,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1018,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1019,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1022,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1022,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1023,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1025,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1026,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1027,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1028,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1029,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1030,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1031,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1033,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1034,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1035,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1036,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1037,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1039,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1040,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1041,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1042,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1043,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1045,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1046,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1047,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1048,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1049,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 1054
    functionName: test_band_pixtype_32BSI
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_32BSI()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1069,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1069,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1070,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1071,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1071,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1073,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1079,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1080,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1081,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1081,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1083,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1084,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1085,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1086,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1087,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1089,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1090,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1091,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1092,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1093,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1095,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1096,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1097,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1098,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1099,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1102,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1103,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1104,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1105,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1107,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1108,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1110,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1112,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1113,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1115,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1116,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1117,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1118,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1119,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1122,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1124,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1125,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1128,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1129,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1130,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1131,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1136
    functionName: test_band_pixtype_32BF
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_32BF()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1151,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1151,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1152,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1153,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1153,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1155,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1161,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1162,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1163,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1163,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1166,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1167,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1168,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1169,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1172,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1173,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1174,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1175,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1177,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1178,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1179,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1180,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1181,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1183,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1184,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1185,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1186,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1187,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1189,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1190,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1191,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1192,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1194,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1195,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1198,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1200,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1201,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1203,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1204,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1205,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1206,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1207,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1209,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1210,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1212,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1213,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1218
    functionName: test_band_pixtype_64BF
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - memset
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_pixtype_size
    - rt_band_set_nodata
    - rt_band_new_inline
    - rt_band_get_nodata
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void test_band_pixtype_64BF()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1231,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1232,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1234,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1236,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1237,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1241,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1244,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1245,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1246,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1247,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1248,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1250,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1251,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1252,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1253,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1254,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1256,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1257,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1260
    functionName: test_band_get_pixel_line
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    - rt_raster_set_scale
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_band_set_pixel
    - rt_band_get_pixel_line
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_get_pixel_line()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_band_new_offline_from_path
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1270,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1276,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1279,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1279,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1282,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1282,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1285,1
    - Dst: rt_band_get_ext_band_num
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1285,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1286,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1289,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1289,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1292,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1292,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1293,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1293,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1296
    functionName: test_band_new_offline_from_path
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_EQUAL
    - rt_band_get_ext_path
    - rt_band_is_offline
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_band_check_is_nodata
    - rt_band_get_ext_band_num
    - rt_band_new_offline_from_path
    - rt_band_get_width
    - rt_band_destroy
    - rt_band_get_height
    linkageType: ''
    returnType: void
    signature: void test_band_new_offline_from_path()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1302,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1303,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1304,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1305,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1306,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1307,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1308,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1309,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1310,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1311,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1312,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1313,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1314,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1315,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_basics.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1317
    functionName: band_basics_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_basics.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void band_basics_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:28,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:28,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:29,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:29,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:30,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:31,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:31,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:32,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:32,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:33,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:33,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:34,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:34,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:35,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:35,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:36,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:36,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:37,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:37,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:38,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:38,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:40,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: test_pixtype_size
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - rt_pixtype_size
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_pixtype_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: test_pixtype_alignment
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_pixtype_alignment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:48,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:48,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:49,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:49,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:50,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:50,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:51,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:51,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:52,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:52,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:53,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:53,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:54,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:54,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:55,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:55,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:56,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:56,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:57,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:57,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:58,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:58,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:60,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: test_pixtype_name
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_EQUAL
    - rt_pixtype_name
    linkageType: ''
    returnType: void
    signature: void test_pixtype_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:64,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:65,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:65,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:66,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:66,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:67,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:67,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:68,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:69,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:69,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:70,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:70,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:71,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:71,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:72,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:72,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:73,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:74,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:74,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:76,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:76,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:77,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:77,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:78,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:78,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:79,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: test_pixtype_index_from_name
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - rt_pixtype_index_from_name
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_pixtype_index_from_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:83,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:83,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:83,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:84,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:84,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:84,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:85,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:85,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:85,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:86,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:86,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:86,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:87,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:87,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:87,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:88,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:88,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:88,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:89,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:89,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:89,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:90,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:90,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:90,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:91,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:91,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:91,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:92,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:92,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:93,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:93,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:95,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:95,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: test_pixtype_get_min_value
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - rt_util_clamp_to_2BUI
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_8BUI
    - rt_pixtype_get_min_value
    - CU_ASSERT_DOUBLE_EQUAL
    - rt_util_clamp_to_4BUI
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32BUI
    - rt_util_clamp_to_1BB
    - rt_util_clamp_to_16BUI
    linkageType: ''
    returnType: void
    signature: void test_pixtype_get_min_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:102,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:102,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:103,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:104,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:104,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:106,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:106,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:107,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:108,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:108,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:110,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:110,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:112,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:112,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:113,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:116,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:116,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:117,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:118,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:118,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:119,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:120,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:120,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:122,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:122,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:124,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:124,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:125,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:126,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:126,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:128,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:128,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:129,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:132,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:132,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:133,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:134,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:134,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:136,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:136,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:137,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:138,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:138,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:140,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:140,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:141,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:142,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:142,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:143,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:146,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:147,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:148,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:148,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:149,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:150,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:150,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:151,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:152,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:152,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:154,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:154,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:155,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:156,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:156,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:157,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:160,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:160,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:161,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:162,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:162,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:163,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:164,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:164,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:166,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:166,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:167,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:168,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:168,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:169,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:170,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:170,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:172,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:172,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:173,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:176,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:176,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:177,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:178,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:178,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:180,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:180,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:181,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:182,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:182,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:183,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:184,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:184,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:185,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:186,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:186,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:190,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:190,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:191,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:192,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:192,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:194,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:194,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:196,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:196,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:198,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:198,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:200,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:200,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:201,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:204,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:204,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:205,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:206,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:206,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:210,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:210,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:212,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:212,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:216,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:216,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:217,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:218,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:218,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:219,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:222,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:222,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:223,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:224,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:224,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:225,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:227,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 228
    functionName: test_pixtype_compare_clamped_values
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - rt_pixtype_compare_clamped_values
    - CU_ASSERT_NOT_EQUAL
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_pixtype_compare_clamped_values()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:234,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:235,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:236,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:237,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:238,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:239,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_pixtype.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: pixtype_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_pixtype.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void pixtype_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_rgb_to_hsv
      Src: /src/postgis/raster/test/cunit/cu_misc.c:31,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:32,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:33,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:34,1
    - Dst: rt_util_rgb_to_hsv
      Src: /src/postgis/raster/test/cunit/cu_misc.c:39,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:40,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:41,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:42,1
    - Dst: rt_util_rgb_to_hsv
      Src: /src/postgis/raster/test/cunit/cu_misc.c:47,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:48,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:49,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:50,1
    - Dst: rt_util_rgb_to_hsv
      Src: /src/postgis/raster/test/cunit/cu_misc.c:55,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:56,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:57,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:58,1
    - Dst: rt_util_rgb_to_hsv
      Src: /src/postgis/raster/test/cunit/cu_misc.c:63,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:64,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:65,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: test_rgb_to_hsv
    functionSourceFile: /src/postgis/raster/test/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - rt_util_rgb_to_hsv
    linkageType: ''
    returnType: void
    signature: void test_rgb_to_hsv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_hsv_to_rgb
      Src: /src/postgis/raster/test/cunit/cu_misc.c:73,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:74,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:75,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:76,1
    - Dst: rt_util_hsv_to_rgb
      Src: /src/postgis/raster/test/cunit/cu_misc.c:81,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:82,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:83,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:84,1
    - Dst: rt_util_hsv_to_rgb
      Src: /src/postgis/raster/test/cunit/cu_misc.c:89,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:90,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:91,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:92,1
    - Dst: rt_util_hsv_to_rgb
      Src: /src/postgis/raster/test/cunit/cu_misc.c:97,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:98,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:99,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:100,1
    - Dst: rt_util_hsv_to_rgb
      Src: /src/postgis/raster/test/cunit/cu_misc.c:105,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:106,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:107,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_misc.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: test_hsv_to_rgb
    functionSourceFile: /src/postgis/raster/test/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - rt_util_hsv_to_rgb
    linkageType: ''
    returnType: void
    signature: void test_hsv_to_rgb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/test/cunit/cu_misc.c:120,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/test/cunit/cu_misc.c:124,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_misc.c:125,1
    - Dst: rt_util_gdal_driver_registered
      Src: /src/postgis/raster/test/cunit/cu_misc.c:128,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/test/cunit/cu_misc.c:133,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_misc.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 143
    functionName: test_util_gdal_open
    functionSourceFile: /src/postgis/raster/test/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - rt_util_gdal_open
    - rt_util_gdal_register_all
    - CU_ASSERT
    - rt_util_gdal_driver_registered
    linkageType: ''
    returnType: void
    signature: void test_util_gdal_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_misc.c:149,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_misc.c:150,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_misc.c:151,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_misc.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: misc_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_misc.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void misc_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:49,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:50,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:51,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:52,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:56,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:60,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:61,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:63,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:64,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:65,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:66,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:68,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:69,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:70,1
    - Dst: rt_band_get_histogram
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:72,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:73,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:74,1
    - Dst: rt_band_get_histogram
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:76,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:77,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:78,1
    - Dst: rt_band_get_histogram
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:80,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:81,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:82,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:84,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:85,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:87,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:88,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:90,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:91,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:92,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:94,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:95,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:96,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:97,1
    - Dst: rt_band_get_histogram
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:99,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:100,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:101,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:103,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:104,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:106,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:107,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:108,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:110,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:111,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:112,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:114,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:115,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:116,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:118,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:119,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:120,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:121,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:123,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:124,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:125,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:127,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:128,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:130,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:131,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:133,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:134,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:135,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:137,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:138,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:140,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:144,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:145,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:147,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:148,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:152,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:156,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:157,1
    - Dst: rt_band_get_quantiles_stream
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:159,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:164,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:165,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:166,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:167,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:168,1
    - Dst: quantile_llist_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:169,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:173,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:177,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:178,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:179,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:180,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:181,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:185,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:189,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:190,1
    - Dst: rt_band_get_quantiles_stream
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:194,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:199,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:200,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:201,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:202,1
    - Dst: quantile_llist_destroy
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:205,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 210
    functionName: test_band_stats
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_stats.c
    functionUses: 0
    functionsReached:
    - rt_band_get_quantiles_stream
    - rtdealloc
    - rt_band_get_quantiles
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_band_get_summary_stats
    - cu_free_raster
    - rt_band_set_pixel
    - rt_band_get_histogram
    - CU_ASSERT_NOT_EQUAL
    - quantile_llist_destroy
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:225,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:226,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:227,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:228,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:229,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:233,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:236,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:237,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:238,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:239,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:241,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:242,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:243,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:244,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:246,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:247,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:248,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:249,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:251,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:252,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:253,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:254,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:256,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:257,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:258,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:259,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:261,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:262,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:263,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:264,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 267
    functionName: test_band_value_count
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_stats.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    - CU_ASSERT
    - cu_add_band
    - rt_band_set_nodata
    - rt_band_get_value_count
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_band_set_pixel
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_value_count()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:273,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:274,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_stats.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: band_stats_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_stats.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void band_stats_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:28,1
    - Dst: rt_util_gdal_configured
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: test_gdal_configured
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_util_gdal_configured
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_gdal_configured()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_gdal_drivers
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:36,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:37,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:40,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:40,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:41,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:42,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:43,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: test_gdal_drivers
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_gdal_drivers
    - strlen
    - rtdealloc
    - CU_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_gdal_drivers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:67,1
    - Dst: strlen
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:67,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:68,1
    - Dst: sscanf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:71,1
    - Dst: rt_raster_gdal_rasterize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:76,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:90,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:91,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:92,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:92,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:93,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:93,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:94,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:94,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:95,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:95,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:97,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 99
    functionName: test_gdal_rasterize
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_offset
    - rtalloc
    - rt_raster_get_x_offset
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - rt_raster_gdal_rasterize
    - CU_ASSERT
    - strlen
    - rt_raster_get_width
    - ceil
    - cu_free_raster
    - sscanf
    - rt_raster_get_num_bands
    - rt_raster_get_height
    - CU_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_gdal_rasterize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:109,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:110,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:112,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:113,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:117,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:118,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:119,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:122,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:123,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:124,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:125,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:126,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:127,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:128,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:129,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:130,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:131,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:132,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:133,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:134,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:135,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:136,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:137,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:138,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:139,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:140,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:141,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:142,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:143,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:144,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:145,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:146,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:147,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:148,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - hasnodata
    - nodataval
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 152
    functionName: fillRasterToPolygonize
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - CU_ASSERT
    - cu_add_band
    - rt_band_set_pixel
    - rt_band_get_width
    - rt_raster_new
    - rt_band_get_height
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster fillRasterToPolygonize(int hasnodata, double nodataval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fillRasterToPolygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:164,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:165,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:165,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:168,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:169,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:174,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:175,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:177,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:178,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:179,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:181,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:182,1
    - Dst: fillRasterToPolygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:185,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:188,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:188,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:191,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:192,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:197,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:198,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:200,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:201,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:202,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:205,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:206,1
    - Dst: fillRasterToPolygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:209,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:212,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:212,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:215,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:216,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:221,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:222,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:225,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:226,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:227,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:229,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:230,1
    - Dst: fillRasterToPolygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:233,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:235,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:235,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:238,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:240,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:245,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:246,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:249,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:250,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:251,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:253,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:254,1
    - Dst: fillRasterToPolygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:257,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:259,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:259,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:262,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:264,1
    - Dst: lwgeom_area
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:269,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:270,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:273,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:274,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:275,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:276,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 278
    functionName: test_gdal_polygonize
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - fillRasterToPolygonize
    - printf
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_gdal_polygonize
    - lwgeom_area
    - rt_raster_has_band
    linkageType: ''
    returnType: void
    signature: void test_gdal_polygonize()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:293,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:294,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:296,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:297,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:299,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:300,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:304,1
    - Dst: rt_raster_to_gdal
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:308,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:310,1
    - Dst: CPLFree
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:319,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:321,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:323,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:324,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:326,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:327,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:329,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:330,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:334,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:339,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:339,1
    - Dst: rt_raster_to_gdal
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:341,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:343,1
    - Dst: CPLFree
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:345,1
    - Dst: rt_raster_to_gdal
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:347,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:348,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 351
    functionName: test_raster_to_gdal
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - CPLFree
    - rt_band_check_is_nodata
    - cu_free_raster
    - rt_raster_set_offsets
    - rt_band_set_pixel
    - rt_raster_to_gdal
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_to_gdal()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:372,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:373,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:375,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:376,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:381,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:385,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:386,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:387,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:388,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:389,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:389,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:390,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:390,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:392,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:393,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:394,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:394,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:396,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:397,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:401,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:402,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:403,1
    - Dst: GDALClose
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:407,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:411,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:412,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:414,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:415,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:418,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:419,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:425,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:431,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:432,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:433,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:435,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:435,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:436,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:436,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:438,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:439,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:440,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:440,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:442,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:443,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:444,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:444,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:449,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:450,1
    - Dst: GDALClose
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:454,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:458,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:459,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 460
    functionName: test_gdal_to_raster
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - GDALGetRasterXSize
    - rt_raster_from_gdal_dataset
    - rt_raster_get_num_bands
    - CU_ASSERT
    - cu_add_band
    - rt_band_get_pixtype
    - rt_raster_get_band
    - cu_free_raster
    - rt_band_set_pixel
    - GDALClose
    - GDALGetRasterYSize
    - rt_raster_to_gdal_mem
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_gdal_to_raster()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:478,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:479,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:481,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:482,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:484,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:485,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:489,1
    - Dst: rt_raster_gdal_warp
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:493,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:503,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:504,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:504,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:505,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:505,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:506,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:506,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:508,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:509,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:511,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:511,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:512,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:513,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:515,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:515,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:516,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:518,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 520
    functionName: test_gdal_warp
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rt_band_get_hasnodata_flag
    - rt_raster_set_scale
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_raster_get_width
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - rt_raster_get_band
    - rt_band_get_nodata
    - cu_free_raster
    - rt_raster_gdal_warp
    - rt_raster_get_num_bands
    - rt_raster_get_height
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_gdal_warp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GDALAllRegister
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:543,1
    - Dst: GDALOpen
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:544,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:545,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:548,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:549,1
    - Dst: rt_raster_gdal_warp
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:552,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:560,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:562,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:563,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:564,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:569,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:570,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:572,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:573,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:575,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:576,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:578,1
    - Dst: fabs
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:578,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:579,1
    - Dst: fabs
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:579,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:580,1
    - Dst: fabs
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:580,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:583,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:584,1
    - Dst: GDALClose
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 586
    functionName: test_gdal_warp_preserves_data
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - GDALAllRegister
    - rt_raster_from_gdal_dataset
    - CU_ASSERT_EQUAL
    - CU_ASSERT_DOUBLE_EQUAL
    - fabs
    - CU_ASSERT
    - rt_raster_destroy
    - GDALClose
    - rt_raster_get_band
    - rt_band_get_summary_stats
    - rt_raster_gdal_warp
    - rt_raster_get_num_bands
    - GDALOpen
    linkageType: ''
    returnType: void
    signature: void test_gdal_warp_preserves_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:592,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:593,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:594,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:595,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:596,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:597,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:598,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:599,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_gdal.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: gdal_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_gdal.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void gdal_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:33,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:34,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:35,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:36,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:38,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:39,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:40,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:41,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: test_raster_cell_to_geopoint
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_misc.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_set_srid
    - rt_raster_cell_to_geopoint
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: void
    signature: void test_raster_cell_to_geopoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:52,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:53,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:54,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:55,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:57,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:58,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:59,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:60,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: test_raster_geopoint_to_cell
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_misc.c
    functionUses: 0
    functionsReached:
    - rt_raster_geopoint_to_cell
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_set_srid
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: void
    signature: void test_raster_geopoint_to_cell()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:72,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:73,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:74,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:75,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:77,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:78,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:79,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:81,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:87,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:89,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:89,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:90,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:90,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:91,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:92,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:93,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:94,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:95,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:103,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:104,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:105,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:106,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:106,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:107,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:108,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:109,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:110,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:111,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:113,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:119,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:120,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:121,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:122,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:122,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:123,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:124,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:125,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:126,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:127,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:129,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:135,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:137,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:137,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:138,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:138,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:139,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:140,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:141,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:142,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:143,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:145,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:146,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:152,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:153,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:155,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:156,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:162,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:163,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:165,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:166,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:172,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:174,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 176
    functionName: test_raster_from_two_rasters
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_misc.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - rt_raster_get_width
    - rt_raster_from_two_rasters
    - rt_raster_set_offsets
    - cu_free_raster
    - CU_ASSERT_NOT_EQUAL
    - rt_raster_set_srid
    - rt_raster_get_height
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_from_two_rasters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_compute_skewed_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:191,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:198,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:202,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:202,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:203,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:203,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:204,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:204,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: test_raster_compute_skewed_raster
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_misc.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_offset
    - rt_raster_get_x_offset
    - rt_raster_compute_skewed_raster
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_get_height
    linkageType: ''
    returnType: void
    signature: void test_raster_compute_skewed_raster()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:213,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:214,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:215,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:216,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_raster_misc.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: raster_misc_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_raster_misc.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void raster_misc_suite_setup(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:42,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:43,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:45,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:46,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:50,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:54,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:55,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:56,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:57,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:58,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:59,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:60,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:61,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:62,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:63,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:64,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:65,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:66,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:67,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:68,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:69,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:70,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:80,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:82,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:92,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:94,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:104,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:106,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:116,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:118,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:128,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:130,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:133,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:140,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:142,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:145,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:152,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:154,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:157,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:164,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:166,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:169,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:176,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:178,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:186,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:188,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:189,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:192,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:193,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:196,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:197,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:200,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:207,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:209,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:212,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:219,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:221,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:231,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:233,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:236,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:243,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:245,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:255,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:257,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:260,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:267,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:269,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:272,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:273,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:276,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:283,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:285,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:287,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 288
    functionName: test_band_get_nearest_pixel
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_misc.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    - rt_band_get_nearest_pixel
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - cu_free_raster
    - rt_band_set_pixel
    - rt_pixel_set_to_array
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_get_nearest_pixel()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:303,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:304,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:306,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:307,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:311,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:315,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:316,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:317,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:318,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:319,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:320,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:321,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:322,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:323,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:324,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:325,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:326,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:327,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:328,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:329,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:330,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:331,1
    - Dst: rt_band_get_pixel_of_value
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:334,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:339,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:341,1
    - Dst: rt_band_get_pixel_of_value
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:344,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:349,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:351,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:353,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:354,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:355,1
    - Dst: rt_band_get_pixel_of_value
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:363,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:365,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 368
    functionName: test_band_get_pixel_of_value
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_misc.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - cu_free_raster
    - rt_band_set_pixel
    - rt_band_get_pixel_of_value
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_get_pixel_of_value()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:389,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:390,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:392,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:393,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:397,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:402,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:403,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:404,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:408,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:409,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:410,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:411,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:414,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:415,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:418,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:419,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:442,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:444,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:456,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:457,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:458,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:461,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:462,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:465,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:466,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:482,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:490,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:492,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:502,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:503,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:504,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:505,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:506,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:507,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:510,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:511,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:514,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:515,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:530,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:538,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:540,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:550,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:551,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:552,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:553,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:554,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:555,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:558,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:559,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:562,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:563,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:566,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:567,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:570,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:571,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:572,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:575,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:577,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 579
    functionName: test_pixel_set_to_array
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_misc.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - rt_band_get_nearest_pixel
    - CU_ASSERT
    - cu_add_band
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_band_set_pixel
    - rt_pixel_set_to_array
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_pixel_set_to_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:585,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:586,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:587,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_band_misc.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionName: band_misc_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_band_misc.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void band_misc_suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suite
    - ','
    - testfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: PG_ADD_TEST
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PG_ADD_TEST(suite, testfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:47,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:48,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:49,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:50,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:52,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:53,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:54,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:55,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:56,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:57,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:58,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:61,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:63,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:68,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:69,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:82,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:83,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:84,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:86,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:87,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:88,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:89,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:90,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:91,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:92,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:94,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:95,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:103,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:110,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:111,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:124,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:126,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:131,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:132,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:145,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:146,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:148,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:154,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:167,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:168,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:169,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:176,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:177,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:190,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:191,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:192,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:193,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:200,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:201,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:214,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:216,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:217,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:218,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:219,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:221,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:226,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:227,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:240,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:241,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:243,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:244,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:245,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:246,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:253,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:254,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:267,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:274,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:275,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:277,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:292,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:293,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:294,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:296,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:297,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:298,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:299,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:300,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:301,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:302,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:303,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:304,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:305,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:306,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:307,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:309,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:310,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:312,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:317,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:318,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:333,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:335,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:336,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:337,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:338,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:339,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:340,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:341,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:342,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:343,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:345,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:350,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:351,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:366,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:367,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:368,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:369,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:370,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:371,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:372,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:373,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:374,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:376,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:381,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:382,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:397,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:398,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:399,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:400,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:401,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:402,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:403,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:404,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:405,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:407,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:412,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:413,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:428,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:429,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:430,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:431,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:432,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:433,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:434,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:435,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:436,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:438,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:443,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:444,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:446,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:450,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:451,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:452,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:453,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:455,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:456,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:457,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:458,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:459,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:460,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:461,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:462,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:463,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:464,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:465,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:466,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:468,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:473,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:474,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:477,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:479,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:484,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:485,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:488,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:490,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:495,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:496,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:498,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 178
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 500
    functionName: test_raster_geos_overlaps
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - rt_raster_overlaps
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_overlaps()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:522,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:523,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:524,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:525,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:527,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:528,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:529,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:530,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:531,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:532,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:533,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:535,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:536,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:538,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:543,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:544,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:557,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:558,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:559,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:561,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:562,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:563,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:564,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:565,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:566,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:567,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:569,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:570,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:572,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:577,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:578,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:580,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:585,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:586,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:599,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:601,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:606,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:607,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:620,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:621,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:623,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:628,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:629,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:642,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:643,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:644,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:646,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:651,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:652,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:665,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:666,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:667,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:668,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:670,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:675,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:676,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:689,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:691,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:692,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:693,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:694,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:696,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:701,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:702,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:715,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:717,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:718,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:719,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:720,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:722,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:727,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:728,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:741,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:743,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:744,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:745,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:746,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:748,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:753,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:754,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:767,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:768,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:770,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:771,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:772,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:773,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:775,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:780,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:781,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:794,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:796,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:801,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:802,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:804,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:819,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:820,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:821,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:823,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:824,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:825,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:826,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:827,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:828,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:829,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:830,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:831,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:832,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:833,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:834,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:836,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:837,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:839,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:844,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:845,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:860,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:862,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:863,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:864,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:865,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:866,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:867,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:868,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:869,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:870,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:872,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:877,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:878,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:893,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:894,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:895,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:896,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:897,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:898,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:899,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:900,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:901,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:903,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:908,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:909,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:924,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:925,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:926,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:927,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:928,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:929,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:930,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:931,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:932,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:934,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:939,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:940,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:955,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:956,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:957,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:958,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:959,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:960,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:961,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:962,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:963,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:965,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:970,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:971,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:973,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:977,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:978,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:979,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:980,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:982,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:983,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:984,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:985,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:986,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:987,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:988,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:989,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:990,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:991,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:992,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:993,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:995,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1000,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1001,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1004,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1006,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1011,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1012,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1015,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1017,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1022,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1023,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1025,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 194
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 1027
    functionName: test_raster_geos_touches
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - rt_raster_touches
    - rt_band_set_pixel
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_touches()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1049,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1050,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1051,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1052,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1054,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1055,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1056,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1057,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1058,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1059,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1060,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1062,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1063,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1065,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1070,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1071,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1084,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1085,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1086,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1088,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1089,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1090,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1091,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1092,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1093,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1094,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1096,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1097,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1099,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1104,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1105,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1107,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1112,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1113,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1126,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1133,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1134,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1147,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1148,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1155,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1156,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1169,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1170,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1171,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1173,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1178,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1179,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1192,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1193,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1194,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1195,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1202,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1203,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1216,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1218,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1219,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1220,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1221,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1223,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1228,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1229,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1242,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1244,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1245,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1246,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1247,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1249,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1254,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1255,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1268,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1270,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1271,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1272,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1273,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1275,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1280,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1281,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1294,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1295,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1297,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1298,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1299,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1300,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1302,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1307,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1308,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1321,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1323,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1329,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1331,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1346,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1347,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1348,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1350,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1351,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1352,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1353,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1354,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1355,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1356,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1357,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1358,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1359,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1360,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1361,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1363,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1364,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1371,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1372,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1387,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1389,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1390,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1391,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1392,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1393,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1394,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1395,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1396,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1397,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1399,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1404,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1405,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1420,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1421,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1422,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1423,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1424,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1425,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1426,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1427,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1428,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1430,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1435,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1436,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1451,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1452,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1453,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1454,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1455,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1456,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1457,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1458,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1459,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1461,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1466,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1467,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1482,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1483,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1484,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1485,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1486,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1487,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1488,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1489,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1490,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1492,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1497,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1498,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1500,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1504,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1505,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1506,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1507,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1509,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1510,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1511,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1512,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1513,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1514,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1515,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1516,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1517,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1518,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1519,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1520,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1522,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1527,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1528,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1531,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1533,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1538,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1539,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1542,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1544,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1549,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1550,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1552,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 194
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1554
    functionName: test_raster_geos_contains
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - rt_raster_contains
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_contains()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1576,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1577,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1578,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1579,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1581,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1582,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1583,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1584,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1585,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1586,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1587,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1589,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1590,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1592,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1597,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1598,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1611,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1612,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1613,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1615,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1616,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1617,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1618,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1619,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1620,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1621,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1623,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1624,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1626,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1631,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1632,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1634,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1639,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1640,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1653,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1655,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1660,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1661,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1674,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1675,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1677,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1682,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1683,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1696,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1697,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1698,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1700,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1705,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1706,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1719,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1720,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1721,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1722,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1724,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1729,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1730,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1743,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1745,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1746,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1747,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1748,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1750,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1755,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1756,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1769,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1771,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1772,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1773,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1774,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1776,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1781,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1782,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1795,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1797,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1798,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1799,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1800,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1802,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1807,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1808,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1821,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1822,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1824,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1825,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1826,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1827,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1829,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1834,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1835,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1848,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1850,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1855,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1856,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1858,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1873,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1874,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1875,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1877,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1878,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1879,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1880,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1881,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1882,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1883,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1884,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1885,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1886,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1887,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1888,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1890,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1891,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1893,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1898,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1899,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1914,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1916,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1917,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1918,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1919,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1920,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1921,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1922,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1923,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1924,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1926,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1931,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1932,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1947,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1948,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1949,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1950,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1951,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1952,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1953,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1954,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1955,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1957,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1962,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1963,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1978,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1979,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1980,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1981,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1982,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1983,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1984,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1985,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1986,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1988,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1993,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:1994,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2009,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2010,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2011,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2012,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2013,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2014,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2015,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2016,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2017,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2019,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2024,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2025,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2027,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2031,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2032,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2033,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2034,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2036,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2037,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2038,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2039,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2040,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2041,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2042,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2043,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2044,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2045,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2046,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2047,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2049,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2054,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2055,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2058,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2060,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2065,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2066,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2069,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2071,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2076,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2077,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2079,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 194
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 2081
    functionName: test_raster_geos_contains_properly
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - rt_raster_contains_properly
    - rt_band_set_pixel
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_contains_properly()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2103,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2104,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2105,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2106,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2108,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2109,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2110,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2111,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2112,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2113,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2114,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2116,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2117,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2119,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2124,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2125,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2138,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2139,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2140,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2142,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2143,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2144,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2145,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2146,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2147,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2148,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2151,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2158,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2159,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2161,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2166,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2167,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2180,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2182,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2187,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2188,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2201,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2202,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2204,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2209,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2210,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2223,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2224,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2225,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2232,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2233,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2246,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2247,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2248,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2249,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2251,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2256,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2257,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2270,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2272,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2273,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2274,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2275,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2277,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2282,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2283,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2296,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2298,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2299,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2300,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2301,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2303,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2308,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2309,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2322,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2324,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2325,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2326,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2327,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2329,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2334,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2335,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2348,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2349,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2351,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2352,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2353,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2354,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2356,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2361,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2362,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2375,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2377,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2382,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2383,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2385,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2400,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2401,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2402,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2404,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2405,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2406,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2407,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2408,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2409,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2410,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2411,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2412,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2413,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2414,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2415,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2417,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2418,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2425,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2426,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2441,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2443,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2444,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2445,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2446,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2447,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2448,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2449,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2450,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2451,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2453,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2458,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2459,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2474,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2475,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2476,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2477,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2478,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2479,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2480,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2481,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2482,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2484,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2489,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2490,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2505,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2506,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2507,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2508,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2509,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2510,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2511,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2512,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2513,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2515,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2520,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2521,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2536,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2537,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2538,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2539,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2540,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2541,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2542,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2543,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2544,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2546,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2551,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2552,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2554,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2558,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2559,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2560,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2561,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2563,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2564,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2565,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2566,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2567,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2568,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2569,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2570,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2571,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2572,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2573,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2574,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2576,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2581,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2582,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2585,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2587,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2592,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2593,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2596,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2598,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2603,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2604,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2606,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 194
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2608
    functionName: test_raster_geos_covers
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_covers
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_covers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2630,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2631,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2632,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2633,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2635,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2636,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2637,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2638,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2639,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2640,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2641,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2643,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2644,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2646,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2651,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2652,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2665,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2666,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2667,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2669,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2670,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2671,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2672,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2673,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2674,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2675,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2677,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2678,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2680,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2685,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2686,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2688,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2693,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2694,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2707,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2709,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2714,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2715,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2728,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2729,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2731,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2736,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2737,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2750,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2751,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2752,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2754,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2759,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2760,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2773,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2774,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2775,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2776,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2778,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2783,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2784,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2797,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2799,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2800,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2801,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2802,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2804,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2809,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2810,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2823,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2825,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2826,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2827,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2828,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2830,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2835,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2836,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2849,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2851,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2852,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2853,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2854,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2856,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2861,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2862,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2875,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2876,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2878,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2879,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2880,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2881,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2883,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2888,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2889,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2902,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2904,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2909,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2910,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2912,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2927,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2928,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2929,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2931,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2932,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2933,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2934,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2935,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2936,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2937,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2938,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2939,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2940,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2941,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2942,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2944,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2945,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2947,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2952,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2953,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2968,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2970,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2971,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2972,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2973,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2974,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2975,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2976,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2977,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2978,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2980,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2985,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:2986,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3001,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3002,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3003,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3004,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3005,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3006,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3007,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3008,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3009,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3011,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3016,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3017,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3032,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3033,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3034,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3035,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3036,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3037,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3038,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3039,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3040,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3042,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3047,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3048,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3063,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3064,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3065,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3066,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3067,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3068,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3069,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3070,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3071,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3073,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3078,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3079,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3081,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3085,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3086,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3087,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3088,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3090,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3091,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3092,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3093,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3094,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3095,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3096,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3097,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3098,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3099,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3100,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3101,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3103,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3108,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3109,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3112,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3114,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3119,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3120,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3123,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3125,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3130,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3131,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3133,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 194
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 3135
    functionName: test_raster_geos_covered_by
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - cu_free_raster
    - rt_raster_new
    - rt_raster_coveredby
    linkageType: ''
    returnType: void
    signature: void test_raster_geos_covered_by()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3157,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3158,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3159,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3160,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3162,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3163,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3164,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3165,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3166,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3167,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3168,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3170,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3171,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3173,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3180,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3182,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3188,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3201,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3202,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3203,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3205,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3206,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3207,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3208,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3209,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3210,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3211,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3214,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3216,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3222,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3223,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3225,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3232,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3234,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3240,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3241,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3254,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3256,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3262,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3263,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3276,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3277,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3285,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3286,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3299,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3300,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3301,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3303,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3309,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3310,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3323,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3324,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3325,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3326,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3334,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3335,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3348,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3350,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3351,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3352,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3353,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3355,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3361,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3362,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3364,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3370,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3371,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3384,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3385,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3387,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3388,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3389,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3390,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3392,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3399,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3412,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3414,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3421,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3423,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3438,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3439,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3440,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3442,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3443,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3444,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3445,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3446,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3447,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3448,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3449,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3450,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3451,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3452,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3453,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3456,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3458,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3464,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3465,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3480,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3482,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3483,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3484,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3485,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3486,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3487,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3488,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3489,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3490,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3492,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3498,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3499,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3514,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3515,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3516,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3517,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3518,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3519,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3520,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3521,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3522,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3530,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3531,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3546,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3547,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3548,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3549,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3550,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3551,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3552,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3553,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3554,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3556,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3562,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3563,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3578,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3579,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3580,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3581,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3582,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3583,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3584,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3585,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3586,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3588,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3594,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3595,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3610,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3612,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3613,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3614,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3615,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3616,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3617,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3618,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3619,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3620,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3622,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3628,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3629,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3631,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3637,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3638,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3640,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3644,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3645,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3646,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3647,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3649,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3650,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3651,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3652,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3653,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3654,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3655,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3656,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3657,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3658,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3659,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3660,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3662,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3668,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3669,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3672,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3674,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3680,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3681,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3684,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3686,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3692,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3693,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3695,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 202
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3137
    functionDepth: 1
    functionLinenumber: 3137
    functionLinenumberEnd: 3697
    functionName: test_raster_within_distance
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - rt_raster_within_distance
    - rt_band_set_pixel
    - CU_ASSERT_NOT_EQUAL
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_within_distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3719,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3720,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3721,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3722,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3724,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3725,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3726,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3727,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3728,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3729,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3730,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3732,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3733,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3735,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3741,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3742,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3744,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3750,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3763,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3764,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3765,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3767,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3768,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3769,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3770,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3771,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3772,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3773,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3775,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3776,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3778,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3784,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3785,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3787,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3793,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3794,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3796,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3802,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3803,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3816,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3818,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3824,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3825,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3838,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3839,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3841,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3847,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3848,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3861,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3862,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3863,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3865,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3871,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3872,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3885,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3886,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3887,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3888,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3890,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3896,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3897,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3910,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3912,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3913,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3914,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3915,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3917,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3923,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3924,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3926,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3932,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3933,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3946,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3947,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3949,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3950,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3951,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3952,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3954,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3960,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3961,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3974,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3976,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3982,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3983,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:3985,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4000,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4001,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4002,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4004,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4005,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4006,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4007,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4008,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4009,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4010,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4011,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4012,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4013,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4014,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4015,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4017,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4018,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4020,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4026,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4027,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4042,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4044,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4045,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4046,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4047,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4048,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4049,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4050,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4051,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4052,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4054,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4060,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4061,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4076,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4077,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4078,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4079,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4080,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4081,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4082,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4083,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4084,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4086,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4092,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4093,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4108,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4109,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4110,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4111,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4112,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4113,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4114,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4115,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4116,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4118,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4124,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4125,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4140,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4141,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4142,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4143,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4144,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4145,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4146,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4147,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4148,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4156,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4157,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4172,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4174,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4175,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4176,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4177,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4178,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4179,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4180,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4181,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4182,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4190,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4191,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4200,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4202,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4206,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4207,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4208,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4209,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4211,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4212,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4213,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4214,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4215,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4216,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4217,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4218,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4219,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4220,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4221,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4222,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4230,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4231,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4234,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4236,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4242,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4243,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4246,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4254,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4255,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4257,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 202
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4259
      start: 3699
    functionDepth: 1
    functionLinenumber: 3699
    functionLinenumberEnd: 4259
    functionName: test_raster_fully_within_distance
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_raster_fully_within_distance
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_fully_within_distance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4281,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4282,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4283,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4284,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4286,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4287,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4288,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4289,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4290,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4291,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4292,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4294,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4295,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4308,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4309,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4310,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4312,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4313,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4314,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4315,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4316,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4317,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4318,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4320,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4321,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4323,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4329,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4331,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4336,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4337,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4350,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4352,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4357,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4358,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4371,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4372,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4374,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4379,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4380,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4393,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4394,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4395,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4397,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4402,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4403,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4416,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4417,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4418,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4419,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4421,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4426,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4427,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4440,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4442,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4443,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4444,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4445,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4447,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4452,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4453,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4466,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4467,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4469,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4470,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4471,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4472,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4474,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4479,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4480,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4493,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4495,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4500,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4501,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4503,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4518,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4519,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4520,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4522,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4523,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4524,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4525,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4526,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4527,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4528,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4529,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4530,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4531,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4532,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4533,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4535,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4536,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4538,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4543,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4544,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4559,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4561,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4562,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4563,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4564,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4565,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4566,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4567,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4568,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4569,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4571,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4576,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4577,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4592,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4593,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4594,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4595,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4596,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4597,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4598,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4599,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4600,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4602,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4607,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4608,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4623,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4624,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4625,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4626,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4627,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4628,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4629,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4630,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4631,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4633,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4638,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4639,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4654,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4655,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4656,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4657,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4658,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4659,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4660,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4661,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4662,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4664,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4669,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4670,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4672,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4676,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4677,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4678,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4679,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4681,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4682,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4683,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4684,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4685,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4686,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4687,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4688,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4689,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4690,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4691,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4692,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4694,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4699,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4700,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4703,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4705,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4710,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4711,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4714,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4716,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4721,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4722,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4724,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4726
      start: 4261
    functionDepth: 1
    functionLinenumber: 4261
    functionLinenumberEnd: 4726
    functionName: test_raster_intersects
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - cu_add_band
    - CU_ASSERT
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_raster_set_offsets
    - CU_ASSERT_NOT_EQUAL
    - rt_band_set_pixel
    - cu_free_raster
    - rt_raster_intersects
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_intersects()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4735,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4736,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4737,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4739,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4740,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4741,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4743,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4744,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4745,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4747,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4748,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4749,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4750,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4751,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4752,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4754,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4755,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4756,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4757,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4758,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4759,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4761,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4762,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4763,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4764,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4766,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4767,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4768,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4769,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4771,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4772,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4773,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4774,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4775,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4777,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4779
      start: 4728
    functionDepth: 1
    functionLinenumber: 4728
    functionLinenumberEnd: 4779
    functionName: test_raster_same_alignment
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_EQUAL
    - rt_raster_set_scale
    - rt_raster_set_skews
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - CU_ASSERT_NOT_EQUAL
    - rt_raster_same_alignment
    - rt_raster_set_offsets
    - cu_free_raster
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_same_alignment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4785,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4786,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4787,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4788,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4789,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4790,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4791,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4792,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4793,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4794,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_spatial_relationship.c:4795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4783
    functionDepth: 0
    functionLinenumber: 4783
    functionLinenumberEnd: 4796
    functionName: spatial_relationship_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void spatial_relationship_suite_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:39,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:40,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:41,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:48,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:49,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:56,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:57,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:64,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:71,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:72,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:79,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:80,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:87,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 92
    functionName: testRasterIterator1_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator1_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:99,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:100,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:101,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:111,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:118,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:119,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:121,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:122,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:129,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:132,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:140,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:142,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:143,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:151,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:154,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:161,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:162,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:164,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:174,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:181,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:183,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 187
    functionName: testRasterIterator2_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator2_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:194,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:196,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:203,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:205,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:206,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:214,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:216,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:217,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:225,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:228,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:235,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:236,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:239,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:246,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:247,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 253
    functionName: testRasterIterator3_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator3_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:260,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:261,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:262,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:270,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:272,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:280,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:282,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:283,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:290,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:291,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:293,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:294,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:301,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:302,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 308
    functionName: testRasterIterator4_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator4_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:315,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:316,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:317,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:324,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:326,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:327,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:334,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:336,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:337,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:344,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:346,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:347,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:354,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:355,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 361
    functionName: testRasterIterator5_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator5_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:368,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:369,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:370,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:377,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:378,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:380,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:387,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:388,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:390,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:391,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:399,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:401,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:402,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:409,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:410,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:412,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 417
    functionName: testRasterIterator6_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator6_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:424,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:425,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:426,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:433,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:436,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:438,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:439,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:441,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:449,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:451,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:452,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:455,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:457,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:458,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:465,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:466,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:468,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:469,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:471,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:473,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:480,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:481,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:483,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:484,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:486,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:487,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 493
    functionName: testRasterIterator7_callback
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: int
    signature: int testRasterIterator7_callback(rt_iterator_arg arg, void *userarg,
      double *value, int *nodata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:512,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:513,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:515,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:516,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:518,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:519,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:523,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:527,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:528,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:530,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:531,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:533,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:534,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:538,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:542,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:543,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:545,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:546,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:549,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:550,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:553,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:554,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:567,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:578,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:579,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:579,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:580,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:580,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:581,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:581,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:582,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:582,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:583,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:583,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:584,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:584,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:585,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:585,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:586,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:586,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:587,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:587,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:589,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:597,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:608,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:609,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:609,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:610,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:610,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:611,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:611,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:612,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:612,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:613,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:613,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:614,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:614,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:615,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:615,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:616,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:616,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:617,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:617,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:619,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:627,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:638,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:639,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:639,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:640,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:640,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:641,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:641,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:642,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:642,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:643,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:643,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:644,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:644,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:645,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:645,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:646,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:646,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:647,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:647,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:649,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:653,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:664,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:665,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:665,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:666,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:666,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:667,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:667,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:668,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:668,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:669,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:669,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:670,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:670,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:671,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:671,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:672,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:672,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:673,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:673,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:675,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:679,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:690,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:691,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:691,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:692,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:692,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:693,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:693,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:694,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:694,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:695,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:695,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:696,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:696,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:697,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:697,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:698,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:698,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:699,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:699,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:701,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:705,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:716,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:717,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:717,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:718,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:718,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:719,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:719,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:720,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:720,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:721,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:721,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:722,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:722,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:723,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:723,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:724,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:724,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:725,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:725,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:727,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:731,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:742,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:743,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:743,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:744,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:744,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:745,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:745,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:746,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:746,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:747,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:747,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:748,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:748,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:749,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:749,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:750,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:750,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:751,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:751,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:753,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:761,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:772,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:773,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:773,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:774,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:774,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:775,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:775,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:776,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:776,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:777,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:777,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:778,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:778,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:779,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:779,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:780,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:780,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:781,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:781,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:783,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:786,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:787,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:789,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:790,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:791,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:793,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 168
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 794
    functionName: test_raster_iterator
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_scale
    - cu_add_band
    - rt_raster_get_y_offset
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_free_raster
    - rt_raster_new
    - rtalloc
    - rt_raster_get_y_scale
    - rt_raster_iterator
    - rt_raster_get_width
    - rt_raster_set_offsets
    - rt_band_set_pixel
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_raster_get_srid
    - rt_raster_get_height
    linkageType: ''
    returnType: void
    signature: void test_raster_iterator()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:810,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:811,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:812,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:813,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:814,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:818,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:822,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:823,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:825,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:826,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:829,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:830,1
    - Dst: rt_band_reclass
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:860,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:861,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:863,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:864,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:865,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:867,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:868,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:869,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:871,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:872,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:873,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:875,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:876,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:877,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 880
    functionName: test_band_reclass
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - rt_band_destroy
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_band_set_nodata
    - rt_band_get_nodata
    - rt_band_reclass
    - cu_free_raster
    - rt_band_set_pixel
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_band_reclass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:892,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:893,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:894,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:895,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:896,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:900,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:904,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:905,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:907,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:908,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:935,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:939,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:940,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:940,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:942,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:943,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:944,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:944,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:945,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:946,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:946,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:947,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:948,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:948,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:949,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:951,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:956,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:960,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:961,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:961,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:962,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:967,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:971,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:972,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:972,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:974,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:975,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:976,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:976,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:977,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:978,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:978,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:979,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:980,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:980,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:981,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:982,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:982,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:983,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:984,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:984,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:985,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:987,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:992,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:996,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:997,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:997,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:999,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1000,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1001,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1001,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1002,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1003,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1003,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1004,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1005,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1005,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1006,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1007,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1007,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1008,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1009,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1009,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1010,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1011,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1011,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1012,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1013,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1013,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1014,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1016,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1022,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1026,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1027,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1027,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1029,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1030,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1031,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1031,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1032,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1033,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1033,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1034,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1035,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1035,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1036,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1037,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1037,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1038,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1039,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1039,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1040,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1041,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1041,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1042,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1043,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1043,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1044,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1046,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1048,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1049,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1051,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1054,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1055,1
    - Dst: cu_add_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1056,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1057,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1058,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1062,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1066,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1067,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1069,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1070,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1146,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1151,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1151,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1153,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1154,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1155,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1155,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1156,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1157,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1157,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1158,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1159,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1159,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1160,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1161,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1161,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1162,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1164,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1164,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1166,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1166,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1167,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1168,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1168,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1169,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1171,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1171,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1173,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1173,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1174,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1175,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1175,1
    - Dst: CU_ASSERT_DOUBLE_EQUAL
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1176,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1178,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1180,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1181,1
    - Dst: cu_free_raster
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 222
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 1184
    functionName: test_raster_colormap
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - rt_raster_colormap
    - rtdealloc
    - CU_ASSERT_DOUBLE_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT
    - cu_add_band
    - rt_band_set_nodata
    - rt_raster_get_band
    - cu_free_raster
    - rt_band_set_pixel
    - rt_raster_get_num_bands
    - rt_raster_new
    linkageType: ''
    returnType: void
    signature: void test_raster_colormap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1190,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1191,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1192,1
    - Dst: PG_ADD_TEST
      Src: /src/postgis/raster/test/cunit/cu_mapalgebra.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1194
    functionName: mapalgebra_suite_setup
    functionSourceFile: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    functionUses: 0
    functionsReached:
    - PG_ADD_TEST
    - CU_add_suite
    linkageType: ''
    returnType: void
    signature: void mapalgebra_suite_setup(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_set_handlers
      Src: /src/postgis/raster/test/cunit/cu_tester.c:75,1
    - Dst: rt_set_handlers
      Src: /src/postgis/raster/test/cunit/cu_tester.c:77,1
    - Dst: CU_initialize_registry
      Src: /src/postgis/raster/test/cunit/cu_tester.c:87,1
    - Dst: CU_get_error
      Src: /src/postgis/raster/test/cunit/cu_tester.c:89,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:90,1
    - Dst: CU_basic_set_mode
      Src: /src/postgis/raster/test/cunit/cu_tester.c:102,1
    - Dst: CU_basic_run_tests
      Src: /src/postgis/raster/test/cunit/cu_tester.c:105,1
    - Dst: CU_get_registry
      Src: /src/postgis/raster/test/cunit/cu_tester.c:112,1
    - Dst: CU_get_suite_by_name
      Src: /src/postgis/raster/test/cunit/cu_tester.c:117,1
    - Dst: CU_get_test_by_name
      Src: /src/postgis/raster/test/cunit/cu_tester.c:124,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:137,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:144,1
    - Dst: CU_run_test
      Src: /src/postgis/raster/test/cunit/cu_tester.c:148,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:151,1
    - Dst: CU_get_number_of_asserts
      Src: /src/postgis/raster/test/cunit/cu_tester.c:155,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/raster/test/cunit/cu_tester.c:156,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:157,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:164,1
    - Dst: CU_run_suite
      Src: /src/postgis/raster/test/cunit/cu_tester.c:168,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:171,1
    - Dst: CU_get_number_of_tests_run
      Src: /src/postgis/raster/test/cunit/cu_tester.c:175,1
    - Dst: CU_get_number_of_tests_failed
      Src: /src/postgis/raster/test/cunit/cu_tester.c:176,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:177,1
    - Dst: CU_get_number_of_asserts
      Src: /src/postgis/raster/test/cunit/cu_tester.c:179,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/raster/test/cunit/cu_tester.c:180,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:181,1
    - Dst: CU_basic_show_failures
      Src: /src/postgis/raster/test/cunit/cu_tester.c:188,1
    - Dst: CU_get_failure_list
      Src: /src/postgis/raster/test/cunit/cu_tester.c:188,1
    - Dst: printf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:189,1
    - Dst: CU_get_number_of_failures
      Src: /src/postgis/raster/test/cunit/cu_tester.c:191,1
    - Dst: CU_cleanup_registry
      Src: /src/postgis/raster/test/cunit/cu_tester.c:192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 194
    functionName: main
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.c
    functionUses: 2
    functionsReached:
    - printf
    - CU_get_number_of_tests_run
    - rt_set_handlers
    - CU_cleanup_registry
    - CU_get_error
    - CU_basic_show_failures
    - CU_get_test_by_name
    - CU_basic_run_tests
    - CU_get_suite_by_name
    - CU_basic_set_mode
    - CU_get_failure_list
    - CU_run_test
    - CU_initialize_registry
    - CU_get_registry
    - CU_get_number_of_asserts
    - CU_get_number_of_failures
    - CU_get_number_of_tests_failed
    - lwgeom_set_handlers
    - CU_run_suite
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/raster/test/cunit/cu_tester.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: cu_error_reporter
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cu_error_reporter(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_tester.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: cu_error_msg_reset
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.c
    functionUses: 35
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void cu_error_msg_reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_tester.c:213,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/test/cunit/cu_tester.c:216,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/test/cunit/cu_tester.c:217,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/test/cunit/cu_tester.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: cu_free_raster
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.c
    functionUses: 42
    functionsReached:
    - rt_raster_destroy
    - rt_raster_get_num_bands
    - rt_band_destroy
    - rt_raster_get_band
    linkageType: ''
    returnType: void
    signature: void cu_free_raster(rt_raster raster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/test/cunit/cu_tester.c:232,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/test/cunit/cu_tester.c:233,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/test/cunit/cu_tester.c:235,1
    - Dst: rtalloc
      Src: /src/postgis/raster/test/cunit/cu_tester.c:236,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_tester.c:237,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_tester.c:240,1
    - Dst: memset
      Src: /src/postgis/raster/test/cunit/cu_tester.c:242,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/test/cunit/cu_tester.c:244,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_tester.c:245,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/test/cunit/cu_tester.c:246,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/test/cunit/cu_tester.c:248,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/test/cunit/cu_tester.c:248,1
    - Dst: CU_ASSERT
      Src: /src/postgis/raster/test/cunit/cu_tester.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - raster
    - pixtype
    - hasnodata
    - nodataval
    argTypes:
    - rt_raster
    - rt_pixtype
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: cu_add_band
    functionSourceFile: /src/postgis/raster/test/cunit/cu_tester.c
    functionUses: 28
    functionsReached:
    - rtalloc
    - memset
    - rt_raster_add_band
    - CU_ASSERT
    - rt_pixtype_size
    - rt_raster_get_width
    - rt_band_new_inline
    - rt_band_set_ownsdata_flag
    - rt_raster_get_num_bands
    - rt_raster_get_height
    linkageType: ''
    returnType: rt_band
    signature: rt_band cu_add_band(rt_raster raster, rt_pixtype pixtype, int hasnodata,
      double nodataval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: SWAP
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: ORDER
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ORDER(x, y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ORDER
      Src: /src/postgis/raster/rt_core/rt_statistics.c:48,1
    - Dst: ORDER
      Src: /src/postgis/raster/rt_core/rt_statistics.c:49,1
    - Dst: ORDER
      Src: /src/postgis/raster/rt_core/rt_statistics.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: pivot
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - ORDER
    linkageType: ''
    returnType: double
    signature: double pivot(double *left, double *right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SWAP
      Src: /src/postgis/raster/rt_core/rt_statistics.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - left
    - right
    - pivot
    argTypes:
    - double*
    - double*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: partition
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 4
    functionsReached:
    - SWAP
    linkageType: ''
    returnType: double
    signature: double *partition(double *left, double *right, double pivot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pivot
      Src: /src/postgis/raster/rt_core/rt_statistics.c:82,1
    - Dst: partition
      Src: /src/postgis/raster/rt_core/rt_statistics.c:86,1
    - Dst: quicksort
      Src: /src/postgis/raster/rt_core/rt_statistics.c:87,1
    - Dst: quicksort
      Src: /src/postgis/raster/rt_core/rt_statistics.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: quicksort
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - partition
    - quicksort
    - pivot
    linkageType: ''
    returnType: void
    signature: void quicksort(double *left, double *right)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:144,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:146,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:149,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:153,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:155,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_statistics.c:159,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:173,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_statistics.c:175,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:179,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:180,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:181,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:184,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:185,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:187,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_statistics.c:196,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:217,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:218,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:225,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:238,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:239,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:242,1
    - Dst: srand
      Src: /src/postgis/raster/rt_core/rt_statistics.c:243,1
    - Dst: time
      Src: /src/postgis/raster/rt_core/rt_statistics.c:243,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:246,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:250,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_statistics.c:252,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:258,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:260,1
    - Dst: rand
      Src: /src/postgis/raster/rt_core/rt_statistics.c:280,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:284,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_statistics.c:287,1
    - Dst: pow
      Src: /src/postgis/raster/rt_core/rt_statistics.c:308,1
    - Dst: pow
      Src: /src/postgis/raster/rt_core/rt_statistics.c:320,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:343,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:350,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_statistics.c:361,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_statistics.c:367,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:372,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_statistics.c:376,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:379,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:381,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:385,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 168
    argCount: 7
    argNames:
    - band
    - exclude_nodata_value
    - sample
    - inc_vals
    - cK
    - cM
    - cQ
    argTypes:
    - rt_band
    - int
    - double
    - int
    - uint64_t*
    - double*
    - double*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    constantsTouched: []
    func_position:
      end: 387
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 387
    functionName: rt_band_get_summary_stats
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 2
    functionsReached:
    - assert
    - FLT_EQ
    - rtrealloc
    - RASTER_DEBUGF
    - rtwarn
    - sqrt
    - rt_band_get_pixel
    - rtdealloc
    - clock
    - rand
    - rtalloc
    - time
    - pow
    - round
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_isnodata_flag
    - srand
    - rt_band_get_nodata
    linkageType: ''
    returnType: rt_bandstats
    signature: "rt_bandstats rt_band_get_summary_stats(\n\trt_band band,\n\tint exclude_nodata_value,
      double sample, int inc_vals,\n\tuint64_t *cK, double *cM, double *cQ\n)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:433,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:435,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:438,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:439,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:442,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:449,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:450,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:457,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_core/rt_statistics.c:480,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_statistics.c:480,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_core/rt_statistics.c:483,1
    - Dst: log2
      Src: /src/postgis/raster/rt_core/rt_statistics.c:483,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_core/rt_statistics.c:493,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_core/rt_statistics.c:496,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:505,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:507,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:511,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:513,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:533,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:535,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:545,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:547,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:548,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:606,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:623,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:640,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:642,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:645,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:650,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:652,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 148
    argCount: 8
    argNames:
    - stats
    - bin_count
    - bin_width
    - bin_width_count
    - right
    - min
    - max
    - rtn_count
    argTypes:
    - rt_bandstats
    - uint32_t
    - double*
    - uint32_t
    - int
    - double
    - double
    - uint32_t*
    assertStmts:
    - condition: (NULL != stats)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    - condition: (NULL != rtn_count)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    constantsTouched: []
    func_position:
      end: 654
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 654
    functionName: rt_band_get_histogram
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - RASTER_DEBUG
    - rtdealloc
    - rterror
    - FLT_EQ
    - clock
    - ceil
    - log2
    - RASTER_DEBUGF
    - sqrt
    linkageType: ''
    returnType: rt_histogram
    signature: "rt_histogram rt_band_get_histogram(\n\trt_bandstats stats,\n\tuint32_t
      bin_count, double *bin_width, uint32_t bin_width_count,\n\tint right, double
      min, double max,\n\tuint32_t *rtn_count\n)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:688,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:690,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:693,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:694,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:697,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:707,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:710,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:723,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:724,1
    - Dst: quicksort
      Src: /src/postgis/raster/rt_core/rt_statistics.c:728,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:731,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:733,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:734,1
    - Dst: quicksort
      Src: /src/postgis/raster/rt_core/rt_statistics.c:740,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_statistics.c:754,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:765,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:767,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:771,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - stats
    - quantiles
    - quantiles_count
    - rtn_count
    argTypes:
    - rt_bandstats
    - double*
    - int
    - uint32_t*
    assertStmts:
    - condition: (NULL != stats)
      pos:
        line_end: 692
        line_start: 692
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    - condition: (NULL != rtn_count)
      pos:
        line_end: 693
        line_start: 693
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    constantsTouched: []
    func_position:
      end: 774
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 774
    functionName: rt_band_get_quantiles
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - quicksort
    - RASTER_DEBUG
    - rtdealloc
    - rterror
    - clock
    - RASTER_DEBUGF
    - floor
    linkageType: ''
    returnType: rt_quantile
    signature: "rt_quantile rt_band_get_quantiles(\n\trt_bandstats stats,\n\tdouble
      *quantiles, int quantiles_count,\n\tuint32_t *rtn_count\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:786,1
    - Dst: quantile_llist_search
      Src: /src/postgis/raster/rt_core/rt_statistics.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - element
    - needle
    argTypes:
    - struct quantile_llist_element*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 794
    functionName: quantile_llist_search
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - quantile_llist_search
    - FLT_NEQ
    linkageType: ''
    returnType: struct quantile_llist_element
    signature: "struct quantile_llist_element *quantile_llist_search(\n\tstruct quantile_llist_element
      *element,\n\tdouble needle\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:804,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:805,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:820,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:823,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:824,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:839,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - element
    - value
    - idx
    argTypes:
    - struct quantile_llist_element*
    - double
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 853
    functionName: quantile_llist_insert
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - RASTER_DEBUGF
    - quantile_llist_insert
    linkageType: ''
    returnType: struct quantile_llist_element
    signature: "struct quantile_llist_element *quantile_llist_insert(\n\tstruct quantile_llist_element
      *element,\n\tdouble value,\n\tuint32_t *idx\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:872,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - element
    argTypes:
    - struct quantile_llist_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 876
    functionName: quantile_llist_delete
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUGF
    - rtdealloc
    linkageType: ''
    returnType: int
    signature: int quantile_llist_delete(struct quantile_llist_element *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:887,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:889,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:891,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - list
    - list_count
    argTypes:
    - struct quantile_llist**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 896
    functionName: quantile_llist_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - quantile_llist_delete
    - rtdealloc
    linkageType: ''
    returnType: int
    signature: int quantile_llist_destroy(struct quantile_llist **list, uint32_t list_count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_statistics.c:899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - qll
    - qle
    - idx
    argTypes:
    - struct quantile_llist*
    - struct quantile_llist_element*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 917
    functionName: quantile_llist_index_update
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void quantile_llist_index_update(struct quantile_llist *qll, struct
      quantile_llist_element *qle, uint32_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - qll
    - qle
    argTypes:
    - struct quantile_llist*
    - struct quantile_llist_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: quantile_llist_index_delete
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUGF
    linkageType: ''
    returnType: void
    signature: void quantile_llist_index_delete(struct quantile_llist *qll, struct
      quantile_llist_element *qle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:942,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:951,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:952,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:959,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - qll
    - value
    - index
    argTypes:
    - struct quantile_llist*
    - double
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 969
    functionName: quantile_llist_index_search
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUGF
    - FLT_EQ
    linkageType: ''
    returnType: struct quantile_llist_element
    signature: "struct quantile_llist_element *quantile_llist_index_search(\n\tstruct
      quantile_llist *qll,\n\tdouble value,\n\tuint32_t *index\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qll
    argTypes:
    - struct quantile_llist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: quantile_llist_index_reset
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUG
    linkageType: ''
    returnType: void
    signature: void quantile_llist_index_reset(struct quantile_llist *qll)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1048,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1050,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1051,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1052,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1053,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1055,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1057,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1061,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1063,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1073,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1076,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1089,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1090,1
    - Dst: quicksort
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1094,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1098,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1099,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1101,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1102,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1106,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1117,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1119,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1120,1
    - Dst: quantile_llist_index_reset
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1124,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1129,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1138,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1140,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1143,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1148,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1149,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1156,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1169,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1170,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1171,1
    - Dst: srand
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1172,1
    - Dst: time
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1172,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1174,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1182,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1183,1
    - Dst: rand
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1191,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1195,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1198,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1207,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1208,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1210,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1213,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1219,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1225,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1228,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1234,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1240,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1249,1
    - Dst: quantile_llist_index_search
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1253,1
    - Dst: quantile_llist_search
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1254,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1259,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1260,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1270,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1274,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1278,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1280,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1284,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1286,1
    - Dst: quantile_llist_index_update
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1303,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1305,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1309,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1314,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1319,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1321,1
    - Dst: quantile_llist_index_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1323,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1324,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1327,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1330,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1332,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1334,1
    - Dst: quantile_llist_index_search
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1338,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1339,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1342,1
    - Dst: quantile_llist_index_update
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1355,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1357,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1368,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1378,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1383,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1388,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1390,1
    - Dst: quantile_llist_index_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1392,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1393,1
    - Dst: quantile_llist_index_update
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1396,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1397,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1400,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1402,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1404,1
    - Dst: quantile_llist_index_search
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1408,1
    - Dst: quantile_llist_insert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1409,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1412,1
    - Dst: quantile_llist_index_update
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1425,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1427,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1438,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1447,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1451,1
    - Dst: quantile_llist_index_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1457,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1458,1
    - Dst: quantile_llist_index_update
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1462,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1465,1
    - Dst: quantile_llist_index_reset
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1472,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1477,1
    - Dst: quantile_llist_index_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1483,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1484,1
    - Dst: quantile_llist_delete
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1489,1
    - Dst: quantile_llist_index_reset
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1496,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1501,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1503,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1508,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1517,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1520,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1526,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1533,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1535,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1553,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1555,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1557,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1568,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1572,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1580,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1585,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 390
    argCount: 9
    argNames:
    - band
    - exclude_nodata_value
    - sample
    - cov_count
    - qlls
    - qlls_count
    - quantiles
    - quantiles_count
    - rtn_count
    argTypes:
    - rt_band
    - int
    - double
    - uint64_t
    - struct quantile_llist**
    - uint32_t*
    - double*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    - condition: (NULL != rtn_count)
      pos:
        line_end: 1051
        line_start: 1051
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    - condition: (cov_count > 1)
      pos:
        line_end: 1050
        line_start: 1050
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    constantsTouched: []
    func_position:
      end: 1587
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1587
    functionName: rt_band_get_quantiles_stream
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - assert
    - FLT_EQ
    - rt_band_get_data
    - quantile_llist_search
    - quantile_llist_delete
    - RASTER_DEBUGF
    - quantile_llist_index_delete
    - quantile_llist_index_update
    - rt_band_get_pixel
    - rtdealloc
    - ROUND
    - rand
    - quantile_llist_insert
    - rtalloc
    - time
    - round
    - quicksort
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_isnodata_flag
    - quantile_llist_index_reset
    - quantile_llist_index_search
    - srand
    - floor
    linkageType: ''
    returnType: rt_quantile
    signature: "rt_quantile rt_band_get_quantiles_stream(\n\trt_band band,\n\tint
      exclude_nodata_value, double sample,\n\tuint64_t cov_count,\n\tstruct quantile_llist
      **qlls, uint32_t *qlls_count,\n\tdouble *quantiles, uint32_t quantiles_count,\n\tuint32_t
      *rtn_count\n)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1638,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1640,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1643,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1644,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1646,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1648,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1654,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1655,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1656,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1660,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1663,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1666,1
    - Dst: pow
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1689,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1690,1
    - Dst: pow
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1700,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1701,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1712,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1713,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1717,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1719,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1730,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1736,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1739,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1741,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1751,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1753,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1765,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1767,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1786,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1795,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1799,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1805,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1808,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1821,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1823,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1831,1
    - Dst: clock
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1838,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1840,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1845,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_statistics.c:1848,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 164
    argCount: 7
    argNames:
    - band
    - exclude_nodata_value
    - search_values
    - search_values_count
    - roundto
    - rtn_total
    - rtn_count
    argTypes:
    - rt_band
    - int
    - double*
    - uint32_t
    - double
    - uint32_t*
    - uint32_t*
    assertStmts:
    - condition: (NULL != rtn_count)
      pos:
        line_end: 1643
        line_start: 1643
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    - condition: (NULL != band)
      pos:
        line_end: 1642
        line_start: 1642
        source_file: /src/postgis/raster/rt_core/rt_statistics.c
    constantsTouched: []
    func_position:
      end: 1852
      start: 1607
    functionDepth: 1
    functionLinenumber: 1607
    functionLinenumberEnd: 1852
    functionName: rt_band_get_value_count
    functionSourceFile: /src/postgis/raster/rt_core/rt_statistics.c
    functionUses: 1
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - assert
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_data
    - FLT_EQ
    - clock
    - ROUND
    - rt_band_get_isnodata_flag
    - rtrealloc
    - rt_band_get_nodata
    - FLT_NEQ
    - pow
    - RASTER_DEBUGF
    - rtwarn
    linkageType: ''
    returnType: rt_valuecount
    signature: "rt_valuecount rt_band_get_value_count(\n\trt_band band, int exclude_nodata_value,\n\tdouble
      *search_values, uint32_t search_values_count, double roundto,\n\tuint32_t *rtn_total,
      uint32_t *rtn_count\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: RASTER_DEBUG
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RASTER_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: RASTER_DEBUGF
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RASTER_DEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: RASTER_DEBUG
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RASTER_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: RASTER_DEBUGF
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RASTER_DEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2378
    functionName: FLT_NEQ
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_NEQ(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2379
    functionName: FLT_EQ
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLT_EQ(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2380
    functionName: DBL_NEQ
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBL_NEQ(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2381
    functionName: DBL_EQ
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBL_EQ(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2386
    functionName: ROUND
    functionSourceFile: /src/postgis/raster/rt_core/librtcore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(x, y)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:49,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:50,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:52,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:54,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:60,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:62,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:65,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:68,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:69,1
    - Dst: BANDTYPE_IS_OFFDB
      Src: /src/postgis/raster/rt_core/rt_wkb.c:74,1
    - Dst: BANDTYPE_HAS_NODATA
      Src: /src/postgis/raster/rt_core/rt_wkb.c:75,1
    - Dst: BANDTYPE_IS_NODATA
      Src: /src/postgis/raster/rt_core/rt_wkb.c:76,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:80,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_wkb.c:81,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_wkb.c:87,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:89,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:90,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:97,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:101,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:105,1
    - Dst: read_int8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:109,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:113,1
    - Dst: read_int16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:117,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:121,1
    - Dst: read_int32
      Src: /src/postgis/raster/rt_core/rt_wkb.c:125,1
    - Dst: read_uint32
      Src: /src/postgis/raster/rt_core/rt_wkb.c:129,1
    - Dst: read_float32
      Src: /src/postgis/raster/rt_core/rt_wkb.c:133,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:137,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:141,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:142,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:147,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:152,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:156,1
    - Dst: read_int8
      Src: /src/postgis/raster/rt_core/rt_wkb.c:160,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:168,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:169,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:176,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:178,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:179,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:183,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:186,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:202,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:204,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:208,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:210,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:211,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:216,1
    - Dst: isMachineLittleEndian
      Src: /src/postgis/raster/rt_core/rt_wkb.c:222,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:233,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:234,1
    - Dst: flipper
      Src: /src/postgis/raster/rt_core/rt_wkb.c:241,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:259,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_wkb.c:260,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:261,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 162
    argCount: 5
    argNames:
    - width
    - height
    - ptr
    - end
    - littleEndian
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t**
    - uint8_t*
    - uint8_t
    assertStmts:
    - condition: (NULL != ptr)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (NULL != end)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 272
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 272
    functionName: rt_band_from_wkb
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 0
    functionsReached:
    - assert
    - BANDTYPE_HAS_NODATA
    - RASTER_DEBUGF
    - read_float32
    - BANDTYPE_IS_NODATA
    - read_float64
    - rtalloc
    - read_int32
    - read_uint32
    - isMachineLittleEndian
    - BANDTYPE_IS_OFFDB
    - read_int16
    - read_int8
    - read_uint16
    - read_uint8
    - rterror
    - flipper
    - rt_pixtype_size
    - rt_pixtype_name
    - rt_band_destroy
    - memcpy
    linkageType: ''
    returnType: rt_band
    signature: "rt_band rt_band_from_wkb(\n\tuint16_t width, uint16_t height,\n\tconst
      uint8_t** ptr, const uint8_t* end,\n\tuint8_t littleEndian\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:287,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:291,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:298,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:299,1
    - Dst: CHECK_BINPTR_POSITION
      Src: /src/postgis/raster/rt_core/rt_wkb.c:301,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:308,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:310,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:315,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:317,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:321,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:322,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:323,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:324,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:325,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:326,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_wkb.c:327,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_core/rt_wkb.c:328,1
    - Dst: read_int32
      Src: /src/postgis/raster/rt_core/rt_wkb.c:328,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:329,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:330,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:333,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:335,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:337,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:339,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:341,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:343,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:345,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:347,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:348,1
    - Dst: CHECK_BINPTR_POSITION
      Src: /src/postgis/raster/rt_core/rt_wkb.c:350,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_wkb.c:356,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_wkb.c:360,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:368,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:370,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:371,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:377,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:380,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:381,1
    - Dst: rt_band_from_wkb
      Src: /src/postgis/raster/rt_core/rt_wkb.c:383,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:386,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:387,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:388,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_wkb.c:398,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_wkb.c:402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 2
    argNames:
    - wkb
    - wkbsize
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts:
    - condition: (NULL != ptr)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (ptr <= wkbend)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (ptr <= wkbend)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 406
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 406
    functionName: rt_raster_from_wkb
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - read_int32
    - read_uint16
    - CHECK_BINPTR_POSITION
    - d_binptr_to_pos
    - rterror
    - rt_raster_destroy
    - rt_band_from_wkb
    - read_float64
    - clamp_srid
    - RASTER_DEBUGF
    - rtwarn
    - rt_band_destroy
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_from_wkb(const uint8_t* wkb, uint32_t wkbsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:415,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:417,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:418,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:421,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:426,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:428,1
    - Dst: parse_hex
      Src: /src/postgis/raster/rt_core/rt_wkb.c:434,1
    - Dst: rt_raster_from_wkb
      Src: /src/postgis/raster/rt_core/rt_wkb.c:437,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - hexwkb
    - hexwkbsize
    argTypes:
    - char*
    - uint32_t
    assertStmts:
    - condition: (NULL != hexwkb)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 441
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 441
    functionName: rt_raster_from_hexwkb
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - rtdealloc
    - parse_hex
    - rterror
    - rt_raster_from_wkb
    - RASTER_DEBUGF
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_from_hexwkb(const char* hexwkb, uint32_t hexwkbsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:448,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:450,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_wkb.c:456,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:458,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:461,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_wkb.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - raster
    - outasin
    argTypes:
    - rt_raster
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 485
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 485
    functionName: rt_raster_wkb_size
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 0
    functionsReached:
    - assert
    - rterror
    - rt_pixtype_size
    - strlen
    - RASTER_DEBUGF
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rt_raster_wkb_size(rt_raster raster, int outasin)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isMachineLittleEndian
      Src: /src/postgis/raster/rt_core/rt_wkb.c:506,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:508,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:509,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_wkb.c:511,1
    - Dst: rt_raster_wkb_size
      Src: /src/postgis/raster/rt_core/rt_wkb.c:513,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:514,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:516,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:518,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:527,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:528,1
    - Dst: write_uint16
      Src: /src/postgis/raster/rt_core/rt_wkb.c:535,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:538,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:541,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:542,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_wkb.c:548,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:550,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:551,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:552,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:555,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:556,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_wkb.c:571,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:575,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:578,1
    - Dst: d_binptr_to_pos
      Src: /src/postgis/raster/rt_core/rt_wkb.c:579,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:600,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:606,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:612,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:618,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:624,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:629,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:634,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:635,1
    - Dst: abort
      Src: /src/postgis/raster/rt_core/rt_wkb.c:636,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:643,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:652,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_wkb.c:653,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:658,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_wkb.c:660,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_wkb.c:660,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:674,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 110
    argCount: 3
    argNames:
    - raster
    - outasin
    - wkbsize
    argTypes:
    - rt_raster
    - int
    - uint32_t*
    assertStmts:
    - condition: (NULL != wkbsize)
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (NULL != raster)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (!((uint64_t) ptr % pixbytes))
      pos:
        line_end: 642
        line_start: 642
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (!(((uint64_t) ptr) % pixbytes))
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (!((uint64_t) ptr % pixbytes))
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 679
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 679
    functionName: rt_raster_to_wkb
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - memset
    - strcpy
    - RASTER_DEBUG
    - isMachineLittleEndian
    - rterror
    - d_binptr_to_pos
    - rtdealloc
    - write_uint16
    - abort
    - rt_band_get_data
    - rt_pixtype_size
    - strlen
    - rt_raster_wkb_size
    - RASTER_DEBUGF
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      rt_raster_to_wkb(rt_raster raster, int outasin, uint32_t *wkbsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:687,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_wkb.c:688,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_wkb.c:690,1
    - Dst: rt_raster_to_wkb
      Src: /src/postgis/raster/rt_core/rt_wkb.c:692,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_wkb.c:694,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:697,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_wkb.c:699,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:700,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_wkb.c:714,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_wkb.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - raster
    - outasin
    - hexwkbsize
    argTypes:
    - rt_raster
    - int
    - uint32_t*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    - condition: (NULL != hexwkbsize)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
    constantsTouched: []
    func_position:
      end: 718
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 718
    functionName: rt_raster_to_hexwkb
    functionSourceFile: /src/postgis/raster/rt_core/rt_wkb.c
    functionUses: 1
    functionsReached:
    - rt_raster_to_wkb
    - assert
    - rtalloc
    - RASTER_DEBUG
    - rtdealloc
    - rterror
    - RASTER_DEBUGF
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_raster_to_hexwkb(rt_raster raster, int outasin, uint32_t *hexwkbsize)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:56,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:57,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:58,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:62,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:62,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:67,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:67,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:67,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:71,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:71,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:71,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:76,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:80,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:91,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:97,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:103,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:109,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:114,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:115,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:116,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:119,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - rast1
    - rast2
    - aligned
    - reason
    argTypes:
    - rt_raster
    - rt_raster
    - int*
    - char**
    assertStmts:
    - condition: (NULL != rast2)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast1)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != aligned)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    constantsTouched: []
    func_position:
      end: 130
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 130
    functionName: rt_raster_same_alignment
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - assert
    - rterror
    - rt_raster_geopoint_to_cell
    - fabs
    - FLT_EQ
    - rt_raster_get_srid
    - FLT_NEQ
    - RASTER_DEBUGF
    - rt_raster_cell_to_geopoint
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_same_alignment(\n\trt_raster rast1,\n\trt_raster
      rast2,\n\tint *aligned, char **reason\n)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:150,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:152,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:153,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:154,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:161,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:161,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:162,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:162,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:169,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:169,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:170,1
    - Dst: initGEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:174,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:177,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:178,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:181,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:182,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:183,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:189,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:190,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:195,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:195,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:196,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:198,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:199,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:203,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:203,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:204,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:206,1
    - Dst: GEOSOverlaps
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:213,1
    - Dst: GEOSTouches
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:216,1
    - Dst: GEOSContains
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:219,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:222,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:225,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:228,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:231,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:235,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:236,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:240,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 6
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - testtype
    - testresult
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - rt_geos_spatial_test
    - int*
    assertStmts:
    - condition: (nband1 >= 0 && nband1 < rt_raster_get_num_bands(rast1))
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != testresult)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast2)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast1)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband2 >= 0 && nband2 < rt_raster_get_num_bands(rast2))
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    constantsTouched: []
    func_position:
      end: 254
      start: 136
    functionDepth: 10
    functionLinenumber: 136
    functionLinenumberEnd: 254
    functionName: rt_raster_geos_spatial_relationship
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - assert
    - RASTER_DEBUG
    - rterror
    - rt_raster_surface
    - lwmpoly_free
    - GEOSContains
    - LWGEOM2GEOS
    - GEOSRelatePattern
    - GEOSOverlaps
    - GEOSGeom_destroy
    - rt_raster_get_srid
    - GEOSTouches
    - lwmpoly_as_lwgeom
    - initGEOS
    - rt_raster_get_num_bands
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_geos_spatial_relationship(\n\trt_raster rast1,
      int nband1,\n\trt_raster rast2, int nband2,\n\trt_geos_spatial_test testtype,\n\tint
      *testresult\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:277,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - overlaps
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 11
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: rt_raster_overlaps
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_overlaps(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *overlaps\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:308,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - touches
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 11
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: rt_raster_touches
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_touches(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *touches\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:339,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - contains
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 334
    functionDepth: 11
    functionLinenumber: 334
    functionLinenumberEnd: 347
    functionName: rt_raster_contains
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_contains(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *contains\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:370,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - contains
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 11
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: rt_raster_contains_properly
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_contains_properly(\n\trt_raster rast1, int
      nband1,\n\trt_raster rast2, int nband2,\n\tint *contains\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:401,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - covers
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 396
    functionDepth: 11
    functionLinenumber: 396
    functionLinenumberEnd: 409
    functionName: rt_raster_covers
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_covers(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *covers\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:432,1
    - Dst: rt_raster_geos_spatial_relationship
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - coveredby
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 11
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: rt_raster_coveredby
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUG
    - rt_raster_geos_spatial_relationship
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_coveredby(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *coveredby\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:471,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:473,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:474,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:475,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:482,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:482,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:483,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:483,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:490,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:490,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:491,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:497,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:502,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:503,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:506,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:508,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:509,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:510,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:513,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:517,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:518,1
    - Dst: lwgeom_mindistance2d_tolerance
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:523,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:525,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:526,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:529,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:532,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - distance
    - dwithin
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - double
    - int*
    assertStmts:
    - condition: (NULL != rast2)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband2 >= 0 && nband2 < rt_raster_get_num_bands(rast2))
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband1 >= 0 && nband1 < rt_raster_get_num_bands(rast1))
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast1)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != dwithin)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    constantsTouched: []
    func_position:
      end: 535
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 535
    functionName: rt_raster_within_distance
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - assert
    - lwgeom_free
    - RASTER_DEBUG
    - rterror
    - rt_raster_surface
    - FLT_EQ
    - rt_raster_get_srid
    - lwmpoly_as_lwgeom
    - lwgeom_mindistance2d_tolerance
    - RASTER_DEBUGF
    - rt_raster_get_num_bands
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_within_distance(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tdouble distance,\n\tint *dwithin\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:566,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:568,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:569,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:570,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:577,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:577,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:578,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:578,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:585,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:585,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:586,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:592,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:597,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:598,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:601,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:603,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:604,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:605,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:608,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:612,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:613,1
    - Dst: lwgeom_maxdistance2d_tolerance
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:618,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:620,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:621,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:624,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:627,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - distance
    - dfwithin
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - double
    - int*
    assertStmts:
    - condition: (NULL != rast2)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband2 >= 0 && nband2 < rt_raster_get_num_bands(rast2))
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband1 >= 0 && nband1 < rt_raster_get_num_bands(rast1))
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast1)
      pos:
        line_end: 567
        line_start: 567
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != dfwithin)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    constantsTouched: []
    func_position:
      end: 630
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 630
    functionName: rt_raster_fully_within_distance
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - assert
    - lwgeom_free
    - RASTER_DEBUG
    - rterror
    - rt_raster_surface
    - FLT_EQ
    - lwgeom_maxdistance2d_tolerance
    - rt_raster_get_srid
    - lwmpoly_as_lwgeom
    - RASTER_DEBUGF
    - rt_raster_get_num_bands
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_fully_within_distance(\n\trt_raster rast1,
      int nband1,\n\trt_raster rast2, int nband2,\n\tdouble distance,\n\tint *dfwithin\n)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:680,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:681,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:682,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:683,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:686,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:686,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:686,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:687,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:687,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:687,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:690,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:697,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:704,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:711,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:719,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:727,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:735,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:742,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:753,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:760,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:768,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:775,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:783,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:784,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:786,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:793,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:805,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:809,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:809,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:810,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:810,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:812,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:812,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:813,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:813,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:815,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:815,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:816,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:816,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:818,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:818,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:819,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:819,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:821,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:869,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:886,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:891,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:908,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:912,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:915,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:932,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:941,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:949,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:954,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:961,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 141
    argCount: 8
    argNames:
    - rast1
    - rast2
    - band1
    - band2
    - hasnodata1
    - hasnodata2
    - nodata1
    - nodata2
    argTypes:
    - rt_raster
    - rt_raster
    - rt_band
    - rt_band
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 969
    functionName: rt_raster_intersects_algorithm
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - RASTER_DEBUG
    - FLT_EQ
    - rt_raster_geopoint_to_cell
    - rt_raster_get_y_scale
    - rt_raster_get_x_scale
    - rt_raster_get_width
    - fmax
    - fmin
    - RASTER_DEBUGF
    - rt_raster_cell_to_geopoint
    - rt_raster_get_height
    linkageType: ''
    returnType: int
    signature: "int rt_raster_intersects_algorithm(\n\trt_raster rast1, rt_raster
      rast2,\n\trt_band band1, rt_band band2,\n\tint hasnodata1, int hasnodata2,\n\tdouble
      nodata1, double nodata2\n)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1038,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1040,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1041,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1042,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1049,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1049,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1050,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1050,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1054,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1054,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1055,1
    - Dst: initGEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1064,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1068,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1071,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1073,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1077,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1078,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1079,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1082,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1084,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1085,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1086,1
    - Dst: GEOSWithin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1092,1
    - Dst: GEOSWithin
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1094,1
    - Dst: GEOSIntersects
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1100,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1103,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1104,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1108,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1120,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1126,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1127,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1128,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1129,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1130,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1130,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1130,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1131,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1131,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1131,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1132,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1133,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1134,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1139,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1141,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1171,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1172,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1173,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1174,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1177,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1179,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1184,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1186,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1189,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1191,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1196,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1198,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1208,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1209,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1211,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1218,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1226,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1230,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1237,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1254,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1258,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1267,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1270,1
    - Dst: rt_raster_intersects_algorithm
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1271,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1280,1
    - Dst: rt_raster_intersects_algorithm
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1281,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_spatial_relationship.c:1290,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 174
    argCount: 5
    argNames:
    - rast1
    - nband1
    - rast2
    - nband2
    - intersects
    argTypes:
    - rt_raster
    - int
    - rt_raster
    - int
    - int*
    assertStmts:
    - condition: (NULL != rast2)
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband2 >= 0 && nband2 < rt_raster_get_num_bands(rast2))
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (nband1 >= 0 && nband1 < rt_raster_get_num_bands(rast1))
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != intersects)
      pos:
        line_end: 1041
        line_start: 1041
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - condition: (NULL != rast1)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    constantsTouched: []
    func_position:
      end: 1294
      start: 987
    functionDepth: 10
    functionLinenumber: 987
    functionLinenumberEnd: 1294
    functionName: rt_raster_intersects
    functionSourceFile: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    functionUses: 1
    functionsReached:
    - assert
    - lwgeom_free
    - FLT_EQ
    - rt_raster_get_convex_hull
    - RASTER_DEBUGF
    - rt_band_get_pixel
    - rt_raster_geopoint_to_cell
    - initGEOS
    - rt_raster_get_num_bands
    - GEOSWithin
    - rt_raster_get_y_scale
    - LWGEOM2GEOS
    - GEOSGeom_destroy
    - rt_raster_get_width
    - rt_raster_cell_to_geopoint
    - GEOSIntersects
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - fabs
    - rt_band_get_isnodata_flag
    - rt_raster_get_x_scale
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_intersects_algorithm
    - rt_raster_get_height
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_intersects(\n\trt_raster rast1, int nband1,\n\trt_raster
      rast2, int nband2,\n\tint *intersects\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: BANDTYPE_PIXTYPE
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANDTYPE_PIXTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: BANDTYPE_IS_OFFDB
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANDTYPE_IS_OFFDB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: BANDTYPE_HAS_NODATA
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANDTYPE_HAS_NODATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: BANDTYPE_IS_NODATA
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANDTYPE_IS_NODATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - end
    - ','
    - size
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: CHECK_BINPTR_POSITION
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BINPTR_POSITION(ptr, end, size, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - end
    - ','
    - size
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: CHECK_BINPTR_POSITION
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BINPTR_POSITION(ptr, end, size, pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dfComplete
    - pszMessage
    - pProgressArg
    argTypes:
    - double
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: rt_util_gdal_progress_func
    functionSourceFile: /src/postgis/raster/rt_core/rt_gdal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rt_util_gdal_progress_func(\n\tdouble dfComplete,\n\tconst char
      *pszMessage,\n\tvoid *pProgressArg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_gdal.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _rti_contour_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: _rti_contour_arg_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_gdal.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _rti_contour_arg_init(_rti_contour_arg* arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_gdal.c:88,1
    - Dst: GDALDeregisterDriver
      Src: /src/postgis/raster/rt_core/rt_gdal.c:91,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_gdal.c:92,1
    - Dst: OGR_DS_Destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _rti_contour_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: _rti_contour_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_gdal.c
    functionUses: 0
    functionsReached:
    - GDALClose
    - OGR_DS_Destroy
    - GDALDeregisterDriver
    - GDALDestroyDriver
    linkageType: ''
    returnType: int
    signature: int _rti_contour_arg_destroy(_rti_contour_arg* arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _rti_contour_arg_init
      Src: /src/postgis/raster/rt_core/rt_gdal.c:142,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/rt_core/rt_gdal.c:145,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_gdal.c:147,1
    - Dst: OGRGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_gdal.c:151,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:153,1
    - Dst: OGR_Dr_CreateDataSource
      Src: /src/postgis/raster/rt_core/rt_gdal.c:155,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:157,1
    - Dst: OGR_DS_CreateLayer
      Src: /src/postgis/raster/rt_core/rt_gdal.c:167,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:169,1
    - Dst: OGR_Fld_Create
      Src: /src/postgis/raster/rt_core/rt_gdal.c:172,1
    - Dst: OGR_L_CreateField
      Src: /src/postgis/raster/rt_core/rt_gdal.c:173,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:175,1
    - Dst: OGR_Fld_Create
      Src: /src/postgis/raster/rt_core/rt_gdal.c:178,1
    - Dst: OGR_L_CreateField
      Src: /src/postgis/raster/rt_core/rt_gdal.c:179,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:181,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_gdal.c:184,1
    - Dst: stringbuffer_init
      Src: /src/postgis/raster/rt_core/rt_gdal.c:207,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:210,1
    - Dst: stringbuffer_append
      Src: /src/postgis/raster/rt_core/rt_gdal.c:214,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/raster/rt_core/rt_gdal.c:216,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:217,1
    - Dst: stringbuffer_append_char
      Src: /src/postgis/raster/rt_core/rt_gdal.c:219,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:222,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:223,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:226,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:227,1
    - Dst: stringbuffer_aprintf
      Src: /src/postgis/raster/rt_core/rt_gdal.c:229,1
    - Dst: CSLTokenizeString
      Src: /src/postgis/raster/rt_core/rt_gdal.c:231,1
    - Dst: stringbuffer_getstring
      Src: /src/postgis/raster/rt_core/rt_gdal.c:231,1
    - Dst: GDALContourGenerateEx
      Src: /src/postgis/raster/rt_core/rt_gdal.c:236,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:256,1
    - Dst: OGR_L_GetFeatureCount
      Src: /src/postgis/raster/rt_core/rt_gdal.c:260,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:262,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_gdal.c:264,1
    - Dst: OGR_L_ResetReading
      Src: /src/postgis/raster/rt_core/rt_gdal.c:265,1
    - Dst: OGR_L_GetNextFeature
      Src: /src/postgis/raster/rt_core/rt_gdal.c:266,1
    - Dst: OGR_F_GetFieldAsInteger
      Src: /src/postgis/raster/rt_core/rt_gdal.c:277,1
    - Dst: OGR_F_GetFieldAsDouble
      Src: /src/postgis/raster/rt_core/rt_gdal.c:278,1
    - Dst: OGR_F_GetGeometryRef
      Src: /src/postgis/raster/rt_core/rt_gdal.c:280,1
    - Dst: OGR_G_WkbSize
      Src: /src/postgis/raster/rt_core/rt_gdal.c:281,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_gdal.c:282,1
    - Dst: OGR_G_ExportToWkb
      Src: /src/postgis/raster/rt_core/rt_gdal.c:283,1
    - Dst: OGR_F_Destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:285,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/raster/rt_core/rt_gdal.c:286,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_gdal.c:287,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/raster/rt_core/rt_gdal.c:288,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_core/rt_gdal.c:289,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_gdal.c:290,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_gdal.c:291,1
    - Dst: _rti_contour_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_gdal.c:299,1
    - Dst: stringbuffer_release
      Src: /src/postgis/raster/rt_core/rt_gdal.c:300,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 11
    argNames:
    - src_raster
    - src_band
    - src_srid
    - src_srs
    - contour_interval
    - contour_base
    - fixed_level_count
    - fixed_levels
    - polygonize
    - ncontours
    - contours
    argTypes:
    - rt_raster
    - int
    - int
    - char*
    - double
    - double
    - int
    - double*
    - int
    - size_t*
    - struct rt_contour_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 114
    functionDepth: 7
    functionLinenumber: 114
    functionLinenumberEnd: 304
    functionName: rt_raster_gdal_contour
    functionSourceFile: /src/postgis/raster/rt_core/rt_gdal.c
    functionUses: 0
    functionsReached:
    - OGR_L_GetFeatureCount
    - lwgeom_free
    - OGR_F_GetFieldAsDouble
    - gserialized_from_lwgeom
    - OGR_DS_CreateLayer
    - _rti_contour_arg_init
    - GDALContourGenerateEx
    - stringbuffer_init
    - lwgeom_set_srid
    - OGR_L_ResetReading
    - stringbuffer_release
    - lwgeom_from_wkb
    - stringbuffer_append
    - rt_raster_to_gdal_mem
    - rtdealloc
    - OGR_F_Destroy
    - OGR_L_CreateField
    - rtalloc
    - OGRGetDriverByName
    - OGR_F_GetFieldAsInteger
    - _rti_contour_arg_destroy
    - GDALGetRasterNoDataValue
    - OGR_L_GetNextFeature
    - stringbuffer_append_char
    - OGR_G_ExportToWkb
    - OGR_Fld_Create
    - OGR_F_GetGeometryRef
    - CSLTokenizeString
    - GDALGetRasterBand
    - rterror
    - stringbuffer_aprintf
    - OGR_Dr_CreateDataSource
    - stringbuffer_getstring
    - OGR_G_WkbSize
    linkageType: ''
    returnType: int
    signature: "int rt_raster_gdal_contour(\n\t/* input parameters */\n\trt_raster
      src_raster,\n\tint src_band,\n\tint src_srid,\n\tconst char* src_srs,\n\tdouble
      contour_interval,\n\tdouble contour_base,\n\tint fixed_level_count,\n\tdouble
      *fixed_levels,\n\tint polygonize,\n\t/* output parameters */\n\tsize_t *ncontours,\n\tstruct
      rt_contour_t **contours\n\t)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:63,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_pixel.c:68,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_pixel.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - pixtype
    argTypes:
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: rt_pixtype_size
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 17
    functionsReached:
    - RASTER_DEBUGF
    - rt_pixtype_name
    - rterror
    linkageType: ''
    returnType: int
    signature: int rt_pixtype_size(rt_pixtype pixtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_pixel.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pixtype
    argTypes:
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: rt_pixtype_alignment
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 0
    functionsReached:
    - rt_pixtype_size
    linkageType: ''
    returnType: int
    signature: int rt_pixtype_alignment(rt_pixtype pixtype)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_pixel.c:81,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:83,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:85,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:87,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:89,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:91,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:93,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:95,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:97,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:99,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:101,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_pixel.c:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - pixname
    argTypes:
    - char*
    assertStmts:
    - condition: (pixname)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/postgis/raster/rt_core/rt_pixel.c
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: rt_pixtype_index_from_name
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 1
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: rt_pixtype
    signature: rt_pixtype rt_pixtype_index_from_name(const char* pixname)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - pixtype
    argTypes:
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 140
    functionName: rt_pixtype_name
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 3
    functionsReached:
    - rterror
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_pixtype_name(rt_pixtype pixtype)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_pixel.c:153,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:165,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:168,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:174,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:186,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - pixtype
    argTypes:
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 190
    functionName: rt_pixtype_get_min_value
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 1
    functionsReached:
    - rt_util_clamp_to_32BSI
    - rterror
    - rt_util_clamp_to_8BUI
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_1BB
    linkageType: ''
    returnType: double
    signature: double rt_pixtype_get_min_value(rt_pixtype pixtype)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_pixel.c:207,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_pixel.c:212,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_pixel.c:212,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:216,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:216,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:220,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:220,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:224,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:224,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:228,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:228,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:232,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:232,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:236,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:236,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:240,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:240,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:244,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_pixel.c:244,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_pixel.c:248,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_pixel.c:248,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_pixel.c:248,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_pixel.c:252,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:256,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 4
    argNames:
    - pixtype
    - val
    - refval
    - isequal
    argTypes:
    - rt_pixtype
    - double
    - double
    - int*
    assertStmts:
    - condition: (isequal != NULL)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/postgis/raster/rt_core/rt_pixel.c
    constantsTouched: []
    func_position:
      end: 261
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 261
    functionName: rt_pixtype_compare_clamped_values
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_util_clamp_to_2BUI
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_8BUI
    - FLT_EQ
    - rt_util_clamp_to_4BUI
    - rterror
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_32F
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32BUI
    - rt_util_clamp_to_1BB
    - rt_util_clamp_to_16BUI
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_pixtype_compare_clamped_values(\n\trt_pixtype pixtype,\n\tdouble
      val, double refval,\n\tint *isequal\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_pixel.c:305,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_pixel.c:306,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_pixel.c:307,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_pixel.c:312,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:317,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:322,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:329,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:330,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:333,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:339,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:340,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_pixel.c:343,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:347,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:348,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:353,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:355,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:359,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_pixel.c:360,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_pixel.c:366,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_pixel.c:385,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_pixel.c:386,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_pixel.c:398,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_pixel.c:424,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 11
    argNames:
    - npixel
    - count
    - mask
    - x
    - y
    - distancex
    - distancey
    - value
    - nodata
    - dimx
    - dimy
    argTypes:
    - rt_pixel
    - uint32_t
    - rt_mask
    - int
    - int
    - uint16_t
    - uint16_t
    - double***
    - int***
    - int*
    - int*
    assertStmts:
    - condition: (npixel != NULL && count > 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/postgis/raster/rt_core/rt_pixel.c
    - condition: (nodata != NULL)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/postgis/raster/rt_core/rt_pixel.c
    - condition: (value != NULL)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/postgis/raster/rt_core/rt_pixel.c
    constantsTouched: []
    func_position:
      end: 435
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 435
    functionName: rt_pixel_set_to_array
    functionSourceFile: /src/postgis/raster/rt_core/rt_pixel.c
    functionUses: 2
    functionsReached:
    - rtalloc
    - assert
    - memset
    - rtdealloc
    - rterror
    - FLT_EQ
    - RASTER_DEBUGF
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_pixel_set_to_array(\n\trt_pixel npixel, uint32_t
      count, rt_mask mask,\n\tint x, int y,\n\tuint16_t distancex, uint16_t distancey,\n\tdouble
      ***value,\n\tint ***nodata,\n\tint *dimx, int *dimy\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:55,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:57,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:61,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:64,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - width
    - height
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: rt_raster_new
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 40
    functionsReached:
    - rtalloc
    - RASTER_DEBUGF
    - rt_raster_destroy
    - rterror
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_new(uint32_t width, uint32_t height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:90,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:93,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: rt_raster_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 4
    functionsReached:
    - RASTER_DEBUGF
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void rt_raster_destroy(rt_raster raster)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:107,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:112,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/rt_core/rt_raster.c:116,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: _rt_raster_geotransform_warn_offline_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_num_bands
    - rtwarn
    - rt_band_is_offline
    - rt_raster_get_band
    linkageType: ''
    returnType: void
    signature: void _rt_raster_geotransform_warn_offline_band(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: rt_raster_get_width
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_raster_get_width(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: rt_raster_get_height
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_raster_get_height(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:145,1
    - Dst: _rt_raster_geotransform_warn_offline_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - raster
    - scaleX
    - scaleY
    argTypes:
    - rt_raster
    - double
    - double
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: rt_raster_set_scale
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 24
    functionsReached:
    - assert
    - _rt_raster_geotransform_warn_offline_band
    linkageType: ''
    returnType: void
    signature: "void rt_raster_set_scale(\n\trt_raster raster,\n\tdouble scaleX, double
      scaleY\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: rt_raster_get_x_scale
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_x_scale(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: rt_raster_get_y_scale
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_y_scale(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:176,1
    - Dst: _rt_raster_geotransform_warn_offline_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - raster
    - skewX
    - skewY
    argTypes:
    - rt_raster
    - double
    - double
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: rt_raster_set_skews
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 13
    functionsReached:
    - assert
    - _rt_raster_geotransform_warn_offline_band
    linkageType: ''
    returnType: void
    signature: "void rt_raster_set_skews(\n\trt_raster raster,\n\tdouble skewX, double
      skewY\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: rt_raster_get_x_skew
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_x_skew(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: rt_raster_get_y_skew
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_y_skew(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:208,1
    - Dst: _rt_raster_geotransform_warn_offline_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - raster
    - x
    - y
    argTypes:
    - rt_raster
    - double
    - double
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: rt_raster_set_offsets
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 23
    functionsReached:
    - assert
    - _rt_raster_geotransform_warn_offline_band
    linkageType: ''
    returnType: void
    signature: "void rt_raster_set_offsets(\n\trt_raster raster,\n\tdouble x, double
      y\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: rt_raster_get_x_offset
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_x_offset(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: rt_raster_get_y_offset
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_raster_get_y_offset(rt_raster raster)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:245,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_core/rt_raster.c:246,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_core/rt_raster.c:247,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:248,1
    - Dst: rt_raster_calc_phys_params
      Src: /src/postgis/raster/rt_core/rt_raster.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - rast
    - i_mag
    - j_mag
    - theta_i
    - theta_ij
    argTypes:
    - rt_raster
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: rt_raster_get_phys_params
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_skew
    - rt_raster_get_y_scale
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_raster_calc_phys_params
    linkageType: ''
    returnType: void
    signature: "void rt_raster_get_phys_params(rt_raster rast,\n        double *i_mag,
      double *j_mag, double *theta_i, double *theta_ij)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_raster.c:264,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_raster.c:267,1
    - Dst: acos
      Src: /src/postgis/raster/rt_core/rt_raster.c:277,1
    - Dst: acos
      Src: /src/postgis/raster/rt_core/rt_raster.c:278,1
    - Dst: acos
      Src: /src/postgis/raster/rt_core/rt_raster.c:292,1
    - Dst: acos
      Src: /src/postgis/raster/rt_core/rt_raster.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 8
    argNames:
    - xscale
    - xskew
    - yskew
    - yscale
    - i_mag
    - j_mag
    - theta_i
    - theta_ij
    argTypes:
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 298
    functionName: rt_raster_calc_phys_params
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - acos
    - sqrt
    linkageType: ''
    returnType: void
    signature: "void rt_raster_calc_phys_params(double xscale, double xskew, double
      yskew, double yscale,\n                           double *i_mag, double *j_mag,
      double *theta_i, double *theta_ij)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_calc_gt_coeff
      Src: /src/postgis/raster/rt_core/rt_raster.c:308,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:312,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_core/rt_raster.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - rast
    - i_mag
    - j_mag
    - theta_i
    - theta_ij
    argTypes:
    - rt_raster
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: rt_raster_set_phys_params
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - rt_raster_set_skews
    - rt_raster_calc_gt_coeff
    - rt_raster_set_scale
    linkageType: ''
    returnType: void
    signature: void rt_raster_set_phys_params(rt_raster rast,double i_mag, double
      j_mag, double theta_i, double theta_ij)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/postgis/raster/rt_core/rt_raster.c:344,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_core/rt_raster.c:347,1
    - Dst: cos
      Src: /src/postgis/raster/rt_core/rt_raster.c:350,1
    - Dst: sin
      Src: /src/postgis/raster/rt_core/rt_raster.c:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 8
    argNames:
    - i_mag
    - j_mag
    - theta_i
    - theta_ij
    - xscale
    - xskew
    - yskew
    - yscale
    argTypes:
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 357
    functionName: rt_raster_calc_gt_coeff
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - tan
    - cos
    - sqrt
    - sin
    linkageType: ''
    returnType: int
    signature: "int rt_raster_calc_gt_coeff(double i_mag, double j_mag, double theta_i,
      double theta_ij,\n                        double *xscale, double *xskew, double
      *yskew, double *yscale)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:361,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: rt_raster_get_srid
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 11
    functionsReached:
    - assert
    - clamp_srid
    linkageType: ''
    returnType: int32_t
    signature: int32_t rt_raster_get_srid(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:368,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:370,1
    - Dst: _rt_raster_geotransform_warn_offline_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - raster
    - srid
    argTypes:
    - rt_raster
    - int32_t
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: rt_raster_set_srid
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 5
    functionsReached:
    - assert
    - clamp_srid
    - _rt_raster_geotransform_warn_offline_band
    linkageType: ''
    returnType: void
    signature: void rt_raster_set_srid(rt_raster raster, int32_t srid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: rt_raster_get_num_bands
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 15
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_raster_get_num_bands(rt_raster raster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - raster
    - n
    argTypes:
    - rt_raster
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: rt_raster_get_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: rt_band
    signature: rt_band rt_raster_get_band(rt_raster raster, int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:415,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:416,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:418,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:421,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:434,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:436,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:440,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:443,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:449,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:466,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - raster
    - band
    - index
    argTypes:
    - rt_raster
    - rt_band
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != band)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 469
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 469
    functionName: rt_raster_add_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached:
    - assert
    - RASTER_DEBUG
    - rterror
    - rtrealloc
    - RASTER_DEBUGF
    linkageType: ''
    returnType: int
    signature: int rt_raster_add_band(rt_raster raster, rt_band band, int index)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:509,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:512,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_raster.c:519,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_raster.c:520,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_raster.c:522,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:524,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:526,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:530,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_raster.c:531,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_raster.c:538,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_raster.c:547,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_raster.c:556,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_raster.c:565,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_raster.c:574,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_raster.c:583,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_raster.c:592,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_raster.c:601,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_raster.c:610,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_raster.c:619,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:635,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:636,1
    - Dst: rt_util_dbl_trunc_warning
      Src: /src/postgis/raster/rt_core/rt_raster.c:643,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/rt_core/rt_raster.c:650,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:652,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:653,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/rt_core/rt_raster.c:656,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:657,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:658,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:660,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:661,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:665,1
    - Dst: rt_band_set_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_raster.c:666,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 109
    argCount: 6
    argNames:
    - raster
    - pixtype
    - initialvalue
    - hasnodata
    - nodatavalue
    - index
    argTypes:
    - rt_raster
    - rt_pixtype
    - double
    - uint32_t
    - double
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 669
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 669
    functionName: rt_raster_generate_new_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - assert
    - FLT_EQ
    - rt_band_new_inline
    - rt_util_clamp_to_16BUI
    - memset
    - rt_band_destroy
    - rtdealloc
    - rt_util_clamp_to_8BUI
    - rt_util_clamp_to_32F
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32BUI
    - rt_util_dbl_trunc_warning
    - rt_raster_get_num_bands
    - rtalloc
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_4BUI
    - rt_raster_add_band
    - rt_raster_get_width
    - rt_band_set_ownsdata_flag
    - rt_util_clamp_to_2BUI
    - rterror
    - rt_util_clamp_to_8BSI
    - rt_pixtype_size
    - rt_band_set_isnodata_flag
    - rt_raster_get_height
    - rt_util_clamp_to_1BB
    linkageType: ''
    returnType: int
    signature: "int rt_raster_generate_new_band(\n\trt_raster raster, rt_pixtype pixtype,\n\tdouble
      initialvalue, uint32_t hasnodata, double nodatavalue,\n\tint index\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:686,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:687,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:690,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:692,1
    - Dst: GDALInvGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:694,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - raster
    - gt
    - igt
    argTypes:
    - rt_raster
    - double*
    - double*
    assertStmts:
    - condition: ((raster != NULL || gt != NULL))
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (igt != NULL)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 700
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 700
    functionName: rt_raster_get_inverse_geotransform_matrix
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - assert
    - GDALInvGeoTransform
    - rterror
    - rt_raster_get_geotransform_matrix
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_get_inverse_geotransform_matrix(\n\trt_raster
      raster,\n\tdouble *gt, double *igt\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:712,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - raster
    - gt
    argTypes:
    - rt_raster
    - double*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != gt)
      pos:
        line_end: 712
        line_start: 712
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: rt_raster_get_geotransform_matrix
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void rt_raster_get_geotransform_matrix(rt_raster raster,\n\tdouble
      *gt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:733,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:734,1
    - Dst: _rt_raster_geotransform_warn_offline_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - raster
    - gt
    argTypes:
    - rt_raster
    - double*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != gt)
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 744
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 744
    functionName: rt_raster_set_geotransform_matrix
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached:
    - assert
    - _rt_raster_geotransform_warn_offline_band
    linkageType: ''
    returnType: void
    signature: "void rt_raster_set_geotransform_matrix(rt_raster raster,\n\tdouble
      *gt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:767,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:768,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:771,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:774,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:774,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:776,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:779,1
    - Dst: GDALApplyGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:788,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - raster
    - xr
    - yr
    - xw
    - yw
    - gt
    argTypes:
    - rt_raster
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 766
        line_start: 766
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != xw && NULL != yw)
      pos:
        line_end: 767
        line_start: 767
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 793
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 793
    functionName: rt_raster_cell_to_geopoint
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 4
    functionsReached:
    - assert
    - rt_raster_get_geotransform_matrix
    - FLT_EQ
    - GDALApplyGeoTransform
    - RASTER_DEBUGF
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_cell_to_geopoint(\n\trt_raster raster,\n\tdouble
      xr, double yr,\n\tdouble *xw, double *yw,\n\tdouble *gt\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_geopoint_to_rasterpoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:817,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_raster.c:821,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:822,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_raster.c:825,1
    - Dst: ROUND
      Src: /src/postgis/raster/rt_core/rt_raster.c:827,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:828,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_raster.c:831,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - raster
    - xw
    - yw
    - xr
    - yr
    - igt
    argTypes:
    - rt_raster
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 837
    functionName: rt_raster_geopoint_to_cell
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 4
    functionsReached:
    - FLT_EQ
    - ROUND
    - rt_raster_geopoint_to_rasterpoint
    - RASTER_DEBUGF
    - floor
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_geopoint_to_cell(\n\trt_raster raster,\n\tdouble
      xw, double yw,\n\tdouble *xr, double *yr,\n\tdouble *igt\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:860,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:861,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:864,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:868,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:869,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:870,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:871,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:872,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:873,1
    - Dst: rt_raster_get_inverse_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:875,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:876,1
    - Dst: GDALApplyGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:881,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:882,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - raster
    - xw
    - yw
    - xr
    - yr
    - igt
    argTypes:
    - rt_raster
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != xr && NULL != yr)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 886
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 886
    functionName: rt_raster_geopoint_to_rasterpoint
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached:
    - assert
    - rt_raster_get_inverse_geotransform_matrix
    - rterror
    - FLT_EQ
    - GDALApplyGeoTransform
    - RASTER_DEBUGF
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_geopoint_to_rasterpoint(\n\trt_raster raster,\n\tdouble
      xw, double yw,\n\tdouble *xr, double *yr,\n\tdouble *igt\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:915,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:916,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:918,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:940,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:947,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - raster
    - env
    argTypes:
    - rt_raster
    - rt_envelope*
    assertStmts:
    - condition: (raster != NULL)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (env != NULL)
      pos:
        line_end: 915
        line_start: 915
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 972
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 972
    functionName: rt_raster_get_envelope
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - rterror
    - assert
    - rt_raster_cell_to_geopoint
    - rt_raster_get_geotransform_matrix
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_get_envelope(\n\trt_raster raster,\n\trt_envelope
      *env\n)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:1023,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:1040,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1042,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1047,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1049,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:1055,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:1055,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_raster.c:1058,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1058,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1058,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1058,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_raster.c:1059,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1059,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1059,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1059,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:1062,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1064,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:1068,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:1069,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1069,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1069,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_core/rt_raster.c:1070,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1087,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1090,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:1093,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1094,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1097,1
    - Dst: GDALInvGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:1100,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1101,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1102,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1105,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1114,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1120,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1121,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:1153,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1160,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1161,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1165,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1169,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1177,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1193,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1195,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:1197,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1204,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1205,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1214,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1215,1
    - Dst: GDALInvGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:1220,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1221,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1222,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1225,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:1236,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1243,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1244,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1248,1
    - Dst: initGEOS
      Src: /src/postgis/raster/rt_core/rt_raster.c:1254,1
    - Dst: rt_util_envelope_to_lwpoly
      Src: /src/postgis/raster/rt_core/rt_raster.c:1258,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1260,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1261,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_raster.c:1265,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_raster.c:1265,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/rt_core/rt_raster.c:1266,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_raster.c:1273,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1274,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1275,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1276,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_raster.c:1280,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_raster.c:1281,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/raster/rt_core/rt_raster.c:1283,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1284,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1287,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1288,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1289,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1301,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1303,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1303,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1303,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1304,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1304,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1304,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1305,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:1306,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1309,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_raster.c:1321,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1322,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1323,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1324,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_raster.c:1328,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_raster.c:1329,1
    - Dst: GEOSRelatePattern
      Src: /src/postgis/raster/rt_core/rt_raster.c:1331,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1332,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1335,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1336,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1337,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1349,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 213
    argCount: 4
    argNames:
    - extent
    - skew
    - scale
    - tolerance
    argTypes:
    - rt_envelope
    - double*
    - double*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 990
    functionDepth: 10
    functionLinenumber: 990
    functionLinenumberEnd: 1352
    functionName: rt_raster_compute_skewed_raster
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - lwgeom_free
    - GDALInvGeoTransform
    - FLT_EQ
    - rt_raster_set_scale
    - rt_raster_get_convex_hull
    - rt_raster_destroy
    - GEOSRelatePattern
    - RASTER_DEBUGF
    - lwpoly_free
    - rt_raster_geopoint_to_cell
    - initGEOS
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - rt_util_envelope_to_lwpoly
    - rt_raster_set_skews
    - LWGEOM2GEOS
    - lwpoly_as_lwgeom
    - GEOSGeom_destroy
    - rt_raster_set_offsets
    - rt_raster_cell_to_geopoint
    - RASTER_DEBUG
    - rterror
    - fabs
    - fmax
    linkageType: ''
    returnType: rt_raster
    signature: "rt_raster rt_raster_compute_skewed_raster(\n\trt_envelope extent,\n\tdouble
      *skew,\n\tdouble *scale,\n\tdouble tolerance\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1364
    functionName: rt_raster_is_empty
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rt_raster_is_empty(rt_raster raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - raster
    - nband
    argTypes:
    - rt_raster
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1377
    functionName: rt_raster_has_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rt_raster_has_band(rt_raster raster, int nband)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1405,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1406,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1410,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1416,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1420,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1424,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1429,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:1433,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1438,1
    - Dst: rt_band_duplicate
      Src: /src/postgis/raster/rt_core/rt_raster.c:1441,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - torast
    - fromrast
    - fromindex
    - toindex
    argTypes:
    - rt_raster
    - rt_raster
    - int
    - int
    assertStmts:
    - condition: (NULL != torast)
      pos:
        line_end: 1404
        line_start: 1404
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != fromrast)
      pos:
        line_end: 1405
        line_start: 1405
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1445
      start: 1397
    functionDepth: 2
    functionLinenumber: 1397
    functionLinenumberEnd: 1445
    functionName: rt_raster_copy_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - assert
    - rt_raster_add_band
    - rt_band_duplicate
    - rt_raster_get_band
    - rtwarn
    linkageType: ''
    returnType: int
    signature: "int rt_raster_copy_band(\n\trt_raster torast, rt_raster fromrast,\n\tint
      fromindex, int toindex\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1471,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1472,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1474,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:1475,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:1478,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1480,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1485,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1486,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:1489,1
    - Dst: rt_raster_copy_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1494,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1497,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1498,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1499,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1503,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1507,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:1508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - raster
    - bandNums
    - count
    argTypes:
    - rt_raster
    - uint32_t*
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 1470
        line_start: 1470
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != bandNums)
      pos:
        line_end: 1471
        line_start: 1471
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1510
      start: 1462
    functionDepth: 3
    functionLinenumber: 1462
    functionLinenumberEnd: 1510
    functionName: rt_raster_from_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_band_destroy
    - rterror
    - rt_raster_get_geotransform_matrix
    - rt_raster_destroy
    - rt_raster_set_srid
    - RASTER_DEBUGF
    - rt_raster_get_num_bands
    - rt_raster_copy_band
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_from_band(rt_raster raster, uint32_t *bandNums,
      int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1528,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1529,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1532,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1538,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1542,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1543,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1544,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - raster
    - band
    - index
    argTypes:
    - rt_raster
    - rt_band
    - int
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 1527
        line_start: 1527
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != band)
      pos:
        line_end: 1528
        line_start: 1528
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1553
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1553
    functionName: rt_raster_replace_band
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - RASTER_DEBUGF
    - assert
    - rt_raster_get_band
    - rterror
    linkageType: ''
    returnType: rt_band
    signature: rt_band rt_raster_replace_band(rt_raster raster, rt_band band, int
      index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1572,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:1575,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1579,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1581,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1587,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1588,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:1593,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_raster.c:1594,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_raster.c:1595,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1598,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1602,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:1603,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:1604,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:1604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - raster
    - deep
    argTypes:
    - rt_raster
    - uint8_t
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 1571
        line_start: 1571
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1607
      start: 1567
    functionDepth: 4
    functionLinenumber: 1567
    functionLinenumberEnd: 1607
    functionName: rt_raster_clone
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - rtdealloc
    - rterror
    - rt_raster_get_geotransform_matrix
    - rt_raster_get_width
    - rt_raster_get_srid
    - rt_raster_set_srid
    - rt_raster_get_num_bands
    - rt_raster_get_height
    - rt_raster_new
    - rt_raster_from_band
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_clone(rt_raster raster, uint8_t deep)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_has_z
      Src: /src/postgis/raster/rt_core/rt_raster.c:1623,1
    - Dst: lwgeom_has_m
      Src: /src/postgis/raster/rt_core/rt_raster.c:1624,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:1634,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1636,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_raster.c:1639,1
    - Dst: lwgeom_clone
      Src: /src/postgis/raster/rt_core/rt_raster.c:1644,1
    - Dst: lwgeom_force_4d
      Src: /src/postgis/raster/rt_core/rt_raster.c:1646,1
    - Dst: lwgeom_force_3dz
      Src: /src/postgis/raster/rt_core/rt_raster.c:1648,1
    - Dst: lwgeom_clone
      Src: /src/postgis/raster/rt_core/rt_raster.c:1652,1
    - Dst: lwgeom_force_4d
      Src: /src/postgis/raster/rt_core/rt_raster.c:1654,1
    - Dst: lwgeom_force_3dm
      Src: /src/postgis/raster/rt_core/rt_raster.c:1656,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1659,1
    - Dst: lwpointiterator_create_rw
      Src: /src/postgis/raster/rt_core/rt_raster.c:1664,1
    - Dst: lwpointiterator_has_next
      Src: /src/postgis/raster/rt_core/rt_raster.c:1665,1
    - Dst: lwpointiterator_peek
      Src: /src/postgis/raster/rt_core/rt_raster.c:1669,1
    - Dst: rt_raster_geopoint_to_rasterpoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:1672,1
    - Dst: rt_band_get_pixel_resample
      Src: /src/postgis/raster/rt_core/rt_raster.c:1676,1
    - Dst: lwpointiterator_modify_next
      Src: /src/postgis/raster/rt_core/rt_raster.c:1693,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1695,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 6
    argNames:
    - raster
    - bandnum
    - dim
    - resample
    - lwgeom_in
    - lwgeom_out
    argTypes:
    - rt_raster
    - uint32_t
    - char
    - rt_resample_type
    - LWGEOM*
    - LWGEOM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1613
    functionDepth: 7
    functionLinenumber: 1613
    functionLinenumberEnd: 1700
    functionName: rt_raster_copy_to_geometry
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - lwpointiterator_peek
    - lwgeom_force_4d
    - rterror
    - rt_band_get_pixel_resample
    - lwpointiterator_destroy
    - lwpointiterator_has_next
    - lwpointiterator_create_rw
    - lwgeom_has_z
    - rt_raster_get_band
    - rt_band_get_nodata
    - lwgeom_clone
    - lwgeom_force_3dz
    - lwgeom_force_3dm
    - rt_raster_geopoint_to_rasterpoint
    - lwpointiterator_modify_next
    - lwgeom_has_m
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_copy_to_geometry(\n\trt_raster raster,\n\tuint32_t
      bandnum,\n\tchar dim,\n\trt_resample_type resample,\n\tconst LWGEOM *lwgeom_in,\n\tLWGEOM
      **lwgeom_out\n\t)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1738,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1739,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_core/rt_raster.c:1742,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1743,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:1746,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1748,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1751,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1753,1
    - Dst: GDALGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_raster.c:1758,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1760,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:1761,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:1762,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1765,1
    - Dst: GDALGetMetadataItem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1768,1
    - Dst: GDALGetMetadataItem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1770,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1773,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:1774,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:1775,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1780,1
    - Dst: GDALCreateCopy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1781,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:1792,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:1793,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1794,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1797,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:1801,1
    - Dst: GDALGetProjectionRef
      Src: /src/postgis/raster/rt_core/rt_raster.c:1801,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:1804,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1805,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1807,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1810,1
    - Dst: VSIGetMemFileBuffer
      Src: /src/postgis/raster/rt_core/rt_raster.c:1811,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1812,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - raster
    - srs
    - format
    - options
    - gdalsize
    argTypes:
    - rt_raster
    - char*
    - char*
    - char**
    - uint64_t*
    assertStmts:
    - condition: (NULL != gdalsize)
      pos:
        line_end: 1738
        line_start: 1738
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != raster)
      pos:
        line_end: 1737
        line_start: 1737
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1822
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1822
    functionName: rt_raster_to_gdal
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_util_gdal_register_all
    - RASTER_DEBUG
    - GDALGetDriverByName
    - rterror
    - GDALCreateCopy
    - GDALGetMetadataItem
    - strlen
    - GDALDestroyDriver
    - VSIGetMemFileBuffer
    - RASTER_DEBUGF
    - GDALClose
    - rt_raster_to_gdal_mem
    - GDALGetProjectionRef
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nrt_raster_to_gdal(\n\trt_raster raster, const char *srs,\n\tchar
      *format, char **options, uint64_t *gdalsize\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1840,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_core/rt_raster.c:1842,1
    - Dst: GDALGetDriverCount
      Src: /src/postgis/raster/rt_core/rt_raster.c:1843,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1845,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1848,1
    - Dst: GDALGetDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:1855,1
    - Dst: GDALGetMetadataItem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1861,1
    - Dst: EQUAL
      Src: /src/postgis/raster/rt_core/rt_raster.c:1862,1
    - Dst: GDALGetMetadataItem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1867,1
    - Dst: GDALGetMetadataItem
      Src: /src/postgis/raster/rt_core/rt_raster.c:1872,1
    - Dst: GDALGetDriverShortName
      Src: /src/postgis/raster/rt_core/rt_raster.c:1885,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:1886,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1888,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1889,1
    - Dst: GDALGetDriverLongName
      Src: /src/postgis/raster/rt_core/rt_raster.c:1892,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:1893,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1895,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1896,1
    - Dst: GDALGetDriverCreationOptionList
      Src: /src/postgis/raster/rt_core/rt_raster.c:1899,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:1900,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1902,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_raster.c:1903,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:1909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - drv_count
    - can_write
    argTypes:
    - uint32_t*
    - uint8_t
    assertStmts:
    - condition: (drv_count != NULL)
      pos:
        line_end: 1839
        line_start: 1839
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 1913
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1913
    functionName: rt_raster_gdal_drivers
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - GDALGetDriverLongName
    - rt_util_gdal_register_all
    - rterror
    - GDALGetDriverCount
    - GDALGetDriver
    - EQUAL
    - rtrealloc
    - strlen
    - GDALGetMetadataItem
    - GDALGetDriverCreationOptionList
    - GDALGetDriverShortName
    - memcpy
    linkageType: ''
    returnType: rt_gdaldriver
    signature: rt_gdaldriver rt_raster_gdal_drivers(uint32_t *drv_count, uint8_t can_write)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1964,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1965,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:1966,1
    - Dst: rt_util_gdal_driver_registered
      Src: /src/postgis/raster/rt_core/rt_raster.c:1971,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1972,1
    - Dst: GDALRegister_MEM
      Src: /src/postgis/raster/rt_core/rt_raster.c:1973,1
    - Dst: GDALGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_raster.c:1976,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1978,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:1985,1
    - Dst: GDALDeregisterDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:1986,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_raster.c:1989,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_raster.c:1990,1
    - Dst: GDALCreate
      Src: /src/postgis/raster/rt_core/rt_raster.c:1991,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:1997,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:2002,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:2003,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2005,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2006,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:2011,1
    - Dst: rt_util_gdal_convert_sr
      Src: /src/postgis/raster/rt_core/rt_raster.c:2012,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2014,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2015,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/rt_core/rt_raster.c:2019,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_core/rt_raster.c:2020,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2022,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2023,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2026,1
    - Dst: GDALGetProjectionRef
      Src: /src/postgis/raster/rt_core/rt_raster.c:2026,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:2030,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2034,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2035,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2042,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2044,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2045,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2054,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2056,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2057,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:2066,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2068,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2069,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2070,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2071,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_core/rt_raster.c:2075,1
    - Dst: rt_util_pixtype_to_gdal_datatype
      Src: /src/postgis/raster/rt_core/rt_raster.c:2076,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:2078,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_raster.c:2084,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2085,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2087,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_core/rt_raster.c:2088,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2089,1
    - Dst: strncasecmp
      Src: /src/postgis/raster/rt_core/rt_raster.c:2092,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_core/rt_raster.c:2093,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_core/rt_raster.c:2095,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2097,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2105,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2108,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2109,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2110,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2111,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2121,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2122,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2123,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2124,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2125,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/rt_core/rt_raster.c:2131,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2132,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2133,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2134,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2135,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2141,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2143,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2144,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2145,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2146,1
    - Dst: GDALGetBlockSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2165,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2168,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2169,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_raster.c:2172,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2173,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2175,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2176,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2177,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2178,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_raster.c:2184,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2188,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2189,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2203,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_raster.c:2211,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2212,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2213,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2214,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2215,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2216,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_raster.c:2220,1
    - Dst: GDALRasterIO
      Src: /src/postgis/raster/rt_core/rt_raster.c:2225,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2233,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2234,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2235,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2236,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:2237,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2243,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_raster.c:2247,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_raster.c:2248,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_raster.c:2249,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_raster.c:2250,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2251,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_raster.c:2251,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2262,1
    - Dst: GDALComputeRasterStatistics
      Src: /src/postgis/raster/rt_core/rt_raster.c:2263,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2264,1
    - Dst: GDALFlushCache
      Src: /src/postgis/raster/rt_core/rt_raster.c:2271,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2273,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2274,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 229
    argCount: 7
    argNames:
    - raster
    - srs
    - bandNums
    - excludeNodataValues
    - count
    - rtn_drv
    - destroy_rtn_drv
    argTypes:
    - rt_raster
    - char*
    - uint32_t*
    - int*
    - int
    - GDALDriverH*
    - int*
    assertStmts:
    - condition: (NULL != destroy_rtn_drv)
      pos:
        line_end: 1965
        line_start: 1965
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != raster)
      pos:
        line_end: 1963
        line_start: 1963
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != rtn_drv)
      pos:
        line_end: 1964
        line_start: 1964
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 2277
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 2277
    functionName: rt_raster_to_gdal_mem
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 3
    functionsReached:
    - assert
    - rt_band_get_data
    - rt_band_get_pixtype
    - RASTER_DEBUGF
    - GDALClose
    - rtwarn
    - sprintf
    - rt_band_get_pixel
    - memset
    - GDALRasterIO
    - rtdealloc
    - GDALGetBlockSize
    - GDALCreate
    - strlen
    - rt_util_clamp_to_16BSI
    - rt_raster_get_num_bands
    - rt_util_gdal_convert_sr
    - rtalloc
    - GDALGetDriverByName
    - rt_raster_get_geotransform_matrix
    - GDALGetRasterCount
    - GDALGetRasterNoDataValue
    - rt_raster_get_width
    - GDALSetGeoTransform
    - GDALGetProjectionRef
    - GDALSetRasterNoDataValue
    - GDALDeregisterDriver
    - rt_util_pixtype_to_gdal_datatype
    - GDALGetRasterBand
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - strncasecmp
    - rt_util_gdal_driver_registered
    - CPLFree
    - GDALSetProjection
    - rt_raster_get_band
    - rt_pixtype_size
    - rt_band_get_nodata
    - GDALComputeRasterStatistics
    - GDALFlushCache
    - GDALRegister_MEM
    - GDALAddBand
    - rt_raster_get_height
    linkageType: ''
    returnType: GDALDatasetH
    signature: "GDALDatasetH rt_raster_to_gdal_mem(\n\trt_raster raster,\n\tconst
      char *srs,\n\tuint32_t *bandNums,\n\tint *excludeNodataValues,\n\tint count,\n\tGDALDriverH
      *rtn_drv, int *destroy_rtn_drv\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:2324,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2327,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2328,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2329,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2332,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:2333,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2335,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2338,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:2341,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:2342,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2343,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:2353,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2355,1
    - Dst: rt_util_gdal_sr_auth_info
      Src: /src/postgis/raster/rt_core/rt_raster.c:2359,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_raster.c:2362,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:2365,1
    - Dst: atoi
      Src: /src/postgis/raster/rt_core/rt_raster.c:2365,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2366,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2370,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2372,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/rt_core/rt_raster.c:2375,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2385,1
    - Dst: GDALComputeRasterStatistics
      Src: /src/postgis/raster/rt_core/rt_raster.c:2386,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2387,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2393,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:2395,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2397,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2398,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2401,1
    - Dst: GDALGetRasterDataType
      Src: /src/postgis/raster/rt_core/rt_raster.c:2404,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2405,1
    - Dst: GDALGetDataTypeName
      Src: /src/postgis/raster/rt_core/rt_raster.c:2405,1
    - Dst: GDALGetDataTypeSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2405,1
    - Dst: rt_util_gdal_datatype_to_pixtype
      Src: /src/postgis/raster/rt_core/rt_raster.c:2406,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2408,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2409,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_raster.c:2412,1
    - Dst: GDALGetRasterBandXSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2415,1
    - Dst: GDALGetRasterBandYSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2416,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2417,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_raster.c:2420,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2421,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:2424,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_raster.c:2427,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2430,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2431,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:2434,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2435,1
    - Dst: GDALGetBlockSize
      Src: /src/postgis/raster/rt_core/rt_raster.c:2438,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2441,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2442,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2446,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2448,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2449,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2452,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2458,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2459,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_raster.c:2461,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2475,1
    - Dst: GDALRasterIO
      Src: /src/postgis/raster/rt_core/rt_raster.c:2477,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2486,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2487,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2488,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2497,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_core/rt_raster.c:2498,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2506,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_core/rt_raster.c:2507,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2515,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 126
    argCount: 1
    argNames:
    - ds
    argTypes:
    - GDALDatasetH
    assertStmts:
    - condition: (NULL != ds)
      pos:
        line_end: 2323
        line_start: 2323
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 2519
      start: 2290
    functionDepth: 3
    functionLinenumber: 2290
    functionLinenumberEnd: 2519
    functionName: rt_raster_from_gdal_dataset
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 2
    functionsReached:
    - strcmp
    - assert
    - GDALGetRasterDataType
    - rt_raster_destroy
    - GDALGetRasterBandYSize
    - rt_raster_set_srid
    - RASTER_DEBUGF
    - memset
    - GDALRasterIO
    - rtdealloc
    - GDALGetBlockSize
    - rt_raster_generate_new_band
    - GDALGetGeoTransform
    - rt_raster_get_num_bands
    - rt_raster_new
    - GDALGetRasterYSize
    - rt_raster_set_geotransform_matrix
    - GDALGetDataTypeSize
    - rtalloc
    - GDALGetRasterCount
    - GDALGetRasterNoDataValue
    - rt_util_gdal_datatype_to_pixtype
    - GDALGetDataTypeName
    - atoi
    - rt_util_gdal_sr_auth_info
    - rt_band_set_pixel_line
    - GDALGetRasterBand
    - RASTER_DEBUG
    - rterror
    - GDALGetRasterXSize
    - rt_pixtype_size
    - rt_raster_get_band
    - GDALComputeRasterStatistics
    - GDALGetRasterBandXSize
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_from_gdal_dataset(GDALDatasetH ds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2545,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2541
    functionDepth: 1
    functionLinenumber: 2541
    functionLinenumberEnd: 2565
    functionName: _rti_rasterize_arg_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rterror
    linkageType: ''
    returnType: _rti_rasterize_arg
    signature: _rti_rasterize_arg _rti_rasterize_arg_init()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2571,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2573,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2575,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2577,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2579,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2583,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/rt_core/rt_raster.c:2586,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _rti_rasterize_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2567
    functionDepth: 1
    functionLinenumber: 2567
    functionLinenumberEnd: 2589
    functionName: _rti_rasterize_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 0
    functionsReached:
    - OSRDestroySpatialReference
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void _rti_rasterize_arg_destroy(_rti_rasterize_arg arg)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2659,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:2661,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:2662,1
    - Dst: _rti_rasterize_arg_init
      Src: /src/postgis/raster/rt_core/rt_raster.c:2665,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2667,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2676,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2679,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2682,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2685,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:2688,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_raster.c:2703,1
    - Dst: OSRNewSpatialReference
      Src: /src/postgis/raster/rt_core/rt_raster.c:2704,1
    - Dst: OSRSetFromUserInput
      Src: /src/postgis/raster/rt_core/rt_raster.c:2705,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2706,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2707,1
    - Dst: OGR_G_CreateFromWkb
      Src: /src/postgis/raster/rt_core/rt_raster.c:2713,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2715,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2717,1
    - Dst: OGR_G_IsEmpty
      Src: /src/postgis/raster/rt_core/rt_raster.c:2724,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_raster.c:2725,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2727,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2728,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:2731,1
    - Dst: OGR_G_GetEnvelope
      Src: /src/postgis/raster/rt_core/rt_raster.c:2735,1
    - Dst: rt_util_from_ogr_envelope
      Src: /src/postgis/raster/rt_core/rt_raster.c:2736,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2738,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2745,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2746,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2749,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2750,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2755,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2756,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2758,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2759,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2763,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2764,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2769,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2771,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2772,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2777,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2778,1
    - Dst: wkbFlatten
      Src: /src/postgis/raster/rt_core/rt_raster.c:2817,1
    - Dst: OGR_G_GetGeometryType
      Src: /src/postgis/raster/rt_core/rt_raster.c:2817,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2830,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2834,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2840,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2844,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2851,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2859,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2859,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2863,1
    - Dst: rt_raster_compute_skewed_raster
      Src: /src/postgis/raster/rt_core/rt_raster.c:2865,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2872,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2874,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2875,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2887,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_raster.c:2892,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2892,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_raster.c:2894,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:2894,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:2897,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2899,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2901,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2902,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:2909,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:2910,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_core/rt_raster.c:2911,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:2913,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2914,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2916,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2926,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:2929,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2937,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2939,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2940,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2941,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2958,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2960,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2961,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2962,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:2968,1
    - Dst: DBL_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2975,1
    - Dst: DBL_EQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:2975,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:2976,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:2982,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:2985,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:2991,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2993,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:2994,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:2995,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3001,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3007,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3009,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3010,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3011,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:3018,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:3024,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3027,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3033,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3035,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3036,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3037,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:3043,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:3046,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:3052,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3055,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3061,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3063,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3064,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3065,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_raster.c:3071,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_raster.c:3075,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3087,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3102,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3104,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3110,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3112,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3113,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3114,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:3124,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3132,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3134,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3140,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3142,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3143,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3144,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_raster.c:3154,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3159,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3162,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3164,1
    - Dst: rt_util_gdal_driver_registered
      Src: /src/postgis/raster/rt_core/rt_raster.c:3168,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3169,1
    - Dst: GDALRegister_MEM
      Src: /src/postgis/raster/rt_core/rt_raster.c:3170,1
    - Dst: GDALGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_raster.c:3173,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3175,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3177,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3178,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3186,1
    - Dst: GDALDeregisterDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3187,1
    - Dst: GDALCreate
      Src: /src/postgis/raster/rt_core/rt_raster.c:3190,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3192,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3194,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3195,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3197,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_raster.c:3203,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3205,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3207,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3208,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:3211,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3212,1
    - Dst: OSRExportToWkt
      Src: /src/postgis/raster/rt_core/rt_raster.c:3220,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/rt_core/rt_raster.c:3222,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_core/rt_raster.c:3223,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3225,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3227,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3228,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:3231,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3232,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:3244,1
    - Dst: rt_util_pixtype_to_gdal_datatype
      Src: /src/postgis/raster/rt_core/rt_raster.c:3244,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3246,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_raster.c:3251,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3253,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3260,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_raster.c:3261,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3263,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3267,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_raster.c:3267,1
    - Dst: GDALFillRaster
      Src: /src/postgis/raster/rt_core/rt_raster.c:3271,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3273,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3282,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3283,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:3287,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3288,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:3294,1
    - Dst: GDALRasterizeGeometries
      Src: /src/postgis/raster/rt_core/rt_raster.c:3298,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3308,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3310,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3311,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:3314,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3315,1
    - Dst: GDALFlushCache
      Src: /src/postgis/raster/rt_core/rt_raster.c:3321,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3322,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/rt_core/rt_raster.c:3323,1
    - Dst: OGR_G_DestroyGeometry
      Src: /src/postgis/raster/rt_core/rt_raster.c:3325,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_raster.c:3328,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_raster.c:3329,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3332,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_raster.c:3337,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_raster.c:3338,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:3353,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3355,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3356,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3357,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_core/rt_raster.c:3362,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_raster.c:3366,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_raster.c:3368,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:3371,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_raster.c:3371,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3373,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3374,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3375,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_raster.c:3378,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_raster.c:3378,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/rt_core/rt_raster.c:3381,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3388,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_raster.c:3389,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3390,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3391,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/rt_core/rt_raster.c:3396,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_raster.c:3401,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3403,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3404,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3405,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3406,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_core/rt_raster.c:3413,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3415,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3416,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3417,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3418,1
    - Dst: rt_raster_replace_band
      Src: /src/postgis/raster/rt_core/rt_raster.c:3425,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3427,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3428,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3429,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3430,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3435,1
    - Dst: _rti_rasterize_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3438,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3440,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 433
    argCount: 20
    argNames:
    - wkb
    - wkb_len
    - srs
    - num_bands
    - pixtype
    - init
    - value
    - nodata
    - hasnodata
    - width
    - height
    - scale_x
    - scale_y
    - ul_xw
    - ul_yw
    - grid_xw
    - grid_yw
    - skew_x
    - skew_y
    - options
    argTypes:
    - unsigned char*
    - uint32_t
    - char*
    - uint32_t
    - rt_pixtype*
    - double*
    - double*
    - double*
    - uint8_t*
    - int*
    - int*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - char**
    assertStmts:
    - condition: (0 != wkb_len)
      pos:
        line_end: 2661
        line_start: 2661
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != wkb)
      pos:
        line_end: 2660
        line_start: 2660
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 3443
      start: 2617
    functionDepth: 11
    functionLinenumber: 2617
    functionLinenumberEnd: 3443
    functionName: rt_raster_gdal_rasterize
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - assert
    - GDALAddBand
    - rt_raster_set_scale
    - rt_raster_destroy
    - rt_band_get_pixtype
    - rt_raster_replace_band
    - rt_band_new_inline
    - RASTER_DEBUGF
    - GDALClose
    - rt_band_get_pixel
    - abs
    - OGR_G_GetGeometryType
    - memset
    - rtdealloc
    - GDALFillRaster
    - rt_raster_geopoint_to_cell
    - GDALCreate
    - DBL_EQ
    - rt_raster_from_gdal_dataset
    - strlen
    - FLT_NEQ
    - OGR_G_CreateFromWkb
    - GDALFlushCache
    - rt_raster_new
    - OSRExportToWkt
    - OSRSetFromUserInput
    - rtalloc
    - OGR_G_IsEmpty
    - GDALGetDriverByName
    - rt_raster_get_geotransform_matrix
    - rt_raster_set_skews
    - wkbFlatten
    - GDALGetRasterNoDataValue
    - GDALRasterizeGeometries
    - rt_raster_get_width
    - rt_raster_set_offsets
    - GDALSetGeoTransform
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - rt_raster_cell_to_geopoint
    - GDALSetRasterNoDataValue
    - _rti_rasterize_arg_init
    - GDALDeregisterDriver
    - rt_util_from_ogr_envelope
    - rt_util_pixtype_to_gdal_datatype
    - GDALGetRasterBand
    - RASTER_DEBUG
    - OSRNewSpatialReference
    - rterror
    - rt_raster_compute_skewed_raster
    - _rti_rasterize_arg_destroy
    - fabs
    - rt_band_get_hasnodata_flag
    - rt_util_gdal_driver_registered
    - rtinfo
    - GDALSetProjection
    - CPLFree
    - OGR_G_DestroyGeometry
    - rt_raster_get_band
    - rt_band_get_nodata
    - GDALDestroyDriver
    - GDALRegister_MEM
    - fmax
    - rt_pixtype_size
    - rt_raster_get_height
    - rt_band_destroy
    - OGR_G_GetEnvelope
    linkageType: ''
    returnType: rt_raster
    signature: "rt_raster rt_raster_gdal_rasterize(\n\tconst unsigned char *wkb, uint32_t
      wkb_len,\n\tconst char *srs,\n\tuint32_t num_bands, rt_pixtype *pixtype,\n\tdouble
      *init, double *value,\n\tdouble *nodata, uint8_t *hasnodata,\n\tint *width,
      int *height,\n\tdouble *scale_x, double *scale_y,\n\tdouble *ul_xw, double *ul_yw,\n\tdouble
      *grid_xw, double *grid_yw,\n\tdouble *skew_x, double *skew_y,\n\tchar **options\n)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:3480,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:3481,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_raster.c:3482,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_core/rt_raster.c:3488,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3489,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3493,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:3504,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3510,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:3537,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3542,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:3545,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3546,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3547,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3552,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3553,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3579,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3585,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3591,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3597,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:3599,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3604,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:3607,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3608,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_raster.c:3609,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:3619,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3625,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3626,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:3632,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3638,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3639,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_raster.c:3654,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:3656,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3658,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:3661,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_raster.c:3662,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_raster.c:3688,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3693,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_raster.c:3696,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3699,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_raster.c:3700,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3706,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3707,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_raster.c:3711,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:3714,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3720,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3721,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_raster.c:3727,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3733,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_raster.c:3734,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_raster.c:3742,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 166
    argCount: 5
    argNames:
    - rast1
    - rast2
    - extenttype
    - rtnraster
    - offset
    argTypes:
    - rt_raster
    - rt_raster
    - rt_extenttype
    - rt_raster*
    - double*
    assertStmts:
    - condition: (NULL != rast1)
      pos:
        line_end: 3479
        line_start: 3479
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != rtnraster)
      pos:
        line_end: 3481
        line_start: 3481
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    - condition: (NULL != rast2)
      pos:
        line_end: 3480
        line_start: 3480
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    constantsTouched: []
    func_position:
      end: 3754
      start: 3463
    functionDepth: 3
    functionLinenumber: 3463
    functionLinenumberEnd: 3754
    functionName: rt_raster_from_two_rasters
    functionSourceFile: /src/postgis/raster/rt_core/rt_raster.c
    functionUses: 1
    functionsReached:
    - assert
    - RASTER_DEBUG
    - rterror
    - rt_raster_geopoint_to_cell
    - rt_raster_get_geotransform_matrix
    - rt_raster_set_scale
    - rt_raster_destroy
    - rt_raster_same_alignment
    - rt_raster_set_srid
    - RASTER_DEBUGF
    - rt_raster_cell_to_geopoint
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_from_two_rasters(\n\trt_raster rast1, rt_raster
      rast2,\n\trt_extenttype extenttype,\n\trt_raster *rtnraster, double *offset\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:36,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rt_util_clamp_to_1BB
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 4
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rt_util_clamp_to_1BB(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:41,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: rt_util_clamp_to_2BUI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rt_util_clamp_to_2BUI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:46,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: rt_util_clamp_to_4BUI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rt_util_clamp_to_4BUI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:51,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: rt_util_clamp_to_8BSI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 4
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: int8_t
    signature: int8_t rt_util_clamp_to_8BSI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:56,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rt_util_clamp_to_8BUI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 4
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rt_util_clamp_to_8BUI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:61,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: rt_util_clamp_to_16BSI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 5
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: int16_t
    signature: int16_t rt_util_clamp_to_16BSI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:66,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: rt_util_clamp_to_16BUI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_util_clamp_to_16BUI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:71,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: rt_util_clamp_to_32BSI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 4
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: int32_t
    signature: int32_t rt_util_clamp_to_32BSI(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:76,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: rt_util_clamp_to_32BUI
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rt_util_clamp_to_32BUI(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/postgis/raster/rt_core/rt_util.c:81,1
    - Dst: fmin
      Src: /src/postgis/raster/rt_core/rt_util.c:83,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_util.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: rt_util_clamp_to_32F
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 2
    functionsReached:
    - fmin
    - fmax
    - isnan
    linkageType: ''
    returnType: float
    signature: float rt_util_clamp_to_32F(double value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:95,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:95,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:97,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:99,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:101,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:103,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:105,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:107,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:109,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - algname
    argTypes:
    - char*
    assertStmts:
    - condition: (algname != NULL && strlen(algname) > 0)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: rt_util_gdal_resample_alg
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - strlen
    linkageType: ''
    returnType: GDALResampleAlg
    signature: GDALResampleAlg rt_util_gdal_resample_alg(const char *algname)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - pt
    argTypes:
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: rt_util_pixtype_to_gdal_datatype
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: GDALDataType
    signature: GDALDataType rt_util_pixtype_to_gdal_datatype(rt_pixtype pt)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - gdt
    argTypes:
    - GDALDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 180
    functionName: rt_util_gdal_datatype_to_pixtype
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rt_pixtype
    signature: rt_pixtype rt_util_gdal_datatype_to_pixtype(GDALDataType gdt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:187,1
    - Dst: GDALVersionInfo
      Src: /src/postgis/raster/rt_core/rt_util.c:188,1
    - Dst: GDALVersionInfo
      Src: /src/postgis/raster/rt_core/rt_util.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: rt_util_gdal_version
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - GDALVersionInfo
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_util_gdal_version(const char *request)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:198,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:198,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:200,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:202,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:204,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:206,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (name != NULL && strlen(name) > 0)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: rt_util_extent_type
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - strlen
    linkageType: ''
    returnType: rt_extenttype
    signature: rt_extenttype rt_util_extent_type(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:222,1
    - Dst: OSRNewSpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:224,1
    - Dst: OSRSetFromUserInput
      Src: /src/postgis/raster/rt_core/rt_util.c:225,1
    - Dst: OSRExportToProj4
      Src: /src/postgis/raster/rt_core/rt_util.c:227,1
    - Dst: OSRExportToWkt
      Src: /src/postgis/raster/rt_core/rt_util.c:229,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:232,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:236,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - srs
    - proj4
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (srs != NULL)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: rt_util_gdal_convert_sr
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - OSRSetFromUserInput
    - assert
    - OSRDestroySpatialReference
    - OSRNewSpatialReference
    - OSRExportToProj4
    - rterror
    - OSRExportToWkt
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_util_gdal_convert_sr(const char *srs, int proj4)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:253,1
    - Dst: OSRNewSpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:255,1
    - Dst: OSRSetFromUserInput
      Src: /src/postgis/raster/rt_core/rt_util.c:256,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - srs
    argTypes:
    - char*
    assertStmts:
    - condition: (srs != NULL)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: rt_util_gdal_supported_sr
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - OSRSetFromUserInput
    - assert
    - OSRDestroySpatialReference
    - OSRNewSpatialReference
    linkageType: ''
    returnType: int
    signature: int rt_util_gdal_supported_sr(const char *srs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:279,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:280,1
    - Dst: GDALGetProjectionRef
      Src: /src/postgis/raster/rt_core/rt_util.c:285,1
    - Dst: OSRNewSpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:287,1
    - Dst: OSRSetFromUserInput
      Src: /src/postgis/raster/rt_core/rt_util.c:289,1
    - Dst: OSRGetAuthorityName
      Src: /src/postgis/raster/rt_core/rt_util.c:290,1
    - Dst: OSRGetAuthorityCode
      Src: /src/postgis/raster/rt_core/rt_util.c:291,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:294,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:295,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_util.c:296,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_util.c:297,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:300,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_util.c:301,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_util.c:302,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:303,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_core/rt_util.c:307,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_core/rt_util.c:308,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/rt_core/rt_util.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - hds
    - authname
    - authcode
    argTypes:
    - GDALDatasetH
    - char**
    - char**
    assertStmts:
    - condition: (authname != NULL)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/postgis/raster/rt_core/rt_util.c
    - condition: (authcode != NULL)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: rt_util_gdal_sr_auth_info
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - OSRSetFromUserInput
    - rtalloc
    - assert
    - OSRDestroySpatialReference
    - OSRNewSpatialReference
    - rterror
    - OSRGetAuthorityCode
    - rtdealloc
    - strncpy
    - OSRGetAuthorityName
    - strlen
    - GDALGetProjectionRef
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_util_gdal_sr_auth_info(GDALDatasetH hds, char **authname,
      char **authcode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_gdal_supported_sr
      Src: /src/postgis/raster/rt_core/rt_util.c:324,1
    - Dst: rt_util_gdal_supported_sr
      Src: /src/postgis/raster/rt_core/rt_util.c:326,1
    - Dst: rt_util_gdal_supported_sr
      Src: /src/postgis/raster/rt_core/rt_util.c:328,1
    - Dst: rt_util_gdal_supported_sr
      Src: /src/postgis/raster/rt_core/rt_util.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: rt_util_gdal_configured
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - rt_util_gdal_supported_sr
    linkageType: ''
    returnType: int
    signature: int rt_util_gdal_configured(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_util.c:344,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_util.c:348,1
    - Dst: GDALAllRegister
      Src: /src/postgis/raster/rt_core/rt_util.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - force_register_all
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: rt_util_gdal_register_all
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - GDALAllRegister
    - RASTER_DEBUG
    linkageType: ''
    returnType: int
    signature: int rt_util_gdal_register_all(int force_register_all)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GDALGetDriverCount
      Src: /src/postgis/raster/rt_core/rt_util.c:360,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:364,1
    - Dst: GDALGetDriver
      Src: /src/postgis/raster/rt_core/rt_util.c:368,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:371,1
    - Dst: GDALGetDriverShortName
      Src: /src/postgis/raster/rt_core/rt_util.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - drv
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 376
    functionName: rt_util_gdal_driver_registered
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 3
    functionsReached:
    - strcmp
    - GDALGetDriverCount
    - GDALGetDriver
    - strlen
    - GDALGetDriverShortName
    linkageType: ''
    returnType: int
    signature: int rt_util_gdal_driver_registered(const char *drv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rtoptions
      Src: /src/postgis/raster/rt_core/rt_util.c:392,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_util.c:395,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_util.c:398,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_util.c:399,1
    - Dst: option_list_parse
      Src: /src/postgis/raster/rt_core/rt_util.c:400,1
    - Dst: option_list_length
      Src: /src/postgis/raster/rt_core/rt_util.c:401,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_util.c:410,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:411,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_util.c:414,1
    - Dst: CPLSetConfigOption
      Src: /src/postgis/raster/rt_core/rt_util.c:415,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:421,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_core/rt_util.c:424,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:425,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_core/rt_util.c:428,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_core/rt_util.c:432,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_core/rt_util.c:433,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_core/rt_util.c:434,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:436,1
    - Dst: GDALOpenEx
      Src: /src/postgis/raster/rt_core/rt_util.c:446,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - fn
    - fn_access
    - shared
    argTypes:
    - char*
    - GDALAccess
    - int
    assertStmts:
    - condition: (NULL != fn)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 452
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 452
    functionName: rt_util_gdal_open
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - rtoptions
    - strcmp
    - memset
    - assert
    - rterror
    - GDALOpenEx
    - strstr
    - CPLSetConfigOption
    - rtinfo
    - strlen
    - option_list_parse
    - rtwarn
    - option_list_length
    linkageType: ''
    returnType: GDALDatasetH
    signature: "GDALDatasetH rt_util_gdal_open(\n\tconst char *fn,\n\tGDALAccess fn_access,\n\tint
      shared\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - env
    - ext
    argTypes:
    - OGREnvelope
    - rt_envelope*
    assertStmts:
    - condition: (ext != NULL)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 468
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 468
    functionName: rt_util_from_ogr_envelope
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void rt_util_from_ogr_envelope(\n\tOGREnvelope\tenv,\n\trt_envelope
      *ext\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_util.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ext
    - env
    argTypes:
    - rt_envelope
    - OGREnvelope*
    assertStmts:
    - condition: (env != NULL)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/postgis/raster/rt_core/rt_util.c
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: rt_util_to_ogr_envelope
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void rt_util_to_ogr_envelope(\n\trt_envelope ext,\n\tOGREnvelope\t*env\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_util.c:492,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:494,1
    - Dst: ptarray_construct
      Src: /src/postgis/raster/rt_core/rt_util.c:497,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:499,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_util.c:508,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_util.c:509,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_util.c:514,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_util.c:519,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_util.c:524,1
    - Dst: lwpoly_construct
      Src: /src/postgis/raster/rt_core/rt_util.c:526,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_util.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - env
    argTypes:
    - rt_envelope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 533
    functionName: rt_util_envelope_to_lwpoly
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - lwpoly_construct
    - rterror
    - ptarray_construct
    - ptarray_set_point4d
    linkageType: ''
    returnType: LWPOLY
    signature: "LWPOLY *\nrt_util_envelope_to_lwpoly(\n\trt_envelope env\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_util.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - gt1
    - gt2
    argTypes:
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 548
    functionName: rt_util_same_geotransform_matrix
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 0
    functionsReached:
    - FLT_NEQ
    linkageType: ''
    returnType: int
    signature: int rt_util_same_geotransform_matrix(double *gt1, double *gt2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DBL_EQ
      Src: /src/postgis/raster/rt_core/rt_util.c:587,1
    - Dst: DBL_EQ
      Src: /src/postgis/raster/rt_core/rt_util.c:589,1
    - Dst: modf
      Src: /src/postgis/raster/rt_core/rt_util.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - rgb
    - hsv
    argTypes:
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 602
    functionName: rt_util_rgb_to_hsv
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - DBL_EQ
    - modf
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_util_rgb_to_hsv(double rgb[3], double hsv[3])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DBL_EQ
      Src: /src/postgis/raster/rt_core/rt_util.c:612,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_util.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - hsv
    - rgb
    argTypes:
    - double[]
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 671
    functionName: rt_util_hsv_to_rgb
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - DBL_EQ
    - floor
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_util_hsv_to_rgb(double hsv[3], double rgb[3])
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_util.c:691,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:693,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:694,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:703,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:704,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_util.c:713,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:715,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:716,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:725,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:726,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_util.c:739,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:741,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:742,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_util.c:751,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_util.c:753,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_util.c:754,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - initialvalue
    - checkvalint
    - checkvaluint
    - checkvalfloat
    - checkvaldouble
    - pixtype
    argTypes:
    - double
    - int32_t
    - uint32_t
    - float
    - double
    - rt_pixtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 767
    functionName: rt_util_dbl_trunc_warning
    functionSourceFile: /src/postgis/raster/rt_core/rt_util.c
    functionUses: 1
    functionsReached:
    - fabs
    - rtwarn
    - FLT_NEQ
    - rt_pixtype_name
    linkageType: ''
    returnType: int
    signature: "int rt_util_dbl_trunc_warning(\n\tdouble initialvalue,\n\tint32_t
      checkvalint, uint32_t checkvaluint,\n\tfloat checkvalfloat, double checkvaldouble,\n\trt_pixtype
      pixtype\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:71,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:73,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:75,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:79,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_band.c:79,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:92,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:95,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:96,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 6
    argNames:
    - width
    - height
    - pixtype
    - hasnodata
    - nodataval
    - data
    argTypes:
    - uint16_t
    - uint16_t
    - rt_pixtype
    - uint32_t
    - double
    - uint8_t*
    assertStmts:
    - condition: (NULL != data)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: rt_band_new_inline
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 16
    functionsReached:
    - rtalloc
    - assert
    - rterror
    - rt_band_set_nodata
    - rt_pixtype_name
    - RASTER_DEBUGF
    - rt_band_destroy
    linkageType: ''
    returnType: rt_band
    signature: "rt_band rt_band_new_inline(\n\tuint16_t width, uint16_t height,\n\trt_pixtype
      pixtype,\n\tuint32_t hasnodata, double nodataval,\n\tuint8_t* data\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:133,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:135,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:137,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:141,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_band.c:142,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:156,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:157,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:158,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_band.c:165,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:166,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:168,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:169,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 7
    argNames:
    - width
    - height
    - pixtype
    - hasnodata
    - nodataval
    - bandNum
    - path
    argTypes:
    - uint16_t
    - uint16_t
    - rt_pixtype
    - uint32_t
    - double
    - uint8_t
    - char*
    assertStmts:
    - condition: (NULL != path)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 178
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 178
    functionName: rt_band_new_offline
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - rterror
    - rt_band_set_nodata
    - strlen
    - rt_pixtype_name
    - RASTER_DEBUGF
    - rt_band_destroy
    - memcpy
    linkageType: ''
    returnType: rt_band
    signature: "rt_band rt_band_new_offline(\n\tuint16_t width, uint16_t height,\n\trt_pixtype
      pixtype,\n\tuint32_t hasnodata, double nodataval,\n\tuint8_t bandNum, const
      char* path\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_core/rt_band.c:216,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/rt_core/rt_band.c:217,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:219,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/rt_core/rt_band.c:223,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:225,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:226,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:231,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:236,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_band.c:240,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:242,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:246,1
    - Dst: GDALGetRasterDataType
      Src: /src/postgis/raster/rt_core/rt_band.c:250,1
    - Dst: rt_util_gdal_datatype_to_pixtype
      Src: /src/postgis/raster/rt_core/rt_band.c:251,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:253,1
    - Dst: GDALGetDataTypeName
      Src: /src/postgis/raster/rt_core/rt_band.c:255,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:258,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_band.c:264,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:266,1
    - Dst: rt_band_new_offline
      Src: /src/postgis/raster/rt_core/rt_band.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - width
    - height
    - hasnodata
    - nodataval
    - bandNum
    - path
    - force
    argTypes:
    - uint16_t
    - uint16_t
    - int
    - double
    - uint8_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 274
    functionName: rt_band_new_offline_from_path
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rt_band_new_offline
    - GDALGetRasterDataType
    - rt_util_gdal_open
    - rt_util_gdal_register_all
    - GDALGetRasterBand
    - GDALGetRasterCount
    - rterror
    - GDALGetRasterNoDataValue
    - rt_util_gdal_datatype_to_pixtype
    - GDALGetDataTypeName
    - GDALClose
    linkageType: ''
    returnType: rt_band
    signature: "rt_band rt_band_new_offline_from_path(\n\tuint16_t width,\n\tuint16_t
      height,\n\tint hasnodata,\n\tdouble nodataval,\n\tuint8_t bandNum,\n\tconst
      char* path,\n\tint force\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:290,1
    - Dst: rt_band_new_offline
      Src: /src/postgis/raster/rt_core/rt_band.c:294,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:304,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_band.c:304,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:306,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:309,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_band.c:309,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/rt_core/rt_band.c:311,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/rt_core/rt_band.c:317,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (band != NULL)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 326
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 326
    functionName: rt_band_duplicate
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rt_band_new_offline
    - assert
    - rtalloc
    - rterror
    - rt_pixtype_size
    - rt_band_new_inline
    - rt_band_set_ownsdata_flag
    - memcpy
    linkageType: ''
    returnType: rt_band
    signature: rt_band rt_band_duplicate(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: rt_band_is_offline
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int rt_band_is_offline(rt_band band)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:344,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:350,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:353,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:357,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: rt_band_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 23
    functionsReached:
    - RASTER_DEBUGF
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void rt_band_destroy(rt_band band)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:365,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: rt_band_get_ext_path
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 3
    functionsReached:
    - assert
    - RASTER_DEBUG
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_band_get_ext_path(rt_band band)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:377,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:378,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - band
    - bandnum
    argTypes:
    - rt_band
    - uint8_t*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != bandnum)
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 390
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: rt_band_get_ext_band_num
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 3
    functionsReached:
    - assert
    - RASTER_DEBUG
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_band_get_ext_band_num(rt_band band, uint8_t *bandnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:401,1
    - Dst: rt_band_load_offline_data
      Src: /src/postgis/raster/rt_core/rt_band.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: rt_band_get_data
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 5
    functionsReached:
    - rt_band_load_offline_data
    - assert
    linkageType: ''
    returnType: void
    signature: 'void *

      rt_band_get_data(rt_band band)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:442,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:443,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:446,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_band.c:449,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:450,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:456,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_core/rt_band.c:460,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/rt_core/rt_band.c:461,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:463,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/rt_core/rt_band.c:468,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:470,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:471,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:476,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:477,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_band.c:482,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:483,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:491,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_band.c:495,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_band.c:496,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_band.c:497,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_core/rt_band.c:498,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:499,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:502,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:503,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:507,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_band.c:511,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:518,1
    - Dst: VRTCreate
      Src: /src/postgis/raster/rt_core/rt_band.c:521,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_band.c:522,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/rt_core/rt_band.c:528,1
    - Dst: rt_util_pixtype_to_gdal_datatype
      Src: /src/postgis/raster/rt_core/rt_band.c:528,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_band.c:529,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_band.c:532,1
    - Dst: VRTAddSimpleSource
      Src: /src/postgis/raster/rt_core/rt_band.c:534,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_band.c:535,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_band.c:536,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_band.c:536,1
    - Dst: VRTFlushCache
      Src: /src/postgis/raster/rt_core/rt_band.c:544,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/rt_core/rt_band.c:547,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:549,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_band.c:550,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:561,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_band.c:565,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:567,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:568,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:574,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:580,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_band.c:581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 86
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (band != NULL)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (band->raster != NULL)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 584
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 584
    functionName: rt_band_load_offline_data
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 2
    functionsReached:
    - assert
    - rt_raster_destroy
    - rt_raster_same_alignment
    - rt_raster_set_srid
    - RASTER_DEBUGF
    - GDALClose
    - rtwarn
    - VRTFlushCache
    - rtdealloc
    - rt_raster_geopoint_to_cell
    - rt_raster_from_gdal_dataset
    - strlen
    - GDALGetGeoTransform
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - VRTCreate
    - GDALGetRasterCount
    - GDALSetGeoTransform
    - GDALSetRasterNoDataValue
    - rt_util_pixtype_to_gdal_datatype
    - rt_util_gdal_register_all
    - rt_util_gdal_open
    - RASTER_DEBUG
    - rterror
    - GDALGetRasterBand
    - fabs
    - rt_raster_get_band
    - GDALAddBand
    - VRTAddSimpleSource
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_band_load_offline_data(rt_band band)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:589,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:591,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:596,1
    - Dst: VSIStatL
      Src: /src/postgis/raster/rt_core/rt_band.c:600,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 606
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 606
    functionName: rt_band_get_file_size
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - assert
    - VSIStatL
    - rterror
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rt_band_get_file_size(rt_band band)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:611,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:613,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:618,1
    - Dst: VSIStatL
      Src: /src/postgis/raster/rt_core/rt_band.c:622,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 628
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 628
    functionName: rt_band_get_file_timestamp
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - assert
    - VSIStatL
    - rterror
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rt_band_get_file_timestamp(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 637
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 637
    functionName: rt_band_get_pixtype
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: rt_pixtype
    signature: rt_pixtype rt_band_get_pixtype(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 646
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 646
    functionName: rt_band_get_width
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 14
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_band_get_width(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: rt_band_get_height
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 14
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rt_band_get_height(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: rt_band_get_ownsdata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 12
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int rt_band_get_ownsdata_flag(rt_band band)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - band
    - flag
    argTypes:
    - rt_band
    - int
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: rt_band_set_ownsdata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 17
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void rt_band_set_ownsdata_flag(rt_band band, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: rt_band_get_hasnodata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int rt_band_get_hasnodata_flag(rt_band band)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:683,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - band
    - flag
    argTypes:
    - rt_band
    - int
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 692
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 692
    functionName: rt_band_set_hasnodata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - assert
    - RASTER_DEBUG
    linkageType: ''
    returnType: void
    signature: void rt_band_set_hasnodata_flag(rt_band band, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:696,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - band
    - flag
    argTypes:
    - rt_band
    - int
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 695
        line_start: 695
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 711
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 711
    functionName: rt_band_set_isnodata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - assert
    - rterror
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_band_set_isnodata_flag(rt_band band, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: rt_band_get_isnodata_flag
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int rt_band_get_isnodata_flag(rt_band band)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:740,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:747,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_band.c:747,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_band.c:752,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:757,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:762,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:767,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:772,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:777,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:782,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:787,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:792,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_band.c:797,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:807,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:813,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:814,1
    - Dst: rt_util_dbl_trunc_warning
      Src: /src/postgis/raster/rt_core/rt_band.c:821,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 3
    argNames:
    - band
    - val
    - converted
    argTypes:
    - rt_band
    - double
    - int*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 831
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 831
    functionName: rt_band_set_nodata
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 28
    functionsReached:
    - assert
    - rt_util_clamp_to_2BUI
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_8BUI
    - rterror
    - rt_util_clamp_to_4BUI
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32F
    - rt_util_dbl_trunc_warning
    - rt_pixtype_name
    - rt_util_clamp_to_32BUI
    - RASTER_DEBUGF
    - rt_util_clamp_to_1BB
    - rt_util_clamp_to_16BUI
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_band_set_nodata(rt_band band, double val, int *converted)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:863,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:864,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:866,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:869,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_band.c:874,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:880,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_band.c:884,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:886,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:890,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:902,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:908,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:914,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:920,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:926,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:932,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:938,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:942,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:950,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:951,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_band.c:956,1
    - Dst: rt_band_set_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_band.c:957,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 5
    argNames:
    - band
    - x
    - y
    - vals
    - len
    argTypes:
    - rt_band
    - int
    - int
    - void*
    - uint32_t
    assertStmts:
    - condition: (vals != NULL && len > 0)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != band)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 960
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 960
    functionName: rt_band_set_pixel_line
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rt_band_get_pixel
    - assert
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_data
    - rt_pixtype_size
    - RASTER_DEBUGF
    - rt_band_set_isnodata_flag
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_set_pixel_line(\n\trt_band band,\n\tint x, int
      y,\n\tvoid *vals, uint32_t len\n)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:989,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:995,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1005,1
    - Dst: rt_band_corrected_clamped_value
      Src: /src/postgis/raster/rt_core/rt_band.c:1014,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1018,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_band.c:1027,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_band.c:1032,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:1037,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:1042,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:1047,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:1052,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:1058,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:1064,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:1070,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:1076,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_band.c:1082,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1093,1
    - Dst: rt_band_clamped_value_is_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:1099,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1100,1
    - Dst: rt_util_dbl_trunc_warning
      Src: /src/postgis/raster/rt_core/rt_band.c:1105,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 5
    argNames:
    - band
    - x
    - y
    - val
    - converted
    argTypes:
    - rt_band
    - int
    - int
    - double
    - int*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1115
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 1115
    functionName: rt_band_set_pixel
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 38
    functionsReached:
    - assert
    - rt_util_clamp_to_2BUI
    - rt_util_clamp_to_32BSI
    - RASTER_DEBUG
    - rt_band_clamped_value_is_nodata
    - rterror
    - rt_band_get_data
    - rt_util_clamp_to_4BUI
    - rt_util_clamp_to_8BUI
    - rt_band_corrected_clamped_value
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_32F
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32BUI
    - rt_util_dbl_trunc_warning
    - rtwarn
    - rt_util_clamp_to_1BB
    - rt_util_clamp_to_16BUI
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_set_pixel(\n\trt_band band,\n\tint x, int y,\n\tdouble
      val,\n\tint *converted\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1151,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1152,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1161,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_band.c:1168,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1170,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1176,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_band.c:1178,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1179,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1187,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1189,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1193,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1195,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_band.c:1200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - band
    - x
    - y
    - len
    - vals
    - nvals
    argTypes:
    - rt_band
    - int
    - int
    - uint16_t
    - void**
    - uint16_t*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1150
        line_start: 1150
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (vals != NULL && nvals != NULL)
      pos:
        line_end: 1151
        line_start: 1151
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1206
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1206
    functionName: rt_band_get_pixel_line
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - rterror
    - rt_band_get_data
    - rt_pixtype_size
    - RASTER_DEBUGF
    - rtwarn
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_get_pixel_line(\n\trt_band band,\n\tint x, int
      y,\n\tuint16_t len,\n\tvoid **vals, uint16_t *nvals\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rt_band_get_pixel_bilinear
      Src: /src/postgis/raster/rt_core/rt_band.c:1229,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:1234,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_band.c:1235,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_band.c:1235,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - band
    - xr
    - yr
    - resample
    - r_value
    - r_nodata
    argTypes:
    - rt_band
    - double
    - double
    - rt_resample_type
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1220
    functionDepth: 1
    functionLinenumber: 1220
    functionLinenumberEnd: 1244
    functionName: rt_band_get_pixel_resample
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rt_band_get_pixel
    - floor
    - rtwarn
    - rt_band_get_pixel_bilinear
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_get_pixel_resample(\n\trt_band band,\n\tdouble
      xr, double yr,\n\trt_resample_type resample,\n\tdouble *r_value, int *r_nodata\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_band.c:1277,1
    - Dst: floor
      Src: /src/postgis/raster/rt_core/rt_band.c:1278,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/rt_core/rt_band.c:1283,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/rt_core/rt_band.c:1284,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1288,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_band.c:1296,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:1297,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:1315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - band
    - xr
    - yr
    - r_value
    - r_nodata
    argTypes:
    - rt_band
    - double
    - double
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1360
    functionName: rt_band_get_pixel_bilinear
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 2
    functionsReached:
    - rt_band_get_pixel
    - rt_band_get_hasnodata_flag
    - floor
    - rt_band_get_nodata
    - rt_band_get_width
    - rtwarn
    - rt_band_get_height
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_get_pixel_bilinear(\n\trt_band band,\n\tdouble
      xr, double yr,\n\tdouble *r_value, int *r_nodata)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1386,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1387,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_band.c:1397,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1403,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/rt_core/rt_band.c:1409,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1411,1
    - Dst: getBits
      Src: /src/postgis/raster/rt_core/rt_band.c:1429,1
    - Dst: getBits
      Src: /src/postgis/raster/rt_core/rt_band.c:1441,1
    - Dst: getBits
      Src: /src/postgis/raster/rt_core/rt_band.c:1453,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1498,1
    - Dst: rt_band_clamped_value_is_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:1505,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 5
    argNames:
    - band
    - x
    - y
    - value
    - nodata
    argTypes:
    - rt_band
    - int
    - int
    - double*
    - int*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1385
        line_start: 1385
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != value)
      pos:
        line_end: 1386
        line_start: 1386
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1510
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1510
    functionName: rt_band_get_pixel
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 28
    functionsReached:
    - getBits
    - assert
    - RASTER_DEBUG
    - rterror
    - rt_band_get_data
    - rt_band_clamped_value_is_nodata
    - rtwarn
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_get_pixel(\n\trt_band band,\n\tint x, int y,\n\tdouble
      *value,\n\tint *nodata\n)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1556,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1557,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1559,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1569,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1570,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1591,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1598,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1599,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1601,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1611,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1620,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1621,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1629,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1630,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1636,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_core/rt_band.c:1640,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1641,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_band.c:1641,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1642,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1653,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1667,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1668,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_band.c:1679,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1709,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1731,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:1736,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1742,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1743,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1746,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1753,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1757,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1759,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1761,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_band.c:1790,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 140
    argCount: 7
    argNames:
    - band
    - x
    - y
    - distancex
    - distancey
    - exclude_nodata_value
    - npixels
    argTypes:
    - rt_band
    - int
    - int
    - uint16_t
    - uint16_t
    - int
    - rt_pixel*
    assertStmts:
    - condition: (NULL != npixels)
      pos:
        line_end: 1556
        line_start: 1556
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != band)
      pos:
        line_end: 1555
        line_start: 1555
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1793
      start: 1529
    functionDepth: 3
    functionLinenumber: 1529
    functionLinenumberEnd: 1793
    functionName: rt_band_get_nearest_pixel
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 2
    functionsReached:
    - rt_band_get_pixel
    - abs
    - assert
    - rtalloc
    - RASTER_DEBUG
    - rtdealloc
    - rterror
    - rt_pixtype_get_min_value
    - rtrealloc
    - rt_pixtype_name
    - RASTER_DEBUGF
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t rt_band_get_nearest_pixel(\n\trt_band band,\n\tint x, int
      y,\n\tuint16_t distancex, uint16_t distancey,\n\tint exclude_nodata_value,\n\trt_pixel
      *npixels\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1825,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1826,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1827,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1833,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:1839,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1841,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/rt_core/rt_band.c:1848,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_band.c:1852,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1858,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_band.c:1860,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1862,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 5
    argNames:
    - band
    - exclude_nodata_value
    - searchset
    - searchcount
    - pixels
    argTypes:
    - rt_band
    - int
    - double*
    - int
    - rt_pixel*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1824
        line_start: 1824
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != pixels)
      pos:
        line_end: 1825
        line_start: 1825
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != searchset && searchcount > 0)
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1876
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1876
    functionName: rt_band_get_pixel_of_value
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - rt_band_get_pixel
    - rtalloc
    - assert
    - RASTER_DEBUG
    - rterror
    - rt_pixtype_compare_clamped_values
    - rtrealloc
    - FLT_NEQ
    linkageType: ''
    returnType: int
    signature: "int rt_band_get_pixel_of_value(\n\trt_band band, int exclude_nodata_value,\n\tdouble
      *searchset, int searchcount,\n\trt_pixel *pixels\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1888,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1889,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - band
    - nodata
    argTypes:
    - rt_band
    - double*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1887
        line_start: 1887
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != nodata)
      pos:
        line_end: 1888
        line_start: 1888
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1899
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1899
    functionName: rt_band_get_nodata
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 33
    functionsReached:
    - assert
    - rterror
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_band_get_nodata(rt_band band, double *nodata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1903,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_core/rt_band.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1902
        line_start: 1902
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1906
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1906
    functionName: rt_band_get_min_value
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 0
    functionsReached:
    - rt_pixtype_get_min_value
    - assert
    linkageType: ''
    returnType: double
    signature: double rt_band_get_min_value(rt_band band)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1914,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_band.c:1919,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_band.c:1928,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:1930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - band
    argTypes:
    - rt_band
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1913
        line_start: 1913
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1942
      start: 1908
    functionDepth: 3
    functionLinenumber: 1908
    functionLinenumberEnd: 1942
    functionName: rt_band_check_is_nodata
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 3
    functionsReached:
    - rt_band_get_pixel
    - assert
    - RASTER_DEBUG
    - rterror
    linkageType: ''
    returnType: int
    signature: int rt_band_check_is_nodata(rt_band band)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1958,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_band.c:1965,1
    - Dst: rt_pixtype_compare_clamped_values
      Src: /src/postgis/raster/rt_core/rt_band.c:1969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - band
    - val
    argTypes:
    - rt_band
    - double
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1957
        line_start: 1957
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 1976
      start: 1954
    functionDepth: 2
    functionLinenumber: 1954
    functionLinenumberEnd: 1976
    functionName: rt_band_clamped_value_is_nodata
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 2
    functionsReached:
    - assert
    - rt_pixtype_compare_clamped_values
    - FLT_EQ
    linkageType: ''
    returnType: int
    signature: int rt_band_clamped_value_is_nodata(rt_band band, double val)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1998,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_band.c:1999,1
    - Dst: rt_band_clamped_value_is_nodata
      Src: /src/postgis/raster/rt_core/rt_band.c:2005,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_core/rt_band.c:2010,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2018,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2018,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2024,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2024,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2030,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2030,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2036,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2036,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2042,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2042,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2048,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2048,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2054,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_band.c:2054,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2060,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_band.c:2060,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_band.c:2066,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_band.c:2066,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_band.c:2066,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_band.c:2074,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - band
    - val
    - newval
    - corrected
    argTypes:
    - rt_band
    - double
    - double*
    - int*
    assertStmts:
    - condition: (NULL != band)
      pos:
        line_end: 1997
        line_start: 1997
        source_file: /src/postgis/raster/rt_core/rt_band.c
    - condition: (NULL != newval)
      pos:
        line_end: 1998
        line_start: 1998
        source_file: /src/postgis/raster/rt_core/rt_band.c
    constantsTouched: []
    func_position:
      end: 2082
      start: 1990
    functionDepth: 3
    functionLinenumber: 1990
    functionLinenumberEnd: 2082
    functionName: rt_band_corrected_clamped_value
    functionSourceFile: /src/postgis/raster/rt_core/rt_band.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_util_clamp_to_2BUI
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_8BUI
    - rt_pixtype_get_min_value
    - rt_util_clamp_to_4BUI
    - FLT_EQ
    - rterror
    - rt_util_clamp_to_8BSI
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32F
    - rt_band_clamped_value_is_nodata
    - rt_util_clamp_to_32BUI
    - rt_util_clamp_to_16BUI
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_band_corrected_clamped_value(\n\trt_band band,\n\tdouble
      val,\n\tdouble *newval, int *corrected\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:46,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:47,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:51,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:53,1
    - Dst: deparse_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:59,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:62,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:63,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_serialize.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - raw
    - size
    - hexsize
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (NULL != raw)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != hexsize)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != hex)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (0 == strlen(hex) % 2)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: d_binary_to_hex
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - rterror
    - deparse_hex
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      d_binary_to_hex(const uint8_t * const raw, uint32_t size, uint32_t *hexsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:73,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:74,1
    - Dst: d_binary_to_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:77,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_serialize.c:79,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - raw
    - size
    argTypes:
    - char*
    - uint8_t*
    - uint32_t
    assertStmts:
    - condition: (NULL != msg)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != raw)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: d_print_binary_hex
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - rtinfo
    - assert
    - rtdealloc
    - d_binary_to_hex
    linkageType: ''
    returnType: void
    signature: void d_print_binary_hex(const char* msg, const uint8_t * const raw,
      uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - end
    - size
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (NULL != ptr && NULL != end)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: d_binptr_to_pos
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t d_binptr_to_pos(const uint8_t * const ptr, const uint8_t * const
      end, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:115,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:116,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:118,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_serialize.c:125,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:130,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:137,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:138,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:143,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - ch
    - val
    - bits
    - bitOffset
    argTypes:
    - char*
    - double
    - int
    - int
    assertStmts:
    - condition: (ch != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (8 - bitOffset >= bits)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: setBits
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUGF
    - assert
    - rtwarn
    linkageType: ''
    returnType: void
    signature: void setBits(char* ch, double val, int bits, int bitOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts:
    - condition: (NULL != a && NULL != b)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: swap_char
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void swap_char(uint8_t *a, uint8_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:166,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint8_t*
    assertStmts:
    - condition: (NULL != d)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: flip_endian_16
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - assert
    - swap_char
    linkageType: ''
    returnType: void
    signature: void flip_endian_16(uint8_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:173,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:175,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint8_t*
    assertStmts:
    - condition: (NULL != d)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: flip_endian_32
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - assert
    - swap_char
    linkageType: ''
    returnType: void
    signature: void flip_endian_32(uint8_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:181,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:183,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:184,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:185,1
    - Dst: swap_char
      Src: /src/postgis/raster/rt_core/rt_serialize.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - uint8_t*
    assertStmts:
    - condition: (NULL != d)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: flip_endian_64
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - assert
    - swap_char
    linkageType: ''
    returnType: void
    signature: void flip_endian_64(uint8_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: isMachineLittleEndian
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isMachineLittleEndian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - from
    argTypes:
    - uint8_t**
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: read_uint8
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t read_uint8(const uint8_t** from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:214,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - from
    argTypes:
    - uint8_t**
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: read_int8
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - read_uint8
    - assert
    linkageType: ''
    returnType: int8_t
    signature: int8_t read_int8(const uint8_t** from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: read_uint16
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t read_uint16(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - to
    - littleEndian
    - v
    argTypes:
    - uint8_t**
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (NULL != to)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: write_uint16
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void write_uint16(uint8_t** to, uint8_t littleEndian, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:262,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_serialize.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: read_int16
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - read_uint16
    - assert
    linkageType: ''
    returnType: int16_t
    signature: int16_t read_int16(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: read_uint32
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t read_uint32(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:334,1
    - Dst: read_uint32
      Src: /src/postgis/raster/rt_core/rt_serialize.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: read_int32
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached:
    - assert
    - read_uint32
    linkageType: ''
    returnType: int32_t
    signature: int32_t read_int32(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_uint32
      Src: /src/postgis/raster/rt_core/rt_serialize.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: read_float32
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - read_uint32
    linkageType: ''
    returnType: float
    signature: float read_float32(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - from
    - littleEndian
    argTypes:
    - uint8_t**
    - uint8_t
    assertStmts:
    - condition: (NULL != from)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 421
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 421
    functionName: read_float64
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double read_float64(const uint8_t** from, uint8_t littleEndian)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:466,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:468,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_serialize.c:474,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:477,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_serialize.c:492,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:499,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 512
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 512
    functionName: rt_raster_serialized_size
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 0
    functionsReached:
    - assert
    - rterror
    - rt_pixtype_size
    - strlen
    - RASTER_DEBUGF
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rt_raster_serialized_size(rt_raster raster)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:527,1
    - Dst: rt_raster_serialized_size
      Src: /src/postgis/raster/rt_core/rt_serialize.c:529,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:530,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:532,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_serialize.c:535,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:538,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:540,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:542,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:555,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_serialize.c:557,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:561,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:569,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_serialize.c:572,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:574,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:575,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:583,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:597,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_serialize.c:604,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:609,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:613,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:634,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:640,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:646,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:652,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:658,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:663,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:668,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:669,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:674,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:677,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:686,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_serialize.c:687,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:692,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:697,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:707,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_serialize.c:711,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 115
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts:
    - condition: (!((ptr - ret) % pixbytes))
      pos:
        line_end: 706
        line_start: 706
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (!((ptr - ret) % pixbytes))
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != raster)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != band)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (!((ptr - ret) % pixbytes))
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 714
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 714
    functionName: rt_raster_serialize
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - memset
    - strcpy
    - RASTER_DEBUG
    - rtdealloc
    - rterror
    - d_print_binary_hex
    - rt_raster_serialized_size
    - rt_pixtype_size
    - strlen
    - RASTER_DEBUGF
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      rt_raster_serialize(rt_raster raster)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:737,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_serialize.c:739,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_serialize.c:747,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:748,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:750,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_serialize.c:755,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:756,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_serialize.c:766,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:767,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:769,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:770,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:774,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:786,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:788,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:789,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:790,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:800,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_core/rt_serialize.c:800,1
    - Dst: BANDTYPE_IS_OFFDB
      Src: /src/postgis/raster/rt_core/rt_serialize.c:802,1
    - Dst: BANDTYPE_HAS_NODATA
      Src: /src/postgis/raster/rt_core/rt_serialize.c:803,1
    - Dst: BANDTYPE_IS_NODATA
      Src: /src/postgis/raster/rt_core/rt_serialize.c:804,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_serialize.c:811,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:817,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:821,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:825,1
    - Dst: read_int8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:829,1
    - Dst: read_uint8
      Src: /src/postgis/raster/rt_core/rt_serialize.c:833,1
    - Dst: read_int16
      Src: /src/postgis/raster/rt_core/rt_serialize.c:837,1
    - Dst: read_uint16
      Src: /src/postgis/raster/rt_core/rt_serialize.c:841,1
    - Dst: read_int32
      Src: /src/postgis/raster/rt_core/rt_serialize.c:845,1
    - Dst: read_uint32
      Src: /src/postgis/raster/rt_core/rt_serialize.c:849,1
    - Dst: read_float32
      Src: /src/postgis/raster/rt_core/rt_serialize.c:853,1
    - Dst: read_float64
      Src: /src/postgis/raster/rt_core/rt_serialize.c:857,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:861,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:862,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:863,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:868,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:869,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:872,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_serialize.c:882,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_serialize.c:883,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_serialize.c:885,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:886,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:887,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_serialize.c:891,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_serialize.c:912,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_serialize.c:915,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 132
    argCount: 2
    argNames:
    - serialized
    - header_only
    argTypes:
    - void*
    - int
    assertStmts:
    - condition: (!((ptr - beg) % pixbytes))
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (NULL != serialized)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - condition: (!((ptr - beg) % pixbytes))
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    constantsTouched: []
    func_position:
      end: 919
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 919
    functionName: rt_raster_deserialize
    functionSourceFile: /src/postgis/raster/rt_core/rt_serialize.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_raster_destroy
    - BANDTYPE_HAS_NODATA
    - RASTER_DEBUGF
    - rtdealloc
    - read_float32
    - BANDTYPE_IS_NODATA
    - read_float64
    - strlen
    - rtalloc
    - read_int32
    - read_uint32
    - BANDTYPE_IS_OFFDB
    - read_int16
    - read_int8
    - read_uint16
    - read_uint8
    - RASTER_DEBUG
    - rterror
    - rt_pixtype_size
    - rt_pixtype_name
    - rt_band_destroy
    - memcpy
    linkageType: ''
    returnType: rt_raster
    signature: rt_raster rt_raster_deserialize(void* serialized, int header_only)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:73,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: _rti_warp_arg_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_warp.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rterror
    linkageType: ''
    returnType: _rti_warp_arg
    signature: _rti_warp_arg _rti_warp_arg_init()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_warp.c:108,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_core/rt_warp.c:110,1
    - Dst: GDALDeregisterDriver
      Src: /src/postgis/raster/rt_core/rt_warp.c:113,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_warp.c:114,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_warp.c:118,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_core/rt_warp.c:120,1
    - Dst: GDALDeregisterDriver
      Src: /src/postgis/raster/rt_core/rt_warp.c:123,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_warp.c:124,1
    - Dst: GDALDestroyGenImgProjTransformer
      Src: /src/postgis/raster/rt_core/rt_warp.c:129,1
    - Dst: GDALDestroyWarpOptions
      Src: /src/postgis/raster/rt_core/rt_warp.c:133,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:138,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:140,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _rti_warp_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: _rti_warp_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_warp.c
    functionUses: 0
    functionsReached:
    - GDALDeregisterDriver
    - rtdealloc
    - GDALDestroyWarpOptions
    - CPLFree
    - GDALDestroyDriver
    - GDALClose
    - GDALDestroyGenImgProjTransformer
    linkageType: ''
    returnType: void
    signature: void _rti_warp_arg_destroy(_rti_warp_arg arg)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:213,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_warp.c:215,1
    - Dst: _rti_warp_arg_init
      Src: /src/postgis/raster/rt_core/rt_warp.c:218,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:220,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:230,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_core/rt_warp.c:235,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:236,1
    - Dst: rt_util_gdal_convert_sr
      Src: /src/postgis/raster/rt_core/rt_warp.c:237,1
    - Dst: rt_util_gdal_convert_sr
      Src: /src/postgis/raster/rt_core/rt_warp.c:238,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:241,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:242,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:248,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:253,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:254,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/rt_core/rt_warp.c:259,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:261,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:262,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:265,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_warp.c:270,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_warp.c:275,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:276,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_warp.c:281,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:282,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:286,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:286,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:286,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:286,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:287,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:287,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_warp.c:291,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_warp.c:295,1
    - Dst: GDALFlushCache
      Src: /src/postgis/raster/rt_core/rt_warp.c:296,1
    - Dst: rt_util_gdal_convert_sr
      Src: /src/postgis/raster/rt_core/rt_warp.c:299,1
    - Dst: rt_util_gdal_convert_sr
      Src: /src/postgis/raster/rt_core/rt_warp.c:300,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_warp.c:303,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:304,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:313,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:315,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:316,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_warp.c:319,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_warp.c:324,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_warp.c:325,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:326,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:328,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:329,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_core/rt_warp.c:332,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:333,1
    - Dst: GDALCreateGenImgProjTransformer2
      Src: /src/postgis/raster/rt_core/rt_warp.c:340,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:342,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:343,1
    - Dst: GDALSuggestedWarpOutput2
      Src: /src/postgis/raster/rt_core/rt_warp.c:348,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:352,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:353,1
    - Dst: GDALDestroyGenImgProjTransformer
      Src: /src/postgis/raster/rt_core/rt_warp.c:356,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:366,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:378,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:386,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:387,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_warp.c:393,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:394,1
    - Dst: abs
      Src: /src/postgis/raster/rt_core/rt_warp.c:398,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:399,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:404,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:405,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:407,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:408,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:424,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:425,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:430,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:430,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:432,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:433,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:436,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:468,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:471,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:471,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:475,1
    - Dst: rt_raster_compute_skewed_raster
      Src: /src/postgis/raster/rt_core/rt_warp.c:477,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:484,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:485,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:497,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_warp.c:502,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:502,1
    - Dst: fmax
      Src: /src/postgis/raster/rt_core/rt_warp.c:504,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:504,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_warp.c:507,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:509,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:510,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:515,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_warp.c:516,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_core/rt_warp.c:517,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_warp.c:519,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:520,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:522,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:532,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:535,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:543,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:544,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:545,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:560,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:561,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:562,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:566,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:573,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:573,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:574,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:580,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_core/rt_warp.c:583,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:589,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:590,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:591,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_warp.c:595,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:601,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:603,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:604,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:609,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:615,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_warp.c:618,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:624,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:625,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:626,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:630,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:633,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:639,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_warp.c:642,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:648,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:650,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:651,1
    - Dst: fabs
      Src: /src/postgis/raster/rt_core/rt_warp.c:655,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_core/rt_warp.c:659,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:660,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_warp.c:672,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_warp.c:687,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:693,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:694,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:695,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:703,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_warp.c:711,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:717,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:718,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:719,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_core/rt_warp.c:727,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:732,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:735,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:737,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:741,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:742,1
    - Dst: rt_util_gdal_driver_registered
      Src: /src/postgis/raster/rt_core/rt_warp.c:747,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:748,1
    - Dst: GDALRegister_VRT
      Src: /src/postgis/raster/rt_core/rt_warp.c:749,1
    - Dst: GDALGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_warp.c:752,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:754,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:755,1
    - Dst: GDALCreate
      Src: /src/postgis/raster/rt_core/rt_warp.c:760,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:762,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:763,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/rt_core/rt_warp.c:769,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:771,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:772,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:775,1
    - Dst: GDALGetProjectionRef
      Src: /src/postgis/raster/rt_core/rt_warp.c:775,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/rt_core/rt_warp.c:779,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:781,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:782,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_warp.c:787,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_warp.c:789,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:791,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:792,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_core/rt_warp.c:796,1
    - Dst: rt_util_pixtype_to_gdal_datatype
      Src: /src/postgis/raster/rt_core/rt_warp.c:797,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_warp.c:799,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/rt_core/rt_warp.c:801,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:803,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:804,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_warp.c:810,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:812,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:813,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_warp.c:818,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_warp.c:819,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_warp.c:820,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_warp.c:821,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:822,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/rt_core/rt_warp.c:822,1
    - Dst: GDALCreateGenImgProjTransformer2
      Src: /src/postgis/raster/rt_core/rt_warp.c:827,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:832,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:833,1
    - Dst: GDALCreateApproxTransformer
      Src: /src/postgis/raster/rt_core/rt_warp.c:840,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:845,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:846,1
    - Dst: GDALCreateWarpOptions
      Src: /src/postgis/raster/rt_core/rt_warp.c:854,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:856,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:857,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:867,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:869,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_warp.c:869,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_core/rt_warp.c:870,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:875,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:876,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:891,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:892,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:893,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:894,1
    - Dst: CPLMalloc
      Src: /src/postgis/raster/rt_core/rt_warp.c:895,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:902,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:903,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_warp.c:907,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:909,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:910,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_warp.c:914,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_warp.c:922,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_warp.c:927,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:936,1
    - Dst: GDALInitializeWarpedVRT
      Src: /src/postgis/raster/rt_core/rt_warp.c:937,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:939,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:940,1
    - Dst: GDALFlushCache
      Src: /src/postgis/raster/rt_core/rt_warp.c:946,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:947,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:950,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/rt_core/rt_warp.c:951,1
    - Dst: _rti_warp_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_warp.c:953,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_warp.c:956,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_warp.c:970,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_core/rt_warp.c:971,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_warp.c:974,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 438
    argCount: 15
    argNames:
    - raster
    - src_srs
    - dst_srs
    - scale_x
    - scale_y
    - width
    - height
    - ul_xw
    - ul_yw
    - grid_xw
    - grid_yw
    - skew_x
    - skew_y
    - resample_alg
    - max_err
    argTypes:
    - rt_raster
    - char*
    - char*
    - double*
    - double*
    - int*
    - int*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - GDALResampleAlg
    - double
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/postgis/raster/rt_core/rt_warp.c
    constantsTouched: []
    func_position:
      end: 977
      start: 177
    functionDepth: 11
    functionLinenumber: 177
    functionLinenumberEnd: 977
    functionName: rt_raster_gdal_warp
    functionSourceFile: /src/postgis/raster/rt_core/rt_warp.c
    functionUses: 2
    functionsReached:
    - strcmp
    - assert
    - strcpy
    - GDALAddBand
    - FLT_EQ
    - rt_raster_set_scale
    - rt_raster_destroy
    - rt_raster_set_srid
    - RASTER_DEBUGF
    - GDALCreateApproxTransformer
    - rtwarn
    - rt_raster_to_gdal_mem
    - sprintf
    - GDALRegister_VRT
    - abs
    - memset
    - GDALCreateGenImgProjTransformer2
    - rt_raster_geopoint_to_cell
    - GDALCreate
    - CPLMalloc
    - rt_raster_from_gdal_dataset
    - strlen
    - FLT_NEQ
    - GDALCreateWarpOptions
    - _rti_warp_arg_init
    - GDALGetGeoTransform
    - rt_raster_get_num_bands
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - rt_util_gdal_convert_sr
    - rtalloc
    - GDALGetDriverByName
    - rt_raster_get_geotransform_matrix
    - rt_raster_set_skews
    - _rti_warp_arg_destroy
    - GDALGetRasterNoDataValue
    - rt_raster_set_offsets
    - GDALSetGeoTransform
    - GDALGetProjectionRef
    - rt_raster_cell_to_geopoint
    - GDALSetRasterNoDataValue
    - GDALSuggestedWarpOutput2
    - rt_util_pixtype_to_gdal_datatype
    - GDALInitializeWarpedVRT
    - GDALGetRasterBand
    - RASTER_DEBUG
    - rt_raster_compute_skewed_raster
    - rterror
    - rt_band_get_hasnodata_flag
    - fabs
    - rt_util_gdal_driver_registered
    - GDALSetProjection
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - GDALFlushCache
    - fmax
    - rt_band_get_pixtype
    - GDALDestroyGenImgProjTransformer
    linkageType: ''
    returnType: rt_raster
    signature: "rt_raster rt_raster_gdal_warp(\n\trt_raster raster,\n\tconst char
      *src_srs, const char *dst_srs,\n\tdouble *scale_x, double *scale_y,\n\tint *width,
      int *height,\n\tdouble *ul_xw, double *ul_yw,\n\tdouble *grid_xw, double *grid_yw,\n\tdouble
      *skew_x, double *skew_y,\n\tGDALResampleAlg resample_alg, double max_err\n)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:76,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:77,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:78,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:79,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:82,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:84,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:87,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:88,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:90,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:91,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:93,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:99,1
    - Dst: rt_util_clamp_to_1BB
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:112,1
    - Dst: rt_util_clamp_to_2BUI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:121,1
    - Dst: rt_util_clamp_to_4BUI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:130,1
    - Dst: rt_util_clamp_to_8BSI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:139,1
    - Dst: rt_util_clamp_to_8BUI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:148,1
    - Dst: rt_util_clamp_to_16BSI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:157,1
    - Dst: rt_util_clamp_to_16BUI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:166,1
    - Dst: rt_util_clamp_to_32BSI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:175,1
    - Dst: rt_util_clamp_to_32BUI
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:184,1
    - Dst: rt_util_clamp_to_32F
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:193,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:209,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:210,1
    - Dst: rt_util_dbl_trunc_warning
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:216,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:223,1
    - Dst: rt_band_new_inline
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:225,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:227,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:228,1
    - Dst: rt_band_set_ownsdata_flag
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:231,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:232,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:236,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:240,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:243,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:259,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:260,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:270,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:274,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:282,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:286,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:300,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:316,1
    - Dst: round
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:351,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:357,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:367,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:368,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:369,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:370,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 182
    argCount: 6
    argNames:
    - srcband
    - pixtype
    - hasnodata
    - nodataval
    - exprset
    - exprcount
    argTypes:
    - rt_band
    - rt_pixtype
    - uint32_t
    - double
    - rt_reclassexpr*
    - int
    assertStmts:
    - condition: (NULL != srcband)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    - condition: (NULL != exprset && exprcount > 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    constantsTouched: []
    func_position:
      end: 379
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 379
    functionName: rt_band_reclass
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 1
    functionsReached:
    - assert
    - FLT_EQ
    - rt_band_new_inline
    - RASTER_DEBUGF
    - rt_util_clamp_to_16BUI
    - rt_band_get_pixel
    - memset
    - rt_band_destroy
    - rtdealloc
    - rt_util_clamp_to_8BUI
    - rt_util_clamp_to_32F
    - rt_util_clamp_to_16BSI
    - rt_util_clamp_to_32BUI
    - rt_util_dbl_trunc_warning
    - rtalloc
    - rt_util_clamp_to_32BSI
    - rt_util_clamp_to_4BUI
    - rt_band_set_pixel
    - rt_band_set_ownsdata_flag
    - round
    - rt_band_get_height
    - rt_util_clamp_to_2BUI
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_util_clamp_to_8BSI
    - rt_pixtype_size
    - rt_band_get_nodata
    - rt_band_get_width
    - rt_util_clamp_to_1BB
    linkageType: ''
    returnType: rt_band
    signature: "rt_band rt_band_reclass(\n\trt_band srcband, rt_pixtype pixtype,\n\tuint32_t
      hasnodata, double nodataval,\n\trt_reclassexpr *exprset, int exprcount\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:425,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 457
    functionName: _rti_iterator_arg_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rterror
    linkageType: ''
    returnType: _rti_iterator_arg
    signature: _rti_iterator_arg _rti_iterator_arg_init()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:464,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:466,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:468,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:470,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:473,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:475,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:477,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:479,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:481,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:487,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:489,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:496,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:498,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:504,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:506,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:511,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:513,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:518,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:521,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:524,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:527,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - _param
    argTypes:
    - _rti_iterator_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 528
    functionName: _rti_iterator_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void _rti_iterator_arg_destroy(_rti_iterator_arg _param)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:547,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:548,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:549,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:550,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:552,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:554,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:555,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:556,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:557,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:558,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:572,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:608,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:617,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:620,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:624,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:630,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:632,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:637,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:642,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:645,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:650,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:655,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:656,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:659,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:661,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 7
    argNames:
    - _param
    - itrset
    - itrcount
    - distancex
    - distancey
    - allnull
    - allempty
    argTypes:
    - _rti_iterator_arg
    - rt_iterator
    - uint16_t
    - uint16_t
    - uint16_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 667
    functionName: _rti_iterator_arg_populate
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rt_band_get_min_value
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_isnodata_flag
    - rt_raster_is_empty
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_width
    - RASTER_DEBUGF
    - rt_raster_get_height
    - rt_raster_has_band
    linkageType: ''
    returnType: int
    signature: "int _rti_iterator_arg_populate(\n\t_rti_iterator_arg _param,\n\trt_iterator
      itrset, uint16_t itrcount,\n\tuint16_t distancex, uint16_t distancey,\n\tint
      *allnull, int *allempty\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:674,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:675,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:677,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:682,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:683,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - _param
    argTypes:
    - _rti_iterator_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 697
    functionName: _rti_iterator_arg_empty_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rterror
    linkageType: ''
    returnType: int
    signature: int _rti_iterator_arg_empty_init(_rti_iterator_arg _param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:703,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:705,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:714,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:715,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:716,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:718,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:721,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:722,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:727,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:729,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - _param
    argTypes:
    - _rti_iterator_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 743
    functionName: _rti_iterator_arg_callback_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - memset
    - rterror
    linkageType: ''
    returnType: int
    signature: int _rti_iterator_arg_callback_init(_rti_iterator_arg _param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:751,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:752,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:762,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:763,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:766,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - _param
    argTypes:
    - _rti_iterator_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 772
    functionName: _rti_iterator_arg_callback_clean
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - RASTER_DEBUGF
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void _rti_iterator_arg_callback_clean(_rti_iterator_arg _param)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:859,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:861,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:862,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:869,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:874,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:875,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:881,1
    - Dst: _rti_iterator_arg_init
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:886,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:887,1
    - Dst: _rti_iterator_arg_populate
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:892,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:893,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:894,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:900,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:902,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:908,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:910,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:912,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:914,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:917,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:924,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:930,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:937,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:946,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:948,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:958,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:959,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:961,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:966,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:976,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:977,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:979,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:983,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:994,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:996,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1007,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1009,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1011,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1018,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1031,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1032,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1035,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1039,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1043,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1044,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1048,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1079,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1084,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1090,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1095,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1097,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1099,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1102,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1110,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1112,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1114,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1121,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1125,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1133,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1134,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1136,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1139,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1140,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1141,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1142,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1143,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1144,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1145,1
    - Dst: _rti_iterator_arg_empty_init
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1149,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1150,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1152,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1153,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1159,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1166,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1168,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1169,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1175,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1177,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1179,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1180,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1186,1
    - Dst: _rti_iterator_arg_callback_init
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1189,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1190,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1192,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1193,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1194,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1204,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1205,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1207,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1209,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1210,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1211,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1218,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1226,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1232,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1244,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1258,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1267,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1269,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1277,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1279,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1280,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1281,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1293,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1294,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1300,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1302,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1303,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1304,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1312,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1327,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1329,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1332,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1334,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1335,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1336,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1350,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1353,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1361,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1363,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1365,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1366,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1367,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1374,1
    - Dst: callback
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1377,1
    - Dst: _rti_iterator_arg_callback_clean
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1380,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1384,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1386,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1387,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1388,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1396,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1397,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1400,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1401,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1404,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1407,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1409,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1410,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1411,1
    - Dst: _rti_iterator_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1419,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 339
    argCount: 12
    argNames:
    - itrset
    - itrcount
    - extenttype
    - customextent
    - pixtype
    - hasnodata
    - nodataval
    - distancex
    - distancey
    - mask
    - userarg
    - rtnraster
    argTypes:
    - rt_iterator
    - uint16_t
    - rt_extenttype
    - rt_raster
    - rt_pixtype
    - uint8_t
    - double
    - uint16_t
    - uint16_t
    - rt_mask
    - void*
    - rt_raster*
    assertStmts:
    - condition: (itrset != NULL && itrcount > 0)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    - condition: (rtnraster != NULL)
      pos:
        line_end: 861
        line_start: 861
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    constantsTouched: []
    func_position:
      end: 1423
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 1423
    functionName: rt_raster_iterator
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 1
    functionsReached:
    - assert
    - rt_raster_set_scale
    - _rti_iterator_arg_destroy
    - rt_raster_destroy
    - rt_raster_is_empty
    - rtrealloc
    - rt_raster_same_alignment
    - RASTER_DEBUGF
    - rt_band_get_min_value
    - _rti_iterator_arg_populate
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - rt_band_destroy
    - rtdealloc
    - _rti_iterator_arg_init
    - rt_raster_generate_new_band
    - _rti_iterator_arg_empty_init
    - rt_raster_new
    - rtalloc
    - rt_raster_get_y_scale
    - rt_raster_get_width
    - rt_band_set_pixel
    - _rti_iterator_arg_callback_clean
    - rt_raster_get_x_offset
    - RASTER_DEBUG
    - rt_raster_get_y_skew
    - rterror
    - rt_band_get_nearest_pixel
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - callback
    - rtinfo
    - rt_raster_get_srid
    - rt_raster_from_two_rasters
    - rt_raster_get_band
    - rt_pixel_set_to_array
    - rt_raster_get_height
    - _rti_iterator_arg_callback_init
    - memcpy
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_iterator(\n\trt_iterator itrset, uint16_t
      itrcount,\n\trt_extenttype extenttype, rt_raster customextent,\n\trt_pixtype
      pixtype,\n\tuint8_t hasnodata, double nodataval,\n\tuint16_t distancex, uint16_t
      distancey,\n\trt_mask mask,\n\tvoid *userarg,\n\tint (*callback)(\n\t\trt_iterator_arg
      arg,\n\t\tvoid *userarg,\n\t\tdouble *value,\n\t\tint *nodata\n\t),\n\trt_raster
      *rtnraster\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1450,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1452,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1465,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1446
    functionDepth: 5
    functionLinenumber: 1446
    functionLinenumberEnd: 1479
    functionName: _rti_colormap_arg_init
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - rt_raster_clone
    - rterror
    linkageType: ''
    returnType: _rti_colormap_arg
    signature: _rti_colormap_arg _rti_colormap_arg_init(rt_raster raster)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1488,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1489,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1491,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1494,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1500,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1502,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1506,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - _rti_colormap_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1481
    functionDepth: 2
    functionLinenumber: 1481
    functionLinenumberEnd: 1510
    functionName: _rti_colormap_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    - rt_raster_destroy
    - rt_raster_get_band
    - rt_raster_get_num_bands
    - rt_band_destroy
    linkageType: ''
    returnType: void
    signature: void _rti_colormap_arg_destroy(_rti_colormap_arg arg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1534,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1537,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1542,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1547,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1548,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1552,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1554,1
    - Dst: _rti_colormap_arg_init
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1559,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1561,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1566,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1568,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1573,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1574,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1578,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1584,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1586,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1587,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1597,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1608,1
    - Dst: rtinfo
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1614,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1631,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1633,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1634,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1637,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1638,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1641,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1643,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1644,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1671,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1680,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1770,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1780,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1811,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1821,1
    - Dst: rt_band_reclass
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1835,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1837,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1838,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1843,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1843,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1844,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1845,1
    - Dst: _rti_colormap_arg_destroy
      Src: /src/postgis/raster/rt_core/rt_mapalgebra.c:1852,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 196
    argCount: 3
    argNames:
    - raster
    - nband
    - colormap
    argTypes:
    - rt_raster
    - int
    - rt_colormap
    assertStmts:
    - condition: (colormap != NULL)
      pos:
        line_end: 1533
        line_start: 1533
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    constantsTouched: []
    func_position:
      end: 1855
      start: 1523
    functionDepth: 6
    functionLinenumber: 1523
    functionLinenumberEnd: 1855
    functionName: rt_raster_colormap
    functionSourceFile: /src/postgis/raster/rt_core/rt_mapalgebra.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_raster_add_band
    - rt_raster_get_num_bands
    - rt_raster_is_empty
    - _rti_colormap_arg_destroy
    - rtinfo
    - RASTER_DEBUGF
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_band_reclass
    - _rti_colormap_arg_init
    - rtwarn
    - rt_raster_has_band
    linkageType: ''
    returnType: rt_raster
    signature: "rt_raster rt_raster_colormap(\n\trt_raster raster, int nband,\n\trt_colormap
      colormap\n)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:49,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:50,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:51,1
    - Dst: memset
      Src: /src/postgis/raster/rt_core/rt_geometry.c:53,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/rt_core/rt_geometry.c:55,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/rt_core/rt_geometry.c:56,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_geometry.c:63,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:64,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:68,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_geometry.c:89,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:90,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:94,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_geometry.c:115,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:116,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:120,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_core/rt_geometry.c:141,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:142,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:146,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:162,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 89
    argCount: 2
    argNames:
    - band
    - trim
    argTypes:
    - rt_band
    - uint16_t*
    assertStmts:
    - condition: (trim != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    - condition: (band->raster != NULL)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    - condition: (band != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 166
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 166
    functionName: _rti_raster_get_band_perimeter
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - assert
    - memset
    - rterror
    - RASTER_DEBUGF
    - rt_band_get_width
    - rt_band_get_height
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate _rti_raster_get_band_perimeter(rt_band band, uint16_t
      *trim)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:202,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_geometry.c:207,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:211,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_geometry.c:212,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_geometry.c:213,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:215,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:220,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:229,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:231,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:233,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_geometry.c:245,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:247,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:248,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_geometry.c:253,1
    - Dst: _rti_raster_get_band_perimeter
      Src: /src/postgis/raster/rt_core/rt_geometry.c:256,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:257,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:258,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:271,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:279,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:283,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:285,1
    - Dst: ptarray_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:288,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:290,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:296,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:302,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:303,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:306,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:312,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:315,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:321,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:324,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:330,1
    - Dst: lwpoly_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:332,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 3
    argNames:
    - raster
    - nband
    - perimeter
    argTypes:
    - rt_raster
    - int
    - LWGEOM**
    assertStmts:
    - condition: (perimeter != NULL)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 336
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 336
    functionName: rt_raster_get_perimeter
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - lwpoly_construct
    - rtdealloc
    - rt_raster_get_geotransform_matrix
    - rterror
    - ptarray_construct
    - rt_band_get_isnodata_flag
    - lwpoly_as_lwgeom
    - rt_raster_is_empty
    - _rti_raster_get_band_perimeter
    - ptarray_set_point4d
    - rt_raster_get_srid
    - rt_raster_get_band
    - RASTER_DEBUGF
    - rt_raster_cell_to_geopoint
    - rt_raster_get_num_bands
    linkageType: ''
    returnType: rt_errorstate
    signature: "rt_errorstate rt_raster_get_perimeter(\n\trt_raster raster, int nband,\n\tLWGEOM
      **perimeter\n)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:368,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_core/rt_geometry.c:374,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_geometry.c:385,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:386,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/raster/rt_core/rt_geometry.c:389,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/raster/rt_core/rt_geometry.c:390,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:391,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:392,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/raster/rt_core/rt_geometry.c:394,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_core/rt_geometry.c:398,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:399,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_geometry.c:404,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:406,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_geometry.c:411,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_core/rt_geometry.c:418,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:419,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/raster/rt_core/rt_geometry.c:422,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/raster/rt_core/rt_geometry.c:423,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:424,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:425,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/raster/rt_core/rt_geometry.c:427,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_geometry.c:431,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:432,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/rt_core/rt_geometry.c:437,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:440,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:441,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:448,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:450,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:451,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:452,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:458,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:458,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:459,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:460,1
    - Dst: LWGEOM2GEOS
      Src: /src/postgis/raster/rt_core/rt_geometry.c:464,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:464,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:465,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:467,1
    - Dst: GEOSGeom_createCollection
      Src: /src/postgis/raster/rt_core/rt_geometry.c:470,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:473,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:476,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:477,1
    - Dst: GEOSUnaryUnion
      Src: /src/postgis/raster/rt_core/rt_geometry.c:482,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:484,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:485,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:488,1
    - Dst: GEOS2LWGEOM
      Src: /src/postgis/raster/rt_core/rt_geometry.c:493,1
    - Dst: GEOSisValid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:502,1
    - Dst: lwgeom_make_valid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:506,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_geometry.c:508,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:512,1
    - Dst: GEOSGeom_destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:517,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:520,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:521,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:525,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:526,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:527,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:533,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:533,1
    - Dst: lwgeom_is_collection
      Src: /src/postgis/raster/rt_core/rt_geometry.c:537,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:542,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:543,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:544,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:548,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/raster/rt_core/rt_geometry.c:556,1
    - Dst: lwgeom_clone_deep
      Src: /src/postgis/raster/rt_core/rt_geometry.c:557,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:558,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_core/rt_geometry.c:559,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:562,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:566,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:567,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:568,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:575,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:576,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:577,1
    - Dst: lwgeom_as_lwmpoly
      Src: /src/postgis/raster/rt_core/rt_geometry.c:581,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 127
    argCount: 3
    argNames:
    - raster
    - nband
    - surface
    argTypes:
    - rt_raster
    - int
    - LWMPOLY**
    assertStmts:
    - condition: (surface != NULL)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 586
      start: 355
    functionDepth: 10
    functionLinenumber: 355
    functionLinenumberEnd: 586
    functionName: rt_raster_surface
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 4
    functionsReached:
    - assert
    - lwgeom_free
    - lwgeom_is_collection
    - rt_raster_get_convex_hull
    - rt_raster_is_empty
    - lwgeom_set_srid
    - RASTER_DEBUGF
    - rtwarn
    - lwgeom_to_wkt
    - GEOSUnaryUnion
    - lwpoly_free
    - rtdealloc
    - rt_raster_get_num_bands
    - rtalloc
    - lwgeom_as_lwmpoly
    - LWGEOM2GEOS
    - lwpoly_as_lwgeom
    - lwgeom_as_multi
    - GEOS2LWGEOM
    - GEOSGeom_destroy
    - GEOSisValid
    - lwgeom_make_valid
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - rt_band_get_isnodata_flag
    - lwgeom_clone_deep
    - rt_raster_get_band
    - rt_raster_get_srid
    - rt_raster_gdal_polygonize
    - GEOSGeom_createCollection
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_raster_surface(rt_raster raster, int nband, LWMPOLY
      **surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:617,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_geometry.c:619,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_geometry.c:620,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_core/rt_geometry.c:621,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_core/rt_geometry.c:622,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_core/rt_geometry.c:623,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_core/rt_geometry.c:624,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:625,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:627,1
    - Dst: ptarray_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:628,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:632,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:636,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:640,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:644,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:647,1
    - Dst: lwpoly_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 3
    argNames:
    - rast
    - x
    - y
    argTypes:
    - rt_raster
    - int
    - int
    assertStmts:
    - condition: (rast != NULL)
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 652
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 652
    functionName: rt_raster_pixel_as_polygon
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 1
    functionsReached:
    - rt_raster_get_y_offset
    - rtalloc
    - assert
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - lwpoly_construct
    - ptarray_construct
    - rt_raster_get_y_scale
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - ptarray_set_point4d
    - rt_raster_get_srid
    linkageType: ''
    returnType: LWPOLY
    signature: 'LWPOLY *

      rt_raster_pixel_as_polygon(rt_raster rast, int x, int y)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_core/rt_geometry.c:677,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_core/rt_geometry.c:678,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_core/rt_geometry.c:679,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_core/rt_geometry.c:680,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_core/rt_geometry.c:681,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_core/rt_geometry.c:682,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:683,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rast
    - x
    - y
    argTypes:
    - rt_raster
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 690
    functionName: rt_raster_pixel_as_centroid_point
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_offset
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - rt_raster_get_y_scale
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_raster_get_srid
    - lwpoint_make2d
    linkageType: ''
    returnType: LWPOINT
    signature: 'LWPOINT *

      rt_raster_pixel_as_centroid_point(rt_raster rast, int x, int y)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:712,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:720,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_geometry.c:721,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:723,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:737,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:738,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/raster/rt_core/rt_geometry.c:743,1
    - Dst: ptarray_append_point
      Src: /src/postgis/raster/rt_core/rt_geometry.c:746,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:749,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_geometry.c:751,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_geometry.c:751,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:755,1
    - Dst: ptarray_append_point
      Src: /src/postgis/raster/rt_core/rt_geometry.c:758,1
    - Dst: lwline_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:759,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:761,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:773,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:775,1
    - Dst: ptarray_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:778,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:780,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/rt_core/rt_geometry.c:785,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:787,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:796,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:797,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:802,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:807,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:812,1
    - Dst: lwpoly_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:814,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:815,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 2
    argNames:
    - raster
    - env
    argTypes:
    - rt_raster
    - LWGEOM**
    assertStmts:
    - condition: (env != NULL)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 819
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 819
    functionName: rt_raster_get_envelope_geom
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 1
    functionsReached:
    - assert
    - lwline_as_lwgeom
    - ptarray_append_point
    - RASTER_DEBUGF
    - lwline_construct
    - lwpoly_construct
    - ptarray_set_point4d
    - rtalloc
    - rt_raster_get_geotransform_matrix
    - ptarray_construct
    - lwpoly_as_lwgeom
    - rt_raster_get_envelope
    - rt_raster_get_width
    - rt_raster_cell_to_geopoint
    - ptarray_construct_empty
    - rterror
    - rt_raster_get_srid
    - lwpoint_as_lwgeom
    - lwpoint_make2d
    - rt_raster_get_height
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_raster_get_envelope_geom(rt_raster raster, LWGEOM
      **env)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:845,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:853,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_core/rt_geometry.c:854,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:856,1
    - Dst: lwpoint_make2d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:865,1
    - Dst: lwpoint_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:866,1
    - Dst: ptarray_construct_empty
      Src: /src/postgis/raster/rt_core/rt_geometry.c:871,1
    - Dst: ptarray_append_point
      Src: /src/postgis/raster/rt_core/rt_geometry.c:874,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:877,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_core/rt_geometry.c:879,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_core/rt_geometry.c:879,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:883,1
    - Dst: ptarray_append_point
      Src: /src/postgis/raster/rt_core/rt_geometry.c:886,1
    - Dst: lwline_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:887,1
    - Dst: lwline_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:889,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:899,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:901,1
    - Dst: ptarray_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:904,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:908,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:916,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:917,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:920,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:926,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:929,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:935,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_core/rt_geometry.c:938,1
    - Dst: ptarray_set_point4d
      Src: /src/postgis/raster/rt_core/rt_geometry.c:944,1
    - Dst: lwpoly_construct
      Src: /src/postgis/raster/rt_core/rt_geometry.c:946,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_core/rt_geometry.c:947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 2
    argNames:
    - raster
    - hull
    argTypes:
    - rt_raster
    - LWGEOM**
    assertStmts:
    - condition: (hull != NULL)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 951
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 951
    functionName: rt_raster_get_convex_hull
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 4
    functionsReached:
    - assert
    - lwline_as_lwgeom
    - ptarray_append_point
    - RASTER_DEBUGF
    - lwline_construct
    - lwpoly_construct
    - ptarray_set_point4d
    - rtalloc
    - rt_raster_get_geotransform_matrix
    - ptarray_construct
    - lwpoly_as_lwgeom
    - rt_raster_get_width
    - rt_raster_cell_to_geopoint
    - ptarray_construct_empty
    - rterror
    - rt_raster_get_srid
    - lwpoint_as_lwgeom
    - lwpoint_make2d
    - rt_raster_get_height
    linkageType: ''
    returnType: rt_errorstate
    signature: rt_errorstate rt_raster_get_convex_hull(rt_raster raster, LWGEOM **hull)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1008,1
    - Dst: assert
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1009,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1011,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1018,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1020,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1027,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1028,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1033,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1035,1
    - Dst: rt_raster_to_gdal_mem
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1043,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1045,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1054,1
    - Dst: OGRRegisterAll
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1056,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1059,1
    - Dst: OGRGetDriverByName
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1064,1
    - Dst: OGR_Dr_CreateDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1065,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1067,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1068,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1069,1
    - Dst: OGR_DS_TestCapability
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1074,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1075,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1078,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1079,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1080,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1085,1
    - Dst: OGR_DS_CreateLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1096,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1099,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1101,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1102,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1103,1
    - Dst: OGR_Fld_Create
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1113,1
    - Dst: OGR_L_CreateField
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1116,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1117,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1126,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1128,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1130,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1131,1
    - Dst: OGR_Fld_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1132,1
    - Dst: OGR_DS_DeleteLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1133,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1134,1
    - Dst: GDALFPolygonize
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1140,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1143,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1145,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1146,1
    - Dst: OGR_Fld_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1147,1
    - Dst: OGR_DS_DeleteLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1148,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1149,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1162,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1163,1
    - Dst: OGR_L_SetAttributeFilter
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1164,1
    - Dst: rtwarn
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1166,1
    - Dst: OGR_L_GetFeatureCount
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1179,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1182,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1185,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1187,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1188,1
    - Dst: OGR_Fld_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1189,1
    - Dst: OGR_DS_DeleteLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1190,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1192,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1193,1
    - Dst: initGEOS
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1199,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1201,1
    - Dst: OGR_L_ResetReading
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1204,1
    - Dst: OGR_L_GetNextFeature
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1207,1
    - Dst: OGR_F_GetFieldAsDouble
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1208,1
    - Dst: OGR_F_GetGeometryRef
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1210,1
    - Dst: OGR_G_WkbSize
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1211,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1214,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1216,1
    - Dst: OGR_F_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1218,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1219,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1220,1
    - Dst: OGR_Fld_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1221,1
    - Dst: OGR_DS_DeleteLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1222,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1224,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1225,1
    - Dst: OGR_G_ExportToWkb
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1231,1
    - Dst: lwgeom_from_wkb
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1234,1
    - Dst: rterror
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1235,1
    - Dst: OGR_G_ExportToWkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1240,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1241,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1242,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1244,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1249,1
    - Dst: OGR_F_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1253,1
    - Dst: lwgeom_set_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1256,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1256,1
    - Dst: lwgeom_as_lwpoly
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1259,1
    - Dst: lwgeom_to_wkt
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1263,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1264,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1265,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1267,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1268,1
    - Dst: d_print_binary_hex
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1270,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1271,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1282,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1283,1
    - Dst: GDALDestroyDriver
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1284,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1286,1
    - Dst: OGR_Fld_Destroy
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1287,1
    - Dst: OGR_DS_DeleteLayer
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1288,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1289,1
    - Dst: OGRReleaseDataSource
      Src: /src/postgis/raster/rt_core/rt_geometry.c:1290,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 166
    argCount: 4
    argNames:
    - raster
    - nband
    - exclude_nodata_value
    - pnElements
    argTypes:
    - rt_raster
    - int
    - int
    - int*
    assertStmts:
    - condition: (NULL != raster)
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    - condition: (NULL != pnElements)
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/postgis/raster/rt_core/rt_geometry.c
    constantsTouched: []
    func_position:
      end: 1293
      start: 974
    functionDepth: 11
    functionLinenumber: 974
    functionLinenumberEnd: 1293
    functionName: rt_raster_gdal_polygonize
    functionSourceFile: /src/postgis/raster/rt_core/rt_geometry.c
    functionUses: 2
    functionsReached:
    - assert
    - OGR_L_GetFeatureCount
    - OGRRegisterAll
    - OGR_F_GetFieldAsDouble
    - d_print_binary_hex
    - OGR_DS_CreateLayer
    - lwgeom_set_srid
    - LWSIZE_GET
    - lwgeom_to_wkb_varlena
    - OGR_L_ResetReading
    - RASTER_DEBUGF
    - GDALClose
    - rtwarn
    - rt_raster_to_gdal_mem
    - lwgeom_from_wkb
    - lwgeom_to_wkt
    - OGR_DS_TestCapability
    - OGRReleaseDataSource
    - rtdealloc
    - snprintf
    - lwgeom_as_lwpoly
    - OGR_F_Destroy
    - OGR_L_SetAttributeFilter
    - initGEOS
    - OGR_Fld_Destroy
    - OGR_L_CreateField
    - rtalloc
    - OGRGetDriverByName
    - GDALFPolygonize
    - OGR_L_GetNextFeature
    - OGR_G_ExportToWkb
    - OGR_G_ExportToWkt
    - OGR_DS_DeleteLayer
    - OGR_Fld_Create
    - OGR_F_GetGeometryRef
    - rt_util_gdal_register_all
    - RASTER_DEBUG
    - rt_band_get_hasnodata_flag
    - rterror
    - GDALGetRasterBand
    - rt_band_get_isnodata_flag
    - CPLFree
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_srid
    - GDALDestroyDriver
    - OGR_Dr_CreateDataSource
    - OGR_G_WkbSize
    linkageType: ''
    returnType: rt_geomval
    signature: "rt_geomval rt_raster_gdal_polygonize(\n\trt_raster raster, int nband,\n\tint
      exclude_nodata_value,\n\tint *pnElements\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/postgis/raster/rt_core/rt_context.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: default_rt_allocator
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      default_rt_allocator(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/postgis/raster/rt_core/rt_context.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: default_rt_reallocator
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      default_rt_reallocator(void *mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/postgis/raster/rt_core/rt_context.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: default_rt_deallocator
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void default_rt_deallocator(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:71,1
    - Dst: vprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:74,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: default_rt_error_handler
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - va_end
    - vprintf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void default_rt_error_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:84,1
    - Dst: vprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:87,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: default_rt_warning_handler
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - va_end
    - vprintf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void default_rt_warning_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:97,1
    - Dst: vprintf
      Src: /src/postgis/raster/rt_core/rt_context.c:100,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: default_rt_info_handler
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - va_end
    - vprintf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void default_rt_info_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: default_rt_options
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * default_rt_options(const char* varname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: rt_install_default_allocators
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rt_install_default_allocators(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_set_handlers_options
      Src: /src/postgis/raster/rt_core/rt_context.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - allocator
    - reallocator
    - deallocator
    - error_handler
    - info_handler
    - warning_handler
    argTypes:
    - rt_allocator
    - rt_reallocator
    - rt_deallocator
    - rt_message_handler
    - rt_message_handler
    - rt_message_handler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: rt_set_handlers
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 1
    functionsReached:
    - rt_set_handlers_options
    linkageType: ''
    returnType: void
    signature: "void rt_set_handlers(rt_allocator allocator, rt_reallocator reallocator,\n
      \   rt_deallocator deallocator, rt_message_handler error_handler,\n    rt_message_handler
      info_handler, rt_message_handler warning_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - allocator
    - reallocator
    - deallocator
    - error_handler
    - info_handler
    - warning_handler
    - options_handler
    argTypes:
    - rt_allocator
    - rt_reallocator
    - rt_deallocator
    - rt_message_handler
    - rt_message_handler
    - rt_message_handler
    - rt_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: rt_set_handlers_options
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rt_set_handlers_options(rt_allocator allocator, rt_reallocator
      reallocator,\n    rt_deallocator deallocator, rt_message_handler error_handler,\n
      \   rt_message_handler info_handler, rt_message_handler warning_handler,\n    rt_options
      options_handler)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/postgis/raster/rt_core/rt_context.c:192,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_context.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: rtalloc
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 67
    functionsReached:
    - alloc
    - RASTER_DEBUGF
    linkageType: ''
    returnType: void
    signature: 'void *

      rtalloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/postgis/raster/rt_core/rt_context.c:200,1
    - Dst: RASTER_DEBUGF
      Src: /src/postgis/raster/rt_core/rt_context.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: rtrealloc
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 7
    functionsReached:
    - RASTER_DEBUGF
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rtrealloc(void * mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dealloc
      Src: /src/postgis/raster/rt_core/rt_context.c:207,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_core/rt_context.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: rtdealloc
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 48
    functionsReached:
    - dealloc
    - RASTER_DEBUG
    linkageType: ''
    returnType: void
    signature: void rtdealloc(void * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/raster/rt_core/rt_context.c:222,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: rterror
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 82
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void rterror(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/raster/rt_core/rt_context.c:234,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: rtinfo
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 5
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void rtinfo(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/postgis/raster/rt_core/rt_context.c:247,1
    - Dst: va_end
      Src: /src/postgis/raster/rt_core/rt_context.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: rtwarn
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 19
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void rtwarn(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: options
      Src: /src/postgis/raster/rt_core/rt_context.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: rtoptions
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 1
    functionsReached:
    - options
    linkageType: ''
    returnType: char
    signature: 'char *

      rtoptions(const char *varname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_core/rt_context.c:267,1
    - Dst: rtalloc
      Src: /src/postgis/raster/rt_core/rt_context.c:268,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_core/rt_context.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: rtstrdup
    functionSourceFile: /src/postgis/raster/rt_core/rt_context.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      rtstrdup(const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: _
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CSEQUAL
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CSEQUAL(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: xstr
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: str
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:43,1
    - Dst: vfprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:45,1
    - Dst: va_end
      Src: /src/postgis/raster/loader/raster2pgsql.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: loader_rt_error_handler
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - snprintf
    linkageType: ''
    returnType: void
    signature: void loader_rt_error_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:56,1
    - Dst: vfprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:58,1
    - Dst: va_end
      Src: /src/postgis/raster/loader/raster2pgsql.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: loader_rt_warning_handler
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - snprintf
    linkageType: ''
    returnType: void
    signature: void loader_rt_warning_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:69,1
    - Dst: vfprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:71,1
    - Dst: va_end
      Src: /src/postgis/raster/loader/raster2pgsql.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: loader_rt_info_handler
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_end
    - snprintf
    linkageType: ''
    returnType: void
    signature: void loader_rt_info_handler(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rt_set_handlers
      Src: /src/postgis/raster/loader/raster2pgsql.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: rt_init_allocators
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rt_set_handlers
    linkageType: ''
    returnType: void
    signature: void rt_init_allocators(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/loader/raster2pgsql.c:90,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/loader/raster2pgsql.c:92,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/loader/raster2pgsql.c:95,1
    - Dst: rt_band_get_ownsdata_flag
      Src: /src/postgis/raster/loader/raster2pgsql.c:95,1
    - Dst: rt_band_get_data
      Src: /src/postgis/raster/loader/raster2pgsql.c:96,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:97,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:99,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - raster
    argTypes:
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: raster_destroy
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 15
    functionsReached:
    - rtdealloc
    - rt_band_is_offline
    - rt_band_get_data
    - rt_raster_destroy
    - rt_raster_get_band
    - rt_raster_get_num_bands
    - rt_band_destroy
    - rt_band_get_ownsdata_flag
    linkageType: ''
    returnType: void
    signature: void raster_destroy(rt_raster raster)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/postgis/raster/loader/raster2pgsql.c:109,1
    - Dst: abs
      Src: /src/postgis/raster/loader/raster2pgsql.c:110,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - min
    - max
    - step
    - range
    - len
    argTypes:
    - int
    - int
    - int
    - int**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: array_range
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - abs
    - rtalloc
    linkageType: ''
    returnType: int
    signature: int array_range(int min, int max, int step, int **range, uint32_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:162,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:163,1
    - Dst: strstr
      Src: /src/postgis/raster/loader/raster2pgsql.c:167,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:170,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:171,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:172,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:172,1
    - Dst: strstr
      Src: /src/postgis/raster/loader/raster2pgsql.c:181,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:183,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:184,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - str
    - oldstr
    - newstr
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 195
    functionName: strreplace
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - strcpy
    - strncpy
    - rterror
    - strstr
    - strlen
    - _
    linkageType: ''
    returnType: char
    signature: "char *\nstrreplace(\n\tconst char *str,\n\tconst char *oldstr, const
      char *newstr,\n\tint *count\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:201,1
    - Dst: tolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: strtolower
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 5
    functionsReached:
    - strlen
    - tolower
    linkageType: ''
    returnType: char
    signature: 'char *

      strtolower(char * str)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:219,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:219,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:221,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:221,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:224,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:226,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:226,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:228,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:230,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:230,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:233,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:233,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:235,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:235,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:238,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:239,1
    - Dst: strtok
      Src: /src/postgis/raster/loader/raster2pgsql.c:243,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:246,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:249,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:252,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:252,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:257,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:257,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:259,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:259,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:263,1
    - Dst: strtok
      Src: /src/postgis/raster/loader/raster2pgsql.c:266,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 271
    functionName: strsplit
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - strcpy
    - rtdealloc
    - rterror
    - rtrealloc
    - strtok
    - strlen
    - _
    linkageType: ''
    returnType: char
    signature: 'char **

      strsplit(const char *str, const char *delimiter, uint32_t *n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/postgis/raster/loader/raster2pgsql.c:286,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:290,1
    - Dst: isspace
      Src: /src/postgis/raster/loader/raster2pgsql.c:291,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:294,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:295,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:297,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:297,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 303
    functionName: trim
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - strncpy
    - rterror
    - isspace
    - strlen
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      trim(const char *input)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/raster/loader/raster2pgsql.c:318,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:322,1
    - Dst: strchr
      Src: /src/postgis/raster/loader/raster2pgsql.c:323,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:326,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:327,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:329,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:329,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:332,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - input
    - remove
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: chartrim
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - strncpy
    - rterror
    - strlen
    - _
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      chartrim(const char *input, char *remove)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:340,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:340,1
    - Dst: xstr
      Src: /src/postgis/raster/loader/raster2pgsql.c:340,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:341,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:341,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:355,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:355,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:360,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:360,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:366,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:366,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:373,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:373,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:377,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:377,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:381,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:381,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:391,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:391,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:394,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:394,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:397,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:397,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:400,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:400,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:406,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:406,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:409,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:409,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:413,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:413,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:417,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:417,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:426,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:426,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:431,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:431,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:436,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:436,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:439,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:439,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:442,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:442,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:447,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:447,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:451,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:451,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:454,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:454,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:459,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:459,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:462,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 465
    functionName: usage
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 3
    functionsReached:
    - _
    - printf
    - xstr
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - dimX
    - dimY
    - tileX
    - tileY
    argTypes:
    - uint32_t
    - uint32_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 497
    functionName: calc_tile_size
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void calc_tile_size(uint32_t dimX, uint32_t dimY, int *tileX, int *tileY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:503,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:510,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - info
    argTypes:
    - RASTERINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: init_rastinfo
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_rastinfo(RASTERINFO *info)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:517,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:519,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:521,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:523,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:525,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - info
    argTypes:
    - RASTERINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: rtdealloc_rastinfo
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void rtdealloc_rastinfo(RASTERINFO *info)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:533,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:533,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:535,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:535,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:538,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:540,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:543,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:545,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:545,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:548,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:551,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:553,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:553,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:556,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:559,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:561,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:561,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:564,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:567,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:569,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:569,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:572,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:575,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:577,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:577,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:580,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:582,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:583,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - RASTERINFO*
    - RASTERINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 586
    functionName: copy_rastinfo
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - strcpy
    - rterror
    - strlen
    - _
    - memcpy
    linkageType: ''
    returnType: int
    signature: int copy_rastinfo(RASTERINFO *dst, RASTERINFO *src)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:598,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:598,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:606,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:606,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:616,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:616,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:627,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:627,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/loader/raster2pgsql.c:641,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/loader/raster2pgsql.c:642,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:644,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:644,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:645,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:646,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/loader/raster2pgsql.c:650,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/loader/raster2pgsql.c:651,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/loader/raster2pgsql.c:653,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:654,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:655,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:657,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:657,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:662,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:662,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:671,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:671,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 2
    argNames:
    - x
    - ref
    argTypes:
    - RASTERINFO*
    - RASTERINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 677
    functionName: diff_rastinfo
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rterror
    - rt_raster_destroy
    - rt_raster_same_alignment
    - _
    - rtwarn
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    linkageType: ''
    returnType: void
    signature: void diff_rastinfo(RASTERINFO *x, RASTERINFO *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - config
    argTypes:
    - RTLOADERCFG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 715
    functionName: init_config
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_config(RTLOADERCFG *config)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:722,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:724,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:726,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:728,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:731,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:733,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:735,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:737,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:740,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:743,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:744,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:748,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:750,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:752,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:754,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - config
    argTypes:
    - RTLOADERCFG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 755
    functionName: rtdealloc_config
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void rtdealloc_config(RTLOADERCFG *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: init_stringbuffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_stringbuffer(STRINGBUFFER *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:769,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:771,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - freebuffer
    argTypes:
    - STRINGBUFFER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 778
    functionName: rtdealloc_stringbuffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtdealloc
    linkageType: ''
    returnType: void
    signature: void rtdealloc_stringbuffer(STRINGBUFFER *buffer, int freebuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: dump_stringbuffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_stringbuffer(STRINGBUFFER *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:791,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: flush_stringbuffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtdealloc_stringbuffer
    - dump_stringbuffer
    linkageType: ''
    returnType: void
    signature: void flush_stringbuffer(STRINGBUFFER *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtrealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:800,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:802,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - STRINGBUFFER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 809
    functionName: append_stringbuffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtrealloc
    - _
    - rterror
    linkageType: ''
    returnType: int
    signature: int append_stringbuffer(STRINGBUFFER *buffer, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: flush_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:814,1
    - Dst: append_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - str
    argTypes:
    - STRINGBUFFER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 817
    functionName: append_sql_to_buffer
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - append_stringbuffer
    - flush_stringbuffer
    linkageType: ''
    returnType: int
    signature: int append_sql_to_buffer(STRINGBUFFER *buffer, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:827,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:828,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:830,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:832,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:833,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:834,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:836,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:836,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:838,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:840,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:840,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:843,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - schema
    - table
    - column
    - filename
    - file_column_name
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts:
    - condition: (table != NULL)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (column != NULL)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 855
      start: 819
    functionDepth: 5
    functionLinenumber: 819
    functionLinenumberEnd: 855
    functionName: copy_from
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rterror
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int copy_from(const char *schema, const char *table, const char *column,\n
      \         const char *filename, const char *file_column_name,\n          STRINGBUFFER
      *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:861,1
    - Dst: strdup
      Src: /src/postgis/raster/loader/raster2pgsql.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 864
    functionName: copy_from_end
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - append_sql_to_buffer
    - strdup
    linkageType: ''
    returnType: int
    signature: int copy_from_end(STRINGBUFFER *buffer)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:878,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:879,1
    - Dst: copy_from
      Src: /src/postgis/raster/loader/raster2pgsql.c:884,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:889,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:889,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:896,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:900,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:903,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:905,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:907,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:907,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:910,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:916,1
    - Dst: copy_from_end
      Src: /src/postgis/raster/loader/raster2pgsql.c:920,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:921,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:921,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:928,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:930,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:931,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:932,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:934,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:934,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:938,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:944,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:946,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:946,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:948,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:950,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:950,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:954,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:962,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:964,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:968,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:971,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:973,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:975,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:980,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 9
    argNames:
    - schema
    - table
    - column
    - filename
    - file_column_name
    - copy_statements
    - out_srid
    - tileset
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - STRINGBUFFER*
    - STRINGBUFFER*
    assertStmts:
    - condition: (column != NULL)
      pos:
        line_end: 878
        line_start: 878
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (table != NULL)
      pos:
        line_end: 877
        line_start: 877
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 982
      start: 866
    functionDepth: 6
    functionLinenumber: 866
    functionLinenumberEnd: 982
    functionName: insert_records
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - copy_from_end
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rtdealloc
    - rterror
    - strreplace
    - strlen
    - copy_from
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int insert_records(\n\tconst char *schema, const char *table, const
      char *column,\n\tconst char *filename, const char *file_column_name,\n\tint
      copy_statements, int out_srid,\n\tSTRINGBUFFER *tileset, STRINGBUFFER *buffer\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:989,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:991,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:992,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:994,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:996,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:996,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:999,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - schema
    - table
    - buffer
    argTypes:
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 984
    functionDepth: 5
    functionLinenumber: 984
    functionLinenumberEnd: 1007
    functionName: drop_table
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - append_sql_to_buffer
    - rterror
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: int drop_table(const char *schema, const char *table, STRINGBUFFER
      *buffer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1019,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1020,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1022,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1024,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1025,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1026,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1028,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1028,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1030,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1030,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1032,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1032,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1034,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1036,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1036,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1039,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - schema
    - table
    - column
    - file_column
    - file_column_name
    - tablespace
    - idx_tablespace
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts:
    - condition: (table != NULL)
      pos:
        line_end: 1018
        line_start: 1018
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (column != NULL)
      pos:
        line_end: 1019
        line_start: 1019
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1055
      start: 1009
    functionDepth: 5
    functionLinenumber: 1009
    functionLinenumberEnd: 1055
    functionName: create_table
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rterror
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int create_table(\n\tconst char *schema, const char *table, const
      char *column,\n\tconst int file_column, const char *file_column_name,\n\tconst
      char *tablespace, const char *idx_tablespace,\n\tSTRINGBUFFER *buffer\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1068,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1069,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1071,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1072,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1075,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1077,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1078,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1079,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1080,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1081,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1083,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1083,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1085,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1087,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1087,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1088,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1089,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1092,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1099,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1100,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - schema
    - table
    - column
    - tablespace
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts:
    - condition: (column != NULL)
      pos:
        line_end: 1068
        line_start: 1068
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (table != NULL)
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1105
      start: 1057
    functionDepth: 5
    functionLinenumber: 1057
    functionLinenumberEnd: 1105
    functionName: create_index
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 1
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rtdealloc
    - rterror
    - chartrim
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int create_index(\n\tconst char *schema, const char *table, const
      char *column,\n\tconst char *tablespace,\n\tSTRINGBUFFER *buffer\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1115,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1117,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1119,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1120,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1122,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1124,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1124,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1127,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - schema
    - table
    - buffer
    argTypes:
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts:
    - condition: (table != NULL)
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1135
      start: 1107
    functionDepth: 5
    functionLinenumber: 1107
    functionLinenumberEnd: 1135
    functionName: analyze_table
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rterror
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int analyze_table(\n\tconst char *schema, const char *table,\n\tSTRINGBUFFER
      *buffer\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1145,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1147,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1149,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1150,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1152,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1154,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1154,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1157,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - schema
    - table
    - buffer
    argTypes:
    - char*
    - char*
    - STRINGBUFFER*
    assertStmts:
    - condition: (table != NULL)
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1165
      start: 1137
    functionDepth: 5
    functionLinenumber: 1137
    functionLinenumberEnd: 1165
    functionName: vacuum_table
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rterror
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int vacuum_table(\n\tconst char *schema, const char *table,\n\tSTRINGBUFFER
      *buffer\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1181,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1182,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1186,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1187,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1188,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1189,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1190,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1195,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1196,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1197,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1200,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1201,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1202,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1204,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1206,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1207,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1208,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1210,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1212,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1212,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1215,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1224,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1225,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1226,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 6
    argNames:
    - schema
    - table
    - column
    - regular_blocking
    - max_extent
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - STRINGBUFFER*
    assertStmts:
    - condition: (table != NULL)
      pos:
        line_end: 1180
        line_start: 1180
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (column != NULL)
      pos:
        line_end: 1181
        line_start: 1181
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1231
      start: 1167
    functionDepth: 5
    functionLinenumber: 1167
    functionLinenumberEnd: 1231
    functionName: add_raster_constraints
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rtdealloc
    - rterror
    - chartrim
    - strreplace
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int add_raster_constraints(\n\tconst char *schema, const char *table,
      const char *column,\n\tint regular_blocking, int max_extent,\n\tSTRINGBUFFER
      *buffer\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1253,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1254,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1255,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1256,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:1257,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1261,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1262,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1263,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1264,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1265,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1270,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1271,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1272,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1275,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1276,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1277,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1281,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1282,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1283,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1284,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1285,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1290,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1291,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1292,1
    - Dst: chartrim
      Src: /src/postgis/raster/loader/raster2pgsql.c:1295,1
    - Dst: strreplace
      Src: /src/postgis/raster/loader/raster2pgsql.c:1296,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1297,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1299,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1301,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1302,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1303,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1305,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1306,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1307,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1309,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1311,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1311,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:1314,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1325,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1326,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1327,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1330,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1331,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1332,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 8
    argNames:
    - ovschema
    - ovtable
    - ovcolumn
    - schema
    - table
    - column
    - factor
    - buffer
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    - STRINGBUFFER*
    assertStmts:
    - condition: (ovcolumn != NULL)
      pos:
        line_end: 1253
        line_start: 1253
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (column != NULL)
      pos:
        line_end: 1255
        line_start: 1255
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (factor >= MINOVFACTOR && factor <= MAXOVFACTOR)
      pos:
        line_end: 1256
        line_start: 1256
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (ovtable != NULL)
      pos:
        line_end: 1252
        line_start: 1252
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (table != NULL)
      pos:
        line_end: 1254
        line_start: 1254
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 1337
      start: 1233
    functionDepth: 5
    functionLinenumber: 1233
    functionLinenumberEnd: 1337
    functionName: add_overview_constraints
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - rtalloc
    - assert
    - append_sql_to_buffer
    - rtdealloc
    - rterror
    - chartrim
    - strreplace
    - strlen
    - _
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int add_overview_constraints(\n\tconst char *ovschema, const char
      *ovtable, const char *ovcolumn,\n\tconst char *schema, const char *table, const
      char *column,\n\tconst int factor,\n\tSTRINGBUFFER *buffer\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GDALOpenShared
      Src: /src/postgis/raster/loader/raster2pgsql.c:1364,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1366,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1366,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1371,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1374,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1374,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1382,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1382,1
    - Dst: VRTCreate
      Src: /src/postgis/raster/loader/raster2pgsql.c:1390,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/loader/raster2pgsql.c:1394,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1400,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1404,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1405,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/loader/raster2pgsql.c:1408,1
    - Dst: VRTAddSimpleSource
      Src: /src/postgis/raster/loader/raster2pgsql.c:1410,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1411,1
    - Dst: VRTFlushCache
      Src: /src/postgis/raster/loader/raster2pgsql.c:1421,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1443,1
    - Dst: GDALApplyGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1468,1
    - Dst: VRTCreate
      Src: /src/postgis/raster/loader/raster2pgsql.c:1475,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/loader/raster2pgsql.c:1479,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1480,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1484,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1485,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/loader/raster2pgsql.c:1488,1
    - Dst: VRTAddSimpleSource
      Src: /src/postgis/raster/loader/raster2pgsql.c:1490,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1491,1
    - Dst: VRTFlushCache
      Src: /src/postgis/raster/loader/raster2pgsql.c:1501,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1504,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1506,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1506,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1507,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/loader/raster2pgsql.c:1512,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/loader/raster2pgsql.c:1515,1
    - Dst: raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1516,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1519,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1519,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1520,1
    - Dst: append_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1525,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1527,1
    - Dst: insert_records
      Src: /src/postgis/raster/loader/raster2pgsql.c:1531,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1537,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1537,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1538,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1542,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1547,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1548,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 6
    argNames:
    - idx
    - config
    - info
    - ovx
    - tileset
    - buffer
    argTypes:
    - int
    - RTLOADERCFG*
    - RASTERINFO*
    - uint32_t
    - STRINGBUFFER*
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1339
    functionDepth: 7
    functionLinenumber: 1339
    functionLinenumberEnd: 1550
    functionName: build_overview
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - GDALOpenShared
    - rt_raster_set_srid
    - rt_raster_to_hexwkb
    - GDALClose
    - VRTFlushCache
    - rt_raster_from_gdal_dataset
    - rtdealloc_stringbuffer
    - _
    - VRTCreate
    - raster_destroy
    - GDALSetGeoTransform
    - GDALApplyGeoTransform
    - GDALSetRasterNoDataValue
    - GDALGetRasterBand
    - rterror
    - memcpy
    - GDALSetProjection
    - GDALAddBand
    - append_stringbuffer
    - VRTAddSimpleSource
    - insert_records
    linkageType: ''
    returnType: int
    signature: int build_overview(int idx, RTLOADERCFG *config, RASTERINFO *info,
      uint32_t ovx, STRINGBUFFER *tileset, STRINGBUFFER *buffer)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GDALOpenShared
      Src: /src/postgis/raster/loader/raster2pgsql.c:1576,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1578,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1578,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/loader/raster2pgsql.c:1582,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1584,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1584,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1585,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1592,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1592,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1593,1
    - Dst: GDALGetProjectionRef
      Src: /src/postgis/raster/loader/raster2pgsql.c:1599,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1601,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:1601,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1603,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1603,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1604,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1607,1
    - Dst: OSRNewSpatialReference
      Src: /src/postgis/raster/loader/raster2pgsql.c:1610,1
    - Dst: OSRSetFromUserInput
      Src: /src/postgis/raster/loader/raster2pgsql.c:1611,1
    - Dst: OSRGetAuthorityName
      Src: /src/postgis/raster/loader/raster2pgsql.c:1612,1
    - Dst: OSRGetAuthorityCode
      Src: /src/postgis/raster/loader/raster2pgsql.c:1613,1
    - Dst: strcmp
      Src: /src/postgis/raster/loader/raster2pgsql.c:1616,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:1619,1
    - Dst: OSRDestroySpatialReference
      Src: /src/postgis/raster/loader/raster2pgsql.c:1622,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1627,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1627,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1628,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1633,1
    - Dst: rtinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:1634,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1634,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1642,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1648,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1650,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1650,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1651,1
    - Dst: memcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1654,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1659,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1661,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1661,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1662,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1670,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1672,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1672,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1673,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1676,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1678,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1678,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1679,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1682,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1684,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1684,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1685,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:1688,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1690,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1690,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1691,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1694,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1695,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1696,1
    - Dst: memset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1697,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/loader/raster2pgsql.c:1700,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/loader/raster2pgsql.c:1701,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1707,1
    - Dst: GDALGetRasterDataType
      Src: /src/postgis/raster/loader/raster2pgsql.c:1710,1
    - Dst: GDALDataTypeIsComplex
      Src: /src/postgis/raster/loader/raster2pgsql.c:1713,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1714,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1714,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1715,1
    - Dst: GDALGetBlockSize
      Src: /src/postgis/raster/loader/raster2pgsql.c:1718,1
    - Dst: rt_util_gdal_datatype_to_pixtype
      Src: /src/postgis/raster/loader/raster2pgsql.c:1721,1
    - Dst: GDALGetRasterNoDataValue
      Src: /src/postgis/raster/loader/raster2pgsql.c:1724,1
    - Dst: rt_pixtype_size
      Src: /src/postgis/raster/loader/raster2pgsql.c:1736,1
    - Dst: calc_tile_size
      Src: /src/postgis/raster/loader/raster2pgsql.c:1742,1
    - Dst: rtinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:1747,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1747,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:1772,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1772,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1776,1
    - Dst: GDALApplyGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1796,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/loader/raster2pgsql.c:1803,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1805,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1805,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/loader/raster2pgsql.c:1810,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/loader/raster2pgsql.c:1811,1
    - Dst: rt_band_new_offline
      Src: /src/postgis/raster/loader/raster2pgsql.c:1815,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1823,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1823,1
    - Dst: raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1824,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/loader/raster2pgsql.c:1829,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/loader/raster2pgsql.c:1829,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1830,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1830,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1831,1
    - Dst: raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1832,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/loader/raster2pgsql.c:1838,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/loader/raster2pgsql.c:1843,1
    - Dst: raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1844,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1848,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1848,1
    - Dst: append_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1854,1
    - Dst: insert_records
      Src: /src/postgis/raster/loader/raster2pgsql.c:1858,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1864,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1864,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1868,1
    - Dst: GDALApplyGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1901,1
    - Dst: VRTCreate
      Src: /src/postgis/raster/loader/raster2pgsql.c:1914,1
    - Dst: GDALSetProjection
      Src: /src/postgis/raster/loader/raster2pgsql.c:1918,1
    - Dst: GDALSetGeoTransform
      Src: /src/postgis/raster/loader/raster2pgsql.c:1919,1
    - Dst: GDALAddBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1923,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1924,1
    - Dst: GDALSetRasterNoDataValue
      Src: /src/postgis/raster/loader/raster2pgsql.c:1927,1
    - Dst: VRTAddSimpleSource
      Src: /src/postgis/raster/loader/raster2pgsql.c:1929,1
    - Dst: GDALGetRasterBand
      Src: /src/postgis/raster/loader/raster2pgsql.c:1930,1
    - Dst: VRTFlushCache
      Src: /src/postgis/raster/loader/raster2pgsql.c:1940,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/loader/raster2pgsql.c:1943,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1945,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1945,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1946,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/loader/raster2pgsql.c:1951,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/loader/raster2pgsql.c:1954,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/loader/raster2pgsql.c:1956,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/loader/raster2pgsql.c:1958,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/loader/raster2pgsql.c:1963,1
    - Dst: raster_destroy
      Src: /src/postgis/raster/loader/raster2pgsql.c:1964,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1968,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1968,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1969,1
    - Dst: append_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1975,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1977,1
    - Dst: insert_records
      Src: /src/postgis/raster/loader/raster2pgsql.c:1981,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:1987,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:1987,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1988,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:1992,1
    - Dst: GDALClose
      Src: /src/postgis/raster/loader/raster2pgsql.c:1997,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 252
    argCount: 5
    argNames:
    - idx
    - config
    - info
    - tileset
    - buffer
    argTypes:
    - int
    - RTLOADERCFG*
    - RASTERINFO*
    - STRINGBUFFER*
    - STRINGBUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1552
    functionDepth: 7
    functionLinenumber: 1552
    functionLinenumberEnd: 2001
    functionName: convert_raster
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strcmp
    - GDALGetRasterDataType
    - GDALOpenShared
    - OSRGetAuthorityName
    - rt_band_check_is_nodata
    - rt_raster_set_srid
    - rt_raster_to_hexwkb
    - GDALClose
    - rtwarn
    - VRTFlushCache
    - memset
    - GDALGetBlockSize
    - OSRGetAuthorityCode
    - rt_raster_from_gdal_dataset
    - strlen
    - rtdealloc_stringbuffer
    - _
    - GDALGetGeoTransform
    - rt_raster_get_num_bands
    - GDALGetRasterYSize
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - OSRSetFromUserInput
    - rtalloc
    - VRTCreate
    - OSRDestroySpatialReference
    - calc_tile_size
    - raster_destroy
    - GDALGetRasterCount
    - rt_raster_add_band
    - GDALDataTypeIsComplex
    - GDALGetRasterNoDataValue
    - VRTAddSimpleSource
    - rt_util_gdal_datatype_to_pixtype
    - GDALApplyGeoTransform
    - GDALSetGeoTransform
    - atoi
    - GDALGetProjectionRef
    - GDALSetRasterNoDataValue
    - rt_band_new_offline
    - GDALGetRasterBand
    - OSRNewSpatialReference
    - rterror
    - GDALGetRasterXSize
    - rtinfo
    - rt_pixtype_size
    - GDALSetProjection
    - rt_raster_get_band
    - GDALAddBand
    - append_stringbuffer
    - rt_band_destroy
    - memcpy
    - insert_records
    linkageType: ''
    returnType: int
    signature: int convert_raster(int idx, RTLOADERCFG *config, RASTERINFO *info,
      STRINGBUFFER *tileset, STRINGBUFFER *buffer)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:2007,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:2008,1
    - Dst: assert
      Src: /src/postgis/raster/loader/raster2pgsql.c:2009,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2012,1
    - Dst: strdup
      Src: /src/postgis/raster/loader/raster2pgsql.c:2012,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2013,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2013,1
    - Dst: drop_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2020,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2021,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2021,1
    - Dst: drop_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2027,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2028,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2028,1
    - Dst: create_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2037,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2043,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2043,1
    - Dst: create_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2049,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2055,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2055,1
    - Dst: init_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2065,1
    - Dst: fprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2072,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2072,1
    - Dst: init_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2074,1
    - Dst: init_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2075,1
    - Dst: convert_raster
      Src: /src/postgis/raster/loader/raster2pgsql.c:2078,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2079,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2079,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2080,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2081,1
    - Dst: insert_records
      Src: /src/postgis/raster/loader/raster2pgsql.c:2086,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2093,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2093,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2094,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2095,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2099,1
    - Dst: flush_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2102,1
    - Dst: build_overview
      Src: /src/postgis/raster/loader/raster2pgsql.c:2110,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2111,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2111,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2112,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2113,1
    - Dst: insert_records
      Src: /src/postgis/raster/loader/raster2pgsql.c:2117,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2123,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2123,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2124,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2125,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2129,1
    - Dst: flush_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2132,1
    - Dst: copy_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2138,1
    - Dst: diff_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2140,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2144,1
    - Dst: rtdealloc_rastinfo
      Src: /src/postgis/raster/loader/raster2pgsql.c:2147,1
    - Dst: create_index
      Src: /src/postgis/raster/loader/raster2pgsql.c:2153,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2158,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2158,1
    - Dst: analyze_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2164,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2168,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2168,1
    - Dst: create_index
      Src: /src/postgis/raster/loader/raster2pgsql.c:2176,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2181,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2181,1
    - Dst: analyze_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2187,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2191,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2191,1
    - Dst: add_raster_constraints
      Src: /src/postgis/raster/loader/raster2pgsql.c:2201,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2206,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2206,1
    - Dst: add_raster_constraints
      Src: /src/postgis/raster/loader/raster2pgsql.c:2212,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2217,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2217,1
    - Dst: add_overview_constraints
      Src: /src/postgis/raster/loader/raster2pgsql.c:2227,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2233,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2233,1
    - Dst: append_sql_to_buffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:2240,1
    - Dst: strdup
      Src: /src/postgis/raster/loader/raster2pgsql.c:2240,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2241,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2241,1
    - Dst: vacuum_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2248,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2252,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2252,1
    - Dst: vacuum_table
      Src: /src/postgis/raster/loader/raster2pgsql.c:2258,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2262,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2262,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 155
    argCount: 2
    argNames:
    - config
    - buffer
    argTypes:
    - RTLOADERCFG*
    - STRINGBUFFER*
    assertStmts:
    - condition: (config != NULL)
      pos:
        line_end: 2006
        line_start: 2006
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (config->raster_column != NULL)
      pos:
        line_end: 2008
        line_start: 2008
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    - condition: (config->table != NULL)
      pos:
        line_end: 2007
        line_start: 2007
        source_file: /src/postgis/raster/loader/raster2pgsql.c
    constantsTouched: []
    func_position:
      end: 2271
      start: 2003
    functionDepth: 8
    functionLinenumber: 2003
    functionLinenumberEnd: 2271
    functionName: process_rasters
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 0
    functionsReached:
    - assert
    - create_index
    - drop_table
    - flush_stringbuffer
    - create_table
    - rtdealloc_rastinfo
    - add_overview_constraints
    - build_overview
    - vacuum_table
    - append_sql_to_buffer
    - strdup
    - copy_rastinfo
    - init_stringbuffer
    - rtdealloc_stringbuffer
    - _
    - init_rastinfo
    - convert_raster
    - fprintf
    - add_raster_constraints
    - analyze_table
    - rterror
    - diff_rastinfo
    - insert_records
    linkageType: ''
    returnType: int
    signature: int process_rasters(RTLOADERCFG *config, STRINGBUFFER *buffer)
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: rt_init_allocators
      Src: /src/postgis/raster/loader/raster2pgsql.c:2285,1
    - Dst: setlocale
      Src: /src/postgis/raster/loader/raster2pgsql.c:2288,1
    - Dst: bindtextdomain
      Src: /src/postgis/raster/loader/raster2pgsql.c:2289,1
    - Dst: textdomain
      Src: /src/postgis/raster/loader/raster2pgsql.c:2290,1
    - Dst: usage
      Src: /src/postgis/raster/loader/raster2pgsql.c:2295,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2296,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2300,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2302,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2302,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2303,1
    - Dst: init_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2305,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2315,1
    - Dst: strchr
      Src: /src/postgis/raster/loader/raster2pgsql.c:2317,1
    - Dst: sscanf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2320,1
    - Dst: sscanf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2321,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2323,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2327,1
    - Dst: strsplit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2328,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2330,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2330,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2331,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2332,1
    - Dst: trim
      Src: /src/postgis/raster/loader/raster2pgsql.c:2337,1
    - Dst: strsplit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2346,1
    - Dst: array_range
      Src: /src/postgis/raster/loader/raster2pgsql.c:2348,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2348,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2348,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2349,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2349,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2351,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2352,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2354,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2355,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2356,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2357,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2358,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2363,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2365,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2365,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2367,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2368,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2370,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2371,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2372,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2373,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2374,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2376,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2381,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2383,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2383,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2384,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2386,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2387,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2389,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2390,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2391,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2392,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2393,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2399,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2402,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2403,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2405,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2406,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2408,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2414,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2414,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2415,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2416,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2421,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2422,1
    - Dst: strsplit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2427,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2429,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2429,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2430,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2431,1
    - Dst: trim
      Src: /src/postgis/raster/loader/raster2pgsql.c:2435,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2436,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2437,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2438,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2440,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2446,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2446,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2447,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2448,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2454,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2458,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2462,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2466,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2470,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2474,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2478,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2479,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2480,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2482,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2482,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2483,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2484,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2486,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2489,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2493,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2494,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2495,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2497,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2497,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2498,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2499,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2501,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2505,1
    - Dst: strsplit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2506,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2508,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2508,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2509,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2510,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2514,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2516,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2516,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2517,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2518,1
    - Dst: trim
      Src: /src/postgis/raster/loader/raster2pgsql.c:2521,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2522,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2523,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2524,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2526,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2532,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2532,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2533,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2534,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2539,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2543,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2547,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2551,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2555,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2559,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2563,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2564,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2565,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2567,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2567,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2568,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2569,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2571,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2574,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2575,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2576,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2578,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2578,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2579,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2580,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2582,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2585,1
    - Dst: atof
      Src: /src/postgis/raster/loader/raster2pgsql.c:2587,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2590,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2594,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2595,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2599,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2600,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2604,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2608,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2613,1
    - Dst: atoi
      Src: /src/postgis/raster/loader/raster2pgsql.c:2614,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2622,1
    - Dst: rt_raster_gdal_drivers
      Src: /src/postgis/raster/loader/raster2pgsql.c:2624,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2626,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2626,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2629,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2629,1
    - Dst: printf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2631,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2631,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2633,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2634,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2635,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2637,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2640,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2641,1
    - Dst: CSEQUAL
      Src: /src/postgis/raster/loader/raster2pgsql.c:2644,1
    - Dst: usage
      Src: /src/postgis/raster/loader/raster2pgsql.c:2645,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2646,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2647,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2652,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2654,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2654,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2655,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2656,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2659,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2660,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2662,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2662,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2663,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2664,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2666,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2672,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2672,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2673,1
    - Dst: GDALAllRegister
      Src: /src/postgis/raster/loader/raster2pgsql.c:2678,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2682,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2682,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2683,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2684,1
    - Dst: GDALIdentifyDriver
      Src: /src/postgis/raster/loader/raster2pgsql.c:2691,1
    - Dst: strchr
      Src: /src/postgis/raster/loader/raster2pgsql.c:2695,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2699,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2701,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2701,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2702,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2703,1
    - Dst: snprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2705,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2708,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2708,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2708,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2710,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2710,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2711,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2712,1
    - Dst: snprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2714,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2714,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2714,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2715,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2715,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2719,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2720,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2722,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2722,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2723,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2724,1
    - Dst: strncpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2726,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2729,1
    - Dst: rtrealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2730,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2732,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2732,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2733,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2734,1
    - Dst: GDALIdentifyDriver
      Src: /src/postgis/raster/loader/raster2pgsql.c:2745,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2748,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2748,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2749,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2750,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2755,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2757,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2757,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2758,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2759,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2765,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2765,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2767,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2767,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2768,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2769,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2771,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2773,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2780,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2780,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2782,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2782,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2783,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2784,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2786,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2787,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2799,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2799,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2801,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2801,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2802,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2803,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2805,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2807,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2814,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2814,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2816,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2816,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2817,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2818,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2820,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2821,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2826,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2826,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2828,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2828,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2829,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2830,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2832,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2837,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2837,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2839,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2839,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2840,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2841,1
    - Dst: strcpy
      Src: /src/postgis/raster/loader/raster2pgsql.c:2843,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2853,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2855,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2857,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2859,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2861,1
    - Dst: strtolower
      Src: /src/postgis/raster/loader/raster2pgsql.c:2863,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2872,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2874,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2874,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2875,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2876,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2880,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2882,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2882,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2882,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2882,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2884,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2884,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2885,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2886,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2888,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2896,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2897,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2897,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2902,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2903,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2903,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2908,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2909,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2909,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2914,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2915,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2915,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2920,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2921,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2921,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2926,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2927,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2927,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2934,1
    - Dst: rtwarn
      Src: /src/postgis/raster/loader/raster2pgsql.c:2935,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2935,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2948,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2948,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2950,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2950,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2951,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2952,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2955,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2956,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2960,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2960,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2962,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2962,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2963,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2964,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2967,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2968,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2972,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2972,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2974,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2974,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2975,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2976,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2979,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2980,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2984,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2984,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2986,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2986,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2987,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:2988,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:2991,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2992,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:2996,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:2996,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:2998,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:2998,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:2999,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:3000,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:3003,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3004,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3008,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:3008,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:3010,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:3010,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:3011,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:3012,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:3015,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3016,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3021,1
    - Dst: strlen
      Src: /src/postgis/raster/loader/raster2pgsql.c:3021,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:3023,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:3023,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:3024,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:3025,1
    - Dst: sprintf
      Src: /src/postgis/raster/loader/raster2pgsql.c:3028,1
    - Dst: rtdealloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3029,1
    - Dst: rtalloc
      Src: /src/postgis/raster/loader/raster2pgsql.c:3039,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:3041,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:3041,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:3042,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:3043,1
    - Dst: init_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:3045,1
    - Dst: process_rasters
      Src: /src/postgis/raster/loader/raster2pgsql.c:3048,1
    - Dst: rterror
      Src: /src/postgis/raster/loader/raster2pgsql.c:3049,1
    - Dst: _
      Src: /src/postgis/raster/loader/raster2pgsql.c:3049,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:3050,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:3051,1
    - Dst: exit
      Src: /src/postgis/raster/loader/raster2pgsql.c:3052,1
    - Dst: flush_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:3055,1
    - Dst: rtdealloc_stringbuffer
      Src: /src/postgis/raster/loader/raster2pgsql.c:3057,1
    - Dst: rtdealloc_config
      Src: /src/postgis/raster/loader/raster2pgsql.c:3058,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 585
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 2273
    functionDepth: 9
    functionLinenumber: 2273
    functionLinenumberEnd: 3061
    functionName: main
    functionSourceFile: /src/postgis/raster/loader/raster2pgsql.c
    functionUses: 3
    functionsReached:
    - strcpy
    - init_config
    - printf
    - flush_stringbuffer
    - rtrealloc
    - sscanf
    - rtwarn
    - GDALAllRegister
    - GDALIdentifyDriver
    - strtolower
    - sprintf
    - rt_raster_gdal_drivers
    - array_range
    - setlocale
    - rtdealloc
    - snprintf
    - bindtextdomain
    - init_stringbuffer
    - strlen
    - rtdealloc_stringbuffer
    - _
    - process_rasters
    - rtalloc
    - strncpy
    - rt_init_allocators
    - usage
    - atoi
    - textdomain
    - trim
    - rterror
    - strsplit
    - rtdealloc_config
    - exit
    - strchr
    - atof
    - CSEQUAL
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:179,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: rt_pg_alloc
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_RT_DEBUGF
    linkageType: ''
    returnType: void
    signature: 'void *

      rt_pg_alloc(size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:191,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:194,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: rt_pg_realloc
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_RT_DEBUGF
    - repalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rt_pg_realloc(void *mem, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:205,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: rt_pg_free
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUG
    - pfree
    linkageType: ''
    returnType: void
    signature: void rt_pg_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:217,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:220,1
    - Dst: errmsg_internal
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: rt_pg_error
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void rt_pg_error(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:231,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:234,1
    - Dst: errmsg_internal
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: rt_pg_notice
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void rt_pg_notice(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:245,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:248,1
    - Dst: errmsg_internal
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: rt_pg_debug
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - errmsg_internal
    - ereport
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void rt_pg_debug(const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:256,1
    - Dst: GetConfigOptionByName
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:258,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: rt_pg_options
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - GetConfigOptionByName
    - strlen
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rt_pg_options(const char* varname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_create
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:336,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:339,1
    - Dst: stringlist_sort
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 342
    functionName: rt_pg_vsi_load_all_options
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - stringlist_add_string_nosort
    - stringlist_sort
    - stringlist_create
    linkageType: ''
    returnType: void
    signature: void rt_pg_vsi_load_all_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSIGetFileSystemOptions
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:355,1
    - Dst: CPLParseXMLString
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:358,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:360,1
    - Dst: CPLSearchXMLNode
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:363,1
    - Dst: CPLDestroyXMLNode
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:365,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:366,1
    - Dst: CPLGetXMLValue
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:371,1
    - Dst: pstrdup
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:373,1
    - Dst: tolower
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:379,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:382,1
    - Dst: stringlist_add_string_nosort
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:383,1
    - Dst: CPLDestroyXMLNode
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - vsiname
    - s
    argTypes:
    - char*
    - stringlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: rt_pg_vsi_load_options
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - pstrdup
    - CPLGetXMLValue
    - CPLSearchXMLNode
    - CPLDestroyXMLNode
    - elog
    - tolower
    - CPLParseXMLString
    - stringlist_add_string_nosort
    - VSIGetFileSystemOptions
    linkageType: ''
    returnType: void
    signature: void rt_pg_vsi_load_options(const char* vsiname, stringlist_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringlist_create
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:408,1
    - Dst: rt_pg_vsi_load_options
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:411,1
    - Dst: stringlist_sort
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: rt_pg_vsi_load_all_options
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - rt_pg_vsi_load_options
    - stringlist_sort
    - stringlist_create
    linkageType: ''
    returnType: void
    signature: void rt_pg_vsi_load_all_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:427,1
    - Dst: pstrdup
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:430,1
    - Dst: rt_pg_vsi_load_all_options
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:434,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:436,1
    - Dst: option_list_parse
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:437,1
    - Dst: option_list_length
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:438,1
    - Dst: stringlist_find
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:444,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:447,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - newval
    - extra
    - source
    argTypes:
    - char**
    - void**
    - GucSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 453
    functionName: rt_pg_vsi_check_options
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - memset
    - pstrdup
    - rt_pg_vsi_load_all_options
    - stringlist_find
    - elog
    - pfree
    - option_list_parse
    - option_list_length
    linkageType: ''
    returnType: bool
    signature: bool rt_pg_vsi_check_options(char **newval, void **extra, GucSource
      source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:477,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:478,1
    - Dst: CPLFinderClean
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:481,1
    - Dst: OSRCleanup
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:484,1
    - Dst: CPLSetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:487,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:488,1
    - Dst: CPLGetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - newpath
    - extra
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: rtpg_assignHookGDALDataPath
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - CPLFinderClean
    - OSRCleanup
    - CPLGetConfigOption
    - CPLSetConfigOption
    linkageType: ''
    returnType: void
    signature: void rtpg_assignHookGDALDataPath(const char *newpath, void *extra)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:506,1
    - Dst: CPLGetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:506,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:507,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:513,1
    - Dst: GDALDestroyDriverManager
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:517,1
    - Dst: CPLSetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:518,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:521,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:523,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:524,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:525,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:530,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:532,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:538,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:540,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:546,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:548,1
    - Dst: rt_raster_gdal_drivers
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:558,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:560,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:568,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:572,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:586,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:586,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:590,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:593,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:593,1
    - Dst: strcat
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:596,1
    - Dst: strcat
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:598,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:602,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:603,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:604,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:606,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:615,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:617,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:619,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:623,1
    - Dst: GDALDestroyDriverManager
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:627,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:630,1
    - Dst: CPLSetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:631,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:632,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:635,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:637,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:638,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:639,1
    - Dst: CPLGetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:639,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 2
    argNames:
    - enabled_drivers
    - extra
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 640
    functionName: rtpg_assignHookGDALEnabledDrivers
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - palloc
    - rt_raster_gdal_drivers
    - POSTGIS_RT_DEBUGF
    - GDALDestroyDriverManager
    - rt_util_gdal_register_all
    - rtpg_strsplit
    - memset
    - strcmp
    - CPLGetConfigOption
    - strstr
    - elog
    - repalloc
    - strlen
    - pfree
    - strcat
    - CPLSetConfigOption
    linkageType: ''
    returnType: void
    signature: void rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers,
      void *extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - enable
    - extra
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: rtpg_assignHookEnableOutDBRasters
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtpg_assignHookEnableOutDBRasters(bool enable, void *extra)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:660,1
    - Dst: getenv
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:666,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:668,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:669,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:670,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:673,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:677,1
    - Dst: getenv
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:687,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:689,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:693,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:697,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:701,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:703,1
    - Dst: pg_install_lwgeom_handlers
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:710,1
    - Dst: rt_set_handlers_options
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:713,1
    - Dst: postgis_guc_find_option
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:718,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:723,1
    - Dst: DefineCustomStringVariable
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:727,1
    - Dst: postgis_guc_find_option
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:741,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:746,1
    - Dst: DefineCustomStringVariable
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:750,1
    - Dst: postgis_guc_find_option
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:764,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:769,1
    - Dst: DefineCustomBoolVariable
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:773,1
    - Dst: postgis_guc_find_option
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:788,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:793,1
    - Dst: DefineCustomBoolVariable
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:797,1
    - Dst: postgis_guc_find_option
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:811,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:813,1
    - Dst: DefineCustomStringVariable
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:817,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:832,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 833
    functionName: _PG_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcmp
    - POSTGIS_RT_DEBUGF
    - snprintf
    - rtpg_trim
    - rt_set_handlers_options
    - elog
    - DefineCustomStringVariable
    - getenv
    - postgis_guc_find_option
    - strlen
    - pfree
    - DefineCustomBoolVariable
    - MemoryContextSwitchTo
    - pg_install_lwgeom_handlers
    linkageType: ''
    returnType: void
    signature: void _PG_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:839,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:841,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:844,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:845,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:846,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpostgis.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: _PG_fini
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.c
    functionUses: 0
    functionsReached:
    - MemoryContextSwitchTo
    - pfree
    - elog
    linkageType: ''
    returnType: void
    signature: void _PG_fini(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:90,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:90,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:91,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:91,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:93,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:95,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:96,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:97,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:100,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:102,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:103,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: RASTER_getSRID
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getSRID(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:118,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:118,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:119,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:119,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:121,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:123,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:124,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:125,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:128,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:130,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:131,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: RASTER_getWidth
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_width
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getWidth(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:146,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:146,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:147,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:147,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:149,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:151,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:152,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:153,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:156,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:158,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:159,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: RASTER_getHeight
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_get_height
    - elog
    - rt_raster_destroy
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getHeight(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:174,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:174,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:175,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:175,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:177,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:179,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:180,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:181,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:184,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:186,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:187,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: RASTER_getNumBands
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getNumBands(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:202,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:202,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:203,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:203,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:205,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:207,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:208,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:209,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:212,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:214,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:215,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: RASTER_getXScale
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - rt_raster_get_x_scale
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getXScale(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:230,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:230,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:231,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:231,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:233,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:235,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:236,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:237,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:240,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:242,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:243,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: RASTER_getYScale
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_scale
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getYScale(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:258,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:258,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:259,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:259,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:261,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:263,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:264,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:265,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:268,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:270,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:271,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: RASTER_getXSkew
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_deserialize
    - rt_raster_get_x_skew
    - elog
    - rt_raster_destroy
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getXSkew(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:286,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:287,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:287,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:289,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:291,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:292,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:293,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:296,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:298,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:299,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: RASTER_getYSkew
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_skew
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getYSkew(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:314,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:314,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:315,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:315,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:317,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:319,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:320,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:321,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:324,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:326,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:327,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 330
    functionName: RASTER_getXUpperLeft
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_x_offset
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getXUpperLeft(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:342,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:342,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:343,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:343,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:345,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:347,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:348,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:349,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:352,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:354,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:355,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: RASTER_getYUpperLeft
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_offset
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getYUpperLeft(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:376,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:376,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:377,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:377,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:379,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:381,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:382,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:383,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:386,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:387,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:388,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:390,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:391,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: RASTER_getPixelWidth
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_get_y_skew
    - sqrt
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - rt_raster_get_x_scale
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelWidth(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:412,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:412,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:413,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:413,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:415,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:417,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:418,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:419,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:422,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:423,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:424,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:426,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:427,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 430
    functionName: RASTER_getPixelHeight
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - sqrt
    - rt_raster_get_y_scale
    - rt_raster_deserialize
    - rt_raster_get_x_skew
    - elog
    - rt_raster_destroy
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelHeight(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:459,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:462,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:463,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:464,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:464,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:467,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:469,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:470,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:471,1
    - Dst: rt_raster_calc_phys_params
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:475,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:476,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:477,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:478,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:479,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:482,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:483,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:486,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:487,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:488,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:489,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:492,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:495,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:500,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:501,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:502,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:503,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:504,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:504,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:505,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:505,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:507,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:510,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:513,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 516
    functionName: RASTER_getGeotransform
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - rt_raster_get_y_offset
    - memset
    - errcode
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - POSTGIS_RT_DEBUG
    - PG_RETURN_DATUM
    - PG_DETOAST_DATUM_SLICE
    - ereport
    - rt_raster_get_y_scale
    - HeapTupleGetDatum
    - errmsg
    - get_call_result_type
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - heap_form_tuple
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - PG_ARGISNULL
    - rt_raster_calc_phys_params
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getGeotransform(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:529,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:529,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:530,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:530,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:532,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:535,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:536,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:537,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:538,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:539,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:542,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:544,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:545,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 548
    functionName: RASTER_isEmpty
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - ereport
    - errcode
    - PG_RETURN_BOOL
    - rt_raster_deserialize
    - rt_raster_destroy
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_is_empty
    - errmsg
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_isEmpty(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:562,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:562,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:563,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:563,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:565,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:568,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:569,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:570,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:571,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:572,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:576,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:577,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:579,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:580,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 583
    functionName: RASTER_hasNoBand
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - ereport
    - errcode
    - PG_RETURN_BOOL
    - rt_raster_deserialize
    - rt_raster_destroy
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - errmsg
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - rt_raster_has_band
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_hasNoBand(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:614,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:617,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:618,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:619,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:619,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:622,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:624,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:625,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:626,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:630,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:631,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:634,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:635,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:638,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:639,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:642,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:643,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:646,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:649,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:651,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:652,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:655,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:656,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:657,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:658,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:665,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:667,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:668,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:669,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:670,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:671,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:672,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:673,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:674,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:675,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:676,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:678,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:681,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:684,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 687
    functionName: RASTER_metadata
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - UInt32GetDatum
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - rt_raster_get_y_offset
    - memset
    - errcode
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - Int32GetDatum
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - PG_DETOAST_DATUM_SLICE
    - PG_RETURN_DATUM
    - ereport
    - rt_raster_get_y_scale
    - HeapTupleGetDatum
    - rt_raster_get_width
    - errmsg
    - get_call_result_type
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - heap_form_tuple
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_get_height
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_metadata(PG_FUNCTION_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:708,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:711,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:712,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:713,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:713,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:716,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:718,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:719,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:720,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:724,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:724,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:725,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:725,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:729,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:732,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:733,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:734,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:735,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:741,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:745,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:751,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:752,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:753,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:754,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:756,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:757,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:760,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:761,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:762,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:763,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:770,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:772,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:773,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:775,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:778,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:781,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:783,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 784
    functionName: RASTER_rasterToWorldCoord
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - memset
    - errcode
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - FLT_NEQ
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - PG_RETURN_DATUM
    - PG_DETOAST_DATUM_SLICE
    - ereport
    - HeapTupleGetDatum
    - errmsg
    - rt_raster_cell_to_geopoint
    - get_call_result_type
    - rt_raster_get_y_skew
    - heap_form_tuple
    - rt_raster_get_x_skew
    - PG_ARGISNULL
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_rasterToWorldCoord(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:803,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:806,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:807,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:808,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:808,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:811,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:813,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:814,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:815,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:819,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:819,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:821,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:821,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:825,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:828,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:829,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:830,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:831,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:837,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:841,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:847,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:848,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:849,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:850,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:852,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:853,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:860,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:861,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:862,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:863,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:870,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:872,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:873,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:875,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:878,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:881,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 884
    functionName: RASTER_worldToRasterCoord
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - memset
    - errcode
    - rt_raster_geopoint_to_cell
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - FLT_NEQ
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - PG_DETOAST_DATUM_SLICE
    - PG_RETURN_DATUM
    - ereport
    - HeapTupleGetDatum
    - errmsg
    - get_call_result_type
    - rt_raster_get_y_skew
    - heap_form_tuple
    - rt_raster_get_x_skew
    - PG_ARGISNULL
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_worldToRasterCoord(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:895,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:897,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:897,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:898,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:898,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:900,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:902,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:903,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:904,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:907,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:909,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:910,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:911,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:912,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:914,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 917
    functionName: RASTER_setSRID
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_set_srid
    - PG_GETARG_INT32
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setSRID(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:928,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:930,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:931,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:932,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:932,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:933,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:935,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:936,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:937,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:940,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:942,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:943,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:944,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:946,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:948,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 923
    functionDepth: 4
    functionLinenumber: 923
    functionLinenumberEnd: 950
    functionName: RASTER_setScale
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_scale
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setScale(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:961,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:962,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:964,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:965,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:966,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:966,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:967,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:969,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:970,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:971,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:974,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:975,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:976,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:977,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:979,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:981,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 956
    functionDepth: 4
    functionLinenumber: 956
    functionLinenumberEnd: 983
    functionName: RASTER_setScaleXY
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_scale
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setScaleXY(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:994,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:996,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:997,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:998,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:998,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:999,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1001,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1002,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1003,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1006,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1008,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1009,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1010,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1012,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1014,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1016
    functionName: RASTER_setSkew
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_skews
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setSkew(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1027,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1028,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1030,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1031,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1032,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1032,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1033,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1035,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1036,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1037,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1040,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1042,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1043,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1044,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1046,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1048,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1022
    functionDepth: 4
    functionLinenumber: 1022
    functionLinenumberEnd: 1050
    functionName: RASTER_setSkewXY
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_skews
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setSkewXY(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1061,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1062,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1064,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1065,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1066,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1066,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1067,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1069,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1070,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1071,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1074,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1076,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1077,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1078,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1080,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1082,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1056
    functionDepth: 4
    functionLinenumber: 1056
    functionLinenumberEnd: 1084
    functionName: RASTER_setUpperLeftXY
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_set_offsets
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setUpperLeftXY(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1098,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1098,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1098,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1099,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1099,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1100,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1100,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1102,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1106,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1106,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1107,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1108,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1109,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1110,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1111,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1112,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1114,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1116,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1117,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1118,1
    - Dst: rt_raster_set_phys_params
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1122,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1123,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1126,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1127,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1128,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1130,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1132,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1134
    functionName: RASTER_setGeotransform
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_phys_params
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_set_offsets
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setGeotransform(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1153,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1156,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1157,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1158,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1158,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1160,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1162,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1163,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1164,1
    - Dst: rt_raster_get_phys_params
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1168,1
    - Dst: rt_raster_set_phys_params
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1169,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1171,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1172,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1173,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1175,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1177,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_raster_properties.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1179
    functionName: RASTER_setRotation
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_set_phys_params
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_phys_params
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setRotation(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_legacy.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: RASTER_to_binary
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_legacy.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_to_binary(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_legacy.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: RASTER_histogramCoverage
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_legacy.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_histogramCoverage(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_legacy.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: RASTER_quantileCoverage
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_legacy.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_quantileCoverage(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:76,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:77,1
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:80,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:81,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:82,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:86,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:87,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:87,1
    - Dst: VSIFileFromMemBuffer
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:90,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:92,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:93,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:94,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:98,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:101,1
    - Dst: VSIFCloseL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:103,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:104,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:105,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:106,1
    - Dst: GDALGetDatasetDriver
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:111,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:113,1
    - Dst: GDALGetDriverShortName
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:114,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:115,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:116,1
    - Dst: rt_raster_from_gdal_dataset
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:122,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:124,1
    - Dst: VSIFCloseL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:125,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:126,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:129,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:130,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:135,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:137,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:138,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:140,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:142,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 144
    functionName: RASTER_fromGDALRaster
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - PG_RETURN_NULL
    - rt_raster_set_srid
    - GDALClose
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_raster_from_gdal_dataset
    - elog
    - PG_GETARG_BYTEA_P
    - clamp_srid
    - PG_GETARG_INT32
    - GDALGetRasterYSize
    - GDALGetDriverShortName
    - VSIFCloseL
    - VARDATA
    - PG_RETURN_POINTER
    - GDALGetDatasetDriver
    - VARSIZE_ANY_EXHDR
    - rt_util_gdal_register_all
    - rt_util_gdal_open
    - GDALGetRasterXSize
    - PG_ARGISNULL
    - VSIFileFromMemBuffer
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_fromGDALRaster(PG_FUNCTION_ARGS)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:179,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:182,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:182,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:183,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:183,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:185,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:187,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:188,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:189,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:193,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:194,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:195,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:196,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:197,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:200,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:201,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:204,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:207,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:208,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:209,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:210,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:211,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:217,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:218,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:219,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:220,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:224,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:228,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:230,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:231,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:232,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:233,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:243,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:245,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:248,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:249,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:253,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:254,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:254,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:255,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:262,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:269,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:277,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:278,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:280,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:283,1
    - Dst: rtpg_getSR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:284,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:287,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:288,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:290,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:291,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:292,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:293,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:295,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:300,1
    - Dst: rt_raster_to_gdal
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:301,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:305,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:306,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:308,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:309,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:310,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:313,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:314,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:316,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:320,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:322,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:323,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:325,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:326,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:326,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:326,1
    - Dst: CPLFree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:329,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:331,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:332,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 333
    functionName: RASTER_asGDALRaster
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - strcpy
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rtpg_trim
    - rt_raster_deserialize
    - elog
    - repalloc
    - text_to_cstring
    - strlen
    - clamp_srid
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - ARR_ELEMTYPE
    - pfree
    - VARDATA
    - get_typlenbyvalalign
    - rt_raster_to_gdal
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - VARSIZE_ANY_EXHDR
    - rtpg_getSR
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - CPLFree
    - rt_raster_get_srid
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_asGDALRaster(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:353,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:357,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:360,1
    - Dst: rt_raster_gdal_drivers
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:362,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:364,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:365,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:366,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:369,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:378,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:379,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:380,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:381,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:388,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:390,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:394,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:408,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:410,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:412,1
    - Dst: CStringGetTextDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:413,1
    - Dst: CStringGetTextDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:414,1
    - Dst: BoolGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:415,1
    - Dst: BoolGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:416,1
    - Dst: CStringGetTextDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:417,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:419,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:420,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:421,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:422,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:423,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:424,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:427,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:430,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:433,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:434,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:435,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:437,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:441,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 444
    functionName: RASTER_getGDALDrivers
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - SRF_RETURN_DONE
    - rt_raster_gdal_drivers
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - BlessTupleDesc
    - elog
    - BoolGetDatum
    - SRF_IS_FIRSTCALL
    - ereport
    - HeapTupleGetDatum
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_call_result_type
    - CStringGetTextDatum
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - MemoryContextSwitchTo
    - Int32GetDatum
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getGDALDrivers(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:469,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:497,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:500,1
    - Dst: palloc0
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:503,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:506,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:507,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:508,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:509,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:510,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:516,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:520,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:520,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:521,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:522,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:523,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:523,1
    - Dst: rtpg_getSR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:524,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:527,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:529,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:533,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:536,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:539,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:543,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:546,1
    - Dst: ArrayGetNItems
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:547,1
    - Dst: ARR_NDIM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:547,1
    - Dst: ARR_DIMS
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:547,1
    - Dst: array_create_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:551,1
    - Dst: palloc0
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:552,1
    - Dst: array_iterate
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:553,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:563,1
    - Dst: rt_raster_gdal_contour
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:568,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:586,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:591,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:595,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:609,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:610,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:611,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:620,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:621,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:622,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:625,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 459
    functionDepth: 8
    functionLinenumber: 459
    functionLinenumberEnd: 627
    functionName: RASTER_Contour
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - ARR_DIMS
    - array_iterate
    - rt_raster_gdal_contour
    - SRF_RETURN_DONE
    - ARR_NDIM
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - clamp_srid
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - ereport
    - PointerGetDatum
    - array_create_iterator
    - HeapTupleGetDatum
    - DatumGetFloat8
    - SRF_RETURN_NEXT
    - errmsg
    - palloc0
    - get_call_result_type
    - rtpg_getSR
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - rt_raster_get_srid
    - MemoryContextSwitchTo
    - Int32GetDatum
    - ArrayGetNItems
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_Contour(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dfComplete
    - pszMessage
    - pProgressArg
    argTypes:
    - double
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: rtpg_util_gdal_progress_func
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rtpg_util_gdal_progress_func(\n\tdouble dfComplete,\n\tconst char
      *pszMessage,\n\tvoid *pProgressArg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:688,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:688,1
    - Dst: gserialized_has_z
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:691,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:692,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:695,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:696,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:698,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:698,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:699,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:701,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:704,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:705,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:706,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:710,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:712,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:714,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:716,1
    - Dst: lwgeom_count_vertices
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:717,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:720,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:722,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:724,1
    - Dst: rt_raster_get_envelope
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:727,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:729,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:732,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:733,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:734,1
    - Dst: rt_util_pixtype_to_gdal_datatype
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:735,1
    - Dst: GDALGetDataTypeSize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:736,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:770,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:773,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:774,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:775,1
    - Dst: lwpointiterator_create
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:778,1
    - Dst: lwpointiterator_next
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:779,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:781,1
    - Dst: lwpointiterator_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:787,1
    - Dst: ParseAlgorithmAndOptions
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:791,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:792,1
    - Dst: free
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:796,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:797,1
    - Dst: CPLGetLastErrorMsg
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:797,1
    - Dst: GDALGridCreate
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:801,1
    - Dst: free
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:813,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:816,1
    - Dst: CPLGetLastErrorMsg
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:816,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:820,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:821,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:823,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:828,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:831,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:832,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:833,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:835,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:837,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:838,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 656
    functionDepth: 7
    functionLinenumber: 656
    functionLinenumberEnd: 839
    functionName: RASTER_InterpolateRaster
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - lwpointiterator_destroy
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - ParseAlgorithmAndOptions
    - rt_raster_deserialize
    - elog
    - text_to_cstring
    - PG_GETARG_INT32
    - rt_raster_from_band
    - lwpointiterator_create
    - gserialized_has_z
    - GDALGetDataTypeSize
    - lwpointiterator_next
    - lwgeom_count_vertices
    - rt_raster_get_envelope
    - free
    - CPLGetLastErrorMsg
    - gserialized_is_empty
    - rt_band_get_height
    - rt_util_pixtype_to_gdal_datatype
    - palloc
    - GDALGridCreate
    - rt_band_set_pixel_line
    - PG_RETURN_POINTER
    - rt_raster_get_y_skew
    - PG_DETOAST_DATUM
    - lwgeom_from_gserialized
    - rt_raster_get_x_skew
    - rt_raster_get_band
    - rt_band_get_width
    - rt_band_get_pixtype
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_InterpolateRaster(PG_FUNCTION_ARGS)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:881,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:884,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:885,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:886,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:886,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:889,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:891,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:892,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:893,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:897,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:898,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:899,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:899,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:899,1
    - Dst: rt_util_gdal_resample_alg
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:900,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:902,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:905,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:906,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:909,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:912,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:912,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:913,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:916,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:917,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:917,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:919,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:920,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:921,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:922,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:927,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:931,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:932,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:933,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:934,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:942,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:943,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:944,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:949,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:950,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:951,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:956,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:957,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:962,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:963,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:968,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:969,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:970,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:975,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:976,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:977,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:982,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:983,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:989,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:990,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1003,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1004,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1005,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1012,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1013,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1014,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1021,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1022,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1023,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1030,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1031,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1032,1
    - Dst: rtpg_getSR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1038,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1040,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1041,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1042,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1043,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1045,1
    - Dst: rtpg_getSR
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1047,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1049,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1050,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1051,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1052,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1053,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1055,1
    - Dst: rt_raster_gdal_warp
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1058,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1067,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1068,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1070,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1071,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1074,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1075,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1079,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1081,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1082,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1084,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1086,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1088,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1089,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 847
    functionDepth: 12
    functionLinenumber: 847
    functionLinenumberEnd: 1090
    functionName: RASTER_GDALWarp
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - PG_RETURN_NULL
    - rt_raster_set_srid
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rtpg_trim
    - rtpg_strtoupper
    - rt_raster_deserialize
    - elog
    - text_to_cstring
    - clamp_srid
    - FLT_NEQ
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - pfree
    - rt_raster_gdal_warp
    - PG_RETURN_POINTER
    - rtpg_getSR
    - PG_DETOAST_DATUM
    - PG_ARGISNULL
    - rt_util_gdal_resample_alg
    - rt_raster_get_srid
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_GDALWarp(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1129,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1132,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1135,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - eErrClass
    - err_no
    - msg
    argTypes:
    - CPLErr
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1144
    functionName: ogrErrorHandler
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - elog
    linkageType: ''
    returnType: void
    signature: void ogrErrorHandler(CPLErr eErrClass, int err_no, const char* msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CPLSetConfigOption
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1150,1
    - Dst: CPLSetErrorHandler
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1152,1
    - Dst: CPLSetCurrentErrorHandlerCatchDebug
      Src: /src/postgis/raster/rt_pg/rtpg_gdal.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - extra
    argTypes:
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1154
    functionName: rtpg_gdal_set_cpl_debug
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_gdal.c
    functionUses: 0
    functionsReached:
    - CPLSetCurrentErrorHandlerCatchDebug
    - CPLSetErrorHandler
    - CPLSetConfigOption
    linkageType: ''
    returnType: void
    signature: void rtpg_gdal_set_cpl_debug(bool value, void *extra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:57,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:57,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:58,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:58,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:61,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:63,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:64,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:65,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:68,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:69,1
    - Dst: rt_raster_to_wkb
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:72,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:74,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:75,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:76,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:77,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:82,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:83,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:84,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:84,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:84,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:87,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:88,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:89,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 92
    functionName: RASTER_asWKB
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_wkb.c
    functionUses: 0
    functionsReached:
    - palloc
    - rt_raster_to_wkb
    - VARSIZE_ANY_EXHDR
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - memcpy
    - pfree
    - PG_GETARG_DATUM
    - VARDATA
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_asWKB(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:107,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:109,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:109,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:110,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:110,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:112,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:114,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:115,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:116,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:119,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:120,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:122,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:124,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:125,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:126,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:127,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:131,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:132,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:134,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 137
    functionName: RASTER_asHexWKB
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_wkb.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_GETARG_DATUM
    - rt_raster_to_hexwkb
    - POSTGIS_RT_DEBUG
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_asHexWKB(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:152,1
    - Dst: PG_GETARG_BYTEA_P
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:154,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:155,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:156,1
    - Dst: rt_raster_from_wkb
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:158,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:159,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:161,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:163,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:164,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:166,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:168,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: RASTER_fromWKB
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_wkb.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - VARSIZE_ANY_EXHDR
    - rt_raster_from_wkb
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_BYTEA_P
    - POSTGIS_RT_DEBUG
    - VARDATA
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_fromWKB(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:178,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:184,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:186,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:188,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:188,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:189,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:191,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:193,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:194,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:196,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:198,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_wkb.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: RASTER_fromHexWKB
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_wkb.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_from_hexwkb
    - rt_raster_destroy
    - PG_RETURN_NULL
    - text_to_cstring
    - strlen
    - PG_GETARG_TEXT_P
    - POSTGIS_RT_DEBUG
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_fromHexWKB(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:91,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:93,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:94,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:97,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:99,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:101,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:103,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:106,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:106,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:107,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:107,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:109,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:111,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:112,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:113,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:117,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:119,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:121,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:122,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:123,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:126,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:131,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:132,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:133,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:136,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:137,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 140
    functionName: RASTER_getPixelValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_BOOL
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_raster_get_band
    - PG_GETARG_INT32
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelValue(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asc_tolower
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:144,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:144,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:144,1
    - Dst: strncmp
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:145,1
    - Dst: strncmp
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:147,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:150,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - txt
    argTypes:
    - text*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: resample_text_to_type
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - VARSIZE_ANY_EXHDR
    - asc_tolower
    - elog
    - pfree
    - strncmp
    - VARDATA
    linkageType: ''
    returnType: rt_resample_type
    signature: rt_resample_type resample_text_to_type(text *txt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:169,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:169,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:170,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:174,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:183,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:184,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:187,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:187,1
    - Dst: gserialized_get_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:188,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:188,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:189,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:190,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:193,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:195,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:196,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:199,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:199,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:200,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:201,1
    - Dst: PG_NARGS
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:204,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:205,1
    - Dst: resample_text_to_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:206,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:210,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:212,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:214,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:218,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:219,1
    - Dst: lwpoint_get_x
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:220,1
    - Dst: lwpoint_get_y
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:221,1
    - Dst: rt_raster_geopoint_to_rasterpoint
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:224,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:226,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:227,1
    - Dst: rt_band_get_pixel_resample
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:231,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:240,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:241,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:243,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 165
    functionDepth: 6
    functionLinenumber: 165
    functionLinenumberEnd: 246
    functionName: RASTER_getPixelValueResample
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_as_lwpoint
    - rt_raster_destroy
    - PG_RETURN_NULL
    - resample_text_to_type
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - gserialized_get_srid
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - rt_raster_geopoint_to_rasterpoint
    - rt_band_get_pixel_resample
    - PG_GETARG_INT32
    - gserialized_get_type
    - PG_NARGS
    - gserialized_is_empty
    - lwpoint_get_y
    - PG_DETOAST_DATUM
    - lwgeom_from_gserialized
    - rt_raster_get_srid
    - rt_raster_get_band
    - lwpoint_get_x
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelValueResample(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:271,1
    - Dst: get_func_name
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:275,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:276,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:278,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:281,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:284,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:284,1
    - Dst: gserialized_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:285,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:287,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:291,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:291,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:292,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:293,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:295,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:296,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:300,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:302,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:303,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:307,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:307,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:308,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:309,1
    - Dst: resample_text_to_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:313,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:316,1
    - Dst: rt_raster_copy_to_geometry
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:319,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:328,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:329,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:331,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:333,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 258
    functionDepth: 8
    functionLinenumber: 258
    functionLinenumberEnd: 334
    functionName: RASTER_getGeometryValues
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - strcmp
    - lwgeom_free
    - gserialized_from_lwgeom
    - rt_raster_destroy
    - get_func_name
    - PG_RETURN_NULL
    - resample_text_to_type
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - gserialized_get_srid
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - rt_raster_get_num_bands
    - gserialized_is_empty
    - PG_RETURN_POINTER
    - PG_DETOAST_DATUM
    - lwgeom_from_gserialized
    - rt_raster_get_srid
    - rt_raster_copy_to_geometry
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getGeometryValues(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:355,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 370
    functionName: rtpg_dumpvalues_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - palloc
    - elog
    linkageType: ''
    returnType: rtpg_dumpvalues_arg
    signature: rtpg_dumpvalues_arg rtpg_dumpvalues_arg_init()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:377,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:383,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:386,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:389,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:393,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_dumpvalues_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: rtpg_dumpvalues_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_dumpvalues_arg_destroy(rtpg_dumpvalues_arg arg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:421,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:438,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:441,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:444,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:447,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:448,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:449,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:451,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:451,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:453,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:455,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:456,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:457,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:458,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:460,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:461,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:476,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:478,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:479,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:480,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:481,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:482,1
    - Dst: rtpg_dumpvalues_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:486,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:488,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:489,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:490,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:491,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:492,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:496,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:497,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:498,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:499,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:506,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:507,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:508,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:509,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:510,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:511,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:515,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:517,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:519,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:520,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:521,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:522,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:523,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:524,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:532,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:535,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:543,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:545,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:546,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:547,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:548,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:549,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:550,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:558,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:559,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:560,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:561,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:562,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:563,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:564,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:572,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:575,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:576,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:577,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:578,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:579,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:580,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:585,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:589,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:590,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:593,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:594,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:595,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:598,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:599,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:601,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:602,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:603,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:604,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:605,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:606,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:608,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:609,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:614,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:617,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:620,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:621,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:622,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:623,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:624,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:625,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:629,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:630,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:632,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:633,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:634,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:635,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:636,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:637,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:639,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:640,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:645,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:654,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:656,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:657,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:658,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:659,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:660,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:661,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:664,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:665,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:665,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:666,1
    - Dst: rt_band_clamped_value_is_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:666,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:670,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:673,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:681,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:682,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:691,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:692,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:693,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:694,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:695,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:702,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:705,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:709,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:727,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:728,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:730,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:732,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:735,1
    - Dst: construct_md_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:742,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:748,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:751,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:752,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:754,1
    - Dst: rtpg_dumpvalues_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:758,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:759,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 214
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 761
    functionName: RASTER_dumpValues
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_GETARG_DATUM
    - rtpg_dumpvalues_arg_destroy
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - rtpg_dumpvalues_arg_init
    - repalloc
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - Int32GetDatum
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - deconstruct_array
    - ereport
    - PointerGetDatum
    - HeapTupleGetDatum
    - DatumGetFloat8
    - ARR_ELEMTYPE
    - rt_raster_get_width
    - construct_md_array
    - errmsg
    - rt_band_clamped_value_is_nodata
    - SRF_RETURN_NEXT
    - get_typlenbyvalalign
    - rt_raster_has_band
    - DatumGetInt16
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - rt_band_get_isnodata_flag
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_raster_get_height
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_dumpValues(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:779,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:780,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:783,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:786,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:789,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:794,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:795,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:799,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:801,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:802,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:806,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:808,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:811,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:811,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:813,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:815,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:816,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:817,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:822,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:824,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:827,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:831,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:832,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:833,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:836,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:839,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:840,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:844,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:845,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:850,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:851,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:852,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:854,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:856,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 858
    functionName: RASTER_setPixelValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - POSTGIS_RT_DEBUGF
    - rt_band_get_hasnodata_flag
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_DETOAST_DATUM_COPY
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_band_set_pixel
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setPixelValue(PG_FUNCTION_ARGS)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:917,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:918,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:919,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:919,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:922,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:924,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:925,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:926,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:930,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:931,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:932,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:935,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:936,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:937,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:938,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:941,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:943,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:944,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:945,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:950,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:951,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:952,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:953,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:956,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:963,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:964,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:965,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:973,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:974,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:975,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:976,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:979,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:980,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:981,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:988,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:989,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:990,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:991,1
    - Dst: ARR_NDIM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:995,1
    - Dst: ARR_DIMS
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:996,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:997,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1000,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1001,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1002,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1013,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1015,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1025,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1026,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1028,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1029,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1030,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1031,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1036,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1038,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1039,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1040,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1041,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1042,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1043,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1063,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1066,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1075,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1076,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1079,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1080,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1081,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1082,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1088,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1089,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1090,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1091,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1092,1
    - Dst: ARR_NDIM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1096,1
    - Dst: ARR_DIMS
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1097,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1098,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1101,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1102,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1103,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1104,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1115,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1117,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1126,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1128,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1129,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1131,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1132,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1133,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1134,1
    - Dst: DatumGetBool
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1149,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1161,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1162,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1165,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1165,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1167,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1170,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1175,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1187,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1188,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1191,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1193,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1194,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1195,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1196,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1201,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1203,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1206,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1219,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1228,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1237,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1239,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1240,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1241,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1242,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1243,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1253,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1255,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1258,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1261,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1262,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1263,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1265,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1267,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1268,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 239
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 1269
    functionName: RASTER_setPixelValuesArray
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - ARR_DIMS
    - FLT_EQ
    - rt_raster_destroy
    - PG_DETOAST_DATUM_COPY
    - ARR_NDIM
    - PG_RETURN_NULL
    - DatumGetBool
    - PG_GETARG_DATUM
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - PG_GETARG_INT32
    - rt_raster_get_num_bands
    - deconstruct_array
    - PG_GETARG_FLOAT8
    - DatumGetFloat4
    - DatumGetFloat8
    - rt_raster_get_width
    - ARR_ELEMTYPE
    - pfree
    - rt_band_set_pixel
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - rt_band_get_hasnodata_flag
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_height
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setPixelValuesArray(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1296,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1307
    functionName: rtpg_setvaluesgv_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - palloc
    - elog
    linkageType: ''
    returnType: rtpg_setvaluesgv_arg
    signature: rtpg_setvaluesgv_arg rtpg_setvaluesgv_arg_init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1315,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1317,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1320,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_setvaluesgv_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1309
    functionDepth: 4
    functionLinenumber: 1309
    functionLinenumberEnd: 1324
    functionName: rtpg_setvaluesgv_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rt_raster_destroy
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_setvaluesgv_arg_destroy(rtpg_setvaluesgv_arg arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1337,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1341,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1347,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1354,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1374
    functionName: rtpg_setvalues_geomval_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUG
    - POSTGIS_RT_DEBUGF
    linkageType: ''
    returnType: int
    signature: "int rtpg_setvalues_geomval_callback(\n\trt_iterator_arg arg, void
      *userarg,\n\tdouble *value, int *nodata\n)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1422,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1423,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1424,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1424,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1427,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1429,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1430,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1431,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1435,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1436,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1437,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1438,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1438,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1439,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1442,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1443,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1444,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1445,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1448,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1450,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1451,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1452,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1456,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1457,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1458,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1460,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1463,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1464,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1465,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1466,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1469,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1470,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1471,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1473,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1481,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1482,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1483,1
    - Dst: rtpg_setvaluesgv_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1487,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1489,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1490,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1491,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1492,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1495,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1497,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1498,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1499,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1500,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1501,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1516,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1518,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1519,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1520,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1521,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1522,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1526,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1527,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1529,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1533,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1534,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1536,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1537,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1538,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1539,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1540,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1544,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1545,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1550,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1550,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1551,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1552,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1553,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1554,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1558,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1559,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1560,1
    - Dst: gserialized_get_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1565,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1572,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1573,1
    - Dst: rt_raster_gdal_rasterize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1576,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1577,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1597,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1599,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1604,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1605,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1606,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1607,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1608,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1612,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1615,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1616,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1618,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1622,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1629,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1631,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1632,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1633,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1634,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1635,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1640,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1641,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1642,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1645,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1646,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1659,1
    - Dst: rt_raster_get_inverse_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1662,1
    - Dst: lwgeom_as_lwcollection
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1667,1
    - Dst: lwgeom_as_multi
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1667,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1671,1
    - Dst: getPoint2d_p
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1672,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1674,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1675,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1676,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1677,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1678,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1679,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1687,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1692,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1693,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1694,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1695,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1696,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1697,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1706,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1708,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1711,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1712,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1713,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1714,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1715,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1724,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1727,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1729,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1730,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1731,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1732,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1733,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1749,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1760,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1763,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1764,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1765,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1766,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1767,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1771,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1773,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1774,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1775,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1776,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1777,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1778,1
    - Dst: rt_raster_replace_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1781,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1783,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1784,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1785,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1786,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1787,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1788,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1791,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1792,1
    - Dst: rtpg_setvaluesgv_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1795,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1797,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1798,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1799,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1801,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1804,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1806,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1807,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 246
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1377
    functionDepth: 12
    functionLinenumber: 1377
    functionLinenumberEnd: 1808
    functionName: RASTER_setPixelValuesGeomval
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - lwgeom_free
    - rt_raster_get_inverse_geotransform_matrix
    - lwgeom_as_lwpoint
    - rt_raster_destroy
    - PG_DETOAST_DATUM_COPY
    - GetAttributeByName
    - PG_RETURN_NULL
    - rt_raster_replace_band
    - LWSIZE_GET
    - lwgeom_to_wkb_varlena
    - rt_raster_set_srid
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - gserialized_get_srid
    - POSTGIS_RT_DEBUGF
    - rtpg_setvaluesgv_arg_init
    - rt_raster_geopoint_to_cell
    - SET_VARSIZE
    - rt_raster_deserialize
    - elog
    - repalloc
    - PG_GETARG_BOOL
    - clamp_srid
    - PG_GETARG_INT32
    - gserialized_get_type
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - deconstruct_array
    - lwgeom_ndims
    - rt_raster_get_geotransform_matrix
    - rt_raster_iterator
    - rt_raster_get_height
    - rtpg_setvaluesgv_arg_destroy
    - lwgeom_as_multi
    - DatumGetFloat8
    - lwgeom_force_2d
    - rt_raster_get_width
    - ARR_ELEMTYPE
    - pfree
    - getPoint2d_p
    - rt_band_set_pixel
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - rt_band_get_hasnodata_flag
    - PG_DETOAST_DATUM
    - lwgeom_as_lwcollection
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - rt_raster_gdal_rasterize
    - rt_band_get_isnodata_flag
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_band_get_pixtype
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setPixelValuesGeomval(PG_FUNCTION_ARGS)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1830,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1852,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1855,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1857,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1858,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1859,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1861,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1861,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1862,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1864,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1865,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1866,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1867,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1871,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1873,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1874,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1875,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1876,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1877,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1881,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1882,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1884,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1885,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1886,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1887,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1888,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1892,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1893,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1894,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1901,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1902,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1903,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1904,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1905,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1909,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1912,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1918,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1921,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1926,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1932,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1933,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1934,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1935,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1936,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1937,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1940,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1943,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1944,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1947,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1949,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1950,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1951,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1952,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1953,1
    - Dst: rt_band_get_pixel_of_value
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1957,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1962,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1963,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1964,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1965,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1969,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1972,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1974,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1975,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1985,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1986,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1987,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1988,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1995,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:1998,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2002,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2016,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2022,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2023,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2024,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2027,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2030,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2032,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2035,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2036,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1817
    functionDepth: 4
    functionLinenumber: 1817
    functionLinenumberEnd: 2038
    functionName: RASTER_pixelOfValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - repalloc
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - rt_band_get_pixel_of_value
    - deconstruct_array
    - rt_raster_get_num_bands
    - ereport
    - DatumGetFloat4
    - HeapTupleGetDatum
    - DatumGetFloat8
    - ARR_ELEMTYPE
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - Int32GetDatum
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_pixelOfValue(PG_FUNCTION_ARGS)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2065,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2066,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2067,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2067,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2068,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2070,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2071,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2072,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2076,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2077,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2078,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2080,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2081,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2082,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2083,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2087,1
    - Dst: gserialized_get_type
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2088,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2089,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2090,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2091,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2092,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2093,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2097,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2098,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2101,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2101,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2101,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2101,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2102,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2103,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2104,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2105,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2106,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2110,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2112,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2113,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2114,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2115,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2116,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2120,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2122,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2123,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2124,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2125,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2126,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2127,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2131,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2132,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2133,1
    - Dst: lwgeom_as_lwpoint
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2137,1
    - Dst: getPoint2d_p
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2138,1
    - Dst: rt_raster_geopoint_to_cell
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2140,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2146,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2147,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2148,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2149,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2150,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2151,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2156,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2157,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2159,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2160,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2161,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2162,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2163,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2164,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2165,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2170,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2171,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2172,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2173,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2175,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2180,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2187,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2192,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2195,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2197,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2198,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2199,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2200,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2201,1
    - Dst: rt_raster_pixel_as_polygon
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2213,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2215,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2216,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2217,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2218,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2219,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2220,1
    - Dst: lwgeom_mindistance2d
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2224,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2224,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2231,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2239,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2240,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2241,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2242,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2243,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2246,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2248,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2044
    functionDepth: 6
    functionLinenumber: 2044
    functionLinenumberEnd: 2249
    functionName: RASTER_nearestValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - lwgeom_as_lwpoint
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - gserialized_get_srid
    - lwpoly_free
    - rt_raster_geopoint_to_cell
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - clamp_srid
    - lwgeom_mindistance2d
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - gserialized_get_type
    - rt_raster_get_num_bands
    - lwgeom_ndims
    - lwpoly_as_lwgeom
    - lwgeom_force_2d
    - rt_raster_get_width
    - pfree
    - getPoint2d_p
    - rt_raster_pixel_as_polygon
    - PG_DETOAST_DATUM
    - rt_band_get_nearest_pixel
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_raster_get_height
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_nearestValue(PG_FUNCTION_ARGS)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2290,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2291,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2292,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2292,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2294,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2296,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2297,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2298,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2302,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2303,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2304,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2306,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2307,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2308,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2309,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2313,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2317,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2321,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2323,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2324,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2325,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2326,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2331,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2333,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2334,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2335,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2336,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2341,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2342,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2345,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2347,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2348,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2349,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2350,1
    - Dst: rt_band_get_nearest_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2357,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2366,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2368,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2369,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2370,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2372,1
    - Dst: rt_band_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2378,1
    - Dst: rt_band_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2379,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2381,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2387,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2388,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2389,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2390,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2391,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2397,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2398,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2401,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2404,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2410,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2412,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2415,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2416,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2417,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2419,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2420,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2433,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2434,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2435,1
    - Dst: rt_pixel_set_to_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2439,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2447,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2449,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2450,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2454,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2455,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2460,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2461,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2463,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2464,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2466,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2467,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2478,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2480,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2488,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2489,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2491,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2492,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2495,1
    - Dst: construct_md_array
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2497,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2504,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2505,1
    - Dst: PG_RETURN_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_pixel.c:2507,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2255
    functionDepth: 4
    functionLinenumber: 2255
    functionLinenumberEnd: 2508
    functionName: RASTER_neighborhood
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_pixel.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - repalloc
    - PG_GETARG_INT32
    - rt_raster_get_num_bands
    - PointerGetDatum
    - pfree
    - construct_md_array
    - PG_RETURN_ARRAYTYPE_P
    - get_typlenbyvalalign
    - rt_band_get_height
    - palloc
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_band_get_nearest_pixel
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixel_set_to_array
    - rt_band_get_width
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_neighborhood(PG_FUNCTION_ARGS)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PG_NARGS
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:63,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:64,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:65,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:68,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:69,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:71,1
    - Dst: PG_GETARG_UINT16
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:72,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:74,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:75,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:77,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:78,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:80,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:81,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:83,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:84,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:86,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:87,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:89,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:90,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:92,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:93,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:95,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:99,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:101,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:103,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:104,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:105,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:106,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:108,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:109,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:111,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:113,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 115
    functionName: RASTER_makeEmpty
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - POSTGIS_RT_DEBUGF
    - rt_raster_set_scale
    - rt_raster_set_skews
    - SET_VARSIZE
    - rt_raster_destroy
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_set_offsets
    - rt_raster_set_srid
    - PG_GETARG_INT32
    - PG_RETURN_POINTER
    - PG_GETARG_FLOAT8
    - rt_raster_new
    - PG_GETARG_UINT16
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_makeEmpty(PG_FUNCTION_ARGS)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:160,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:161,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:162,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:162,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:165,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:167,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:168,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:169,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:173,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:174,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:175,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:176,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:178,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:182,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:183,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:184,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:188,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:190,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:191,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:192,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:193,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:205,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:208,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:210,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:211,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:212,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:213,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:214,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:220,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:222,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:228,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:229,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:230,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:231,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:232,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:237,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:239,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:240,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:241,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:242,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:243,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:245,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:247,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:248,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:249,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:250,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:251,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:253,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:255,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:256,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:258,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:259,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:260,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:261,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:262,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:267,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:269,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:274,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:277,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:282,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:286,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:292,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:300,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:302,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:308,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:315,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:317,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:318,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:319,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:320,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:321,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:325,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:328,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:330,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:331,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:332,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:334,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:336,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:337,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 338
    functionName: RASTER_addBand
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - GetAttributeByName
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - rt_raster_generate_new_band
    - text_to_cstring
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - rt_raster_get_num_bands
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - ARR_ELEMTYPE
    - pfree
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - rt_pixtype_name
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_addBand(PG_FUNCTION_ARGS)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:372,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:373,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:373,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:376,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:378,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:379,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:380,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:383,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:386,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:390,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:391,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:394,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:398,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:399,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:401,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:403,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:404,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:407,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:409,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:412,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:413,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:417,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:419,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:420,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:423,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:431,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:440,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:445,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:446,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:449,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:450,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:451,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:452,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:454,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:460,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:467,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:468,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:470,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:471,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:473,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:475,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:476,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:477,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:480,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:481,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:485,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:486,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:487,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:488,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:490,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:491,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:494,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:501,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:503,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:504,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:506,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:507,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:509,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:510,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:511,1
    - Dst: rt_raster_copy_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:516,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:520,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:522,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:523,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:524,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:525,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:526,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:528,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:530,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:539,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:540,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:542,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:544,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:546,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:547,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:550,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 551
    functionName: RASTER_addBandRasterArray
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_raster_copy_band
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - rt_raster_get_num_bands
    - rt_raster_from_band
    - ARR_ELEMTYPE
    - pfree
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_addBandRasterArray(PG_FUNCTION_ARGS)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:589,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:590,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:590,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:593,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:595,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:596,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:597,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:600,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:604,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:605,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:610,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:611,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:613,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:614,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:617,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:620,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:620,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:621,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:622,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:624,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:625,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:628,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:633,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:645,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:646,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:647,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:655,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:656,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:658,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:659,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:663,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:665,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:668,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:669,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:671,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:672,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:680,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:683,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:690,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:693,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:694,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:696,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:697,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:707,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:709,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:718,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:721,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:725,1
    - Dst: rt_util_gdal_register_all
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:734,1
    - Dst: rt_util_gdal_open
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:735,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:738,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:739,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:741,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:742,1
    - Dst: GDALGetGeoTransform
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:746,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:757,1
    - Dst: GDALGetRasterXSize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:757,1
    - Dst: GDALGetRasterYSize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:757,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:758,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:759,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:760,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:762,1
    - Dst: rt_util_gdal_sr_auth_info
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:764,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:767,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:770,1
    - Dst: atoi
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:770,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:773,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:776,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:780,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:781,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:784,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:785,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:786,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:786,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:787,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:788,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:791,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:793,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:795,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:796,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:800,1
    - Dst: GDALGetRasterCount
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:804,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:805,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:807,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:810,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:812,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:813,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:814,1
    - Dst: GDALClose
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:821,1
    - Dst: rt_band_new_offline_from_path
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:827,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:835,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:837,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:838,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:839,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:843,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:845,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:847,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:848,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:849,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:853,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:854,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:856,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:858,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:860,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:861,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 200
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 862
    functionName: RASTER_addBandOutDB
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rt_raster_serialize
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_raster_same_alignment
    - rt_raster_set_srid
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - GDALClose
    - PG_FREE_IF_COPY
    - rt_raster_deserialize
    - elog
    - repalloc
    - text_to_cstring
    - strlen
    - PG_GETARG_INT32
    - rt_band_new_offline_from_path
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - GDALGetGeoTransform
    - rt_raster_new
    - GDALGetRasterYSize
    - rt_raster_set_geotransform_matrix
    - GDALGetRasterCount
    - rt_raster_add_band
    - ARR_ELEMTYPE
    - rt_raster_get_width
    - atoi
    - get_typlenbyvalalign
    - DatumGetInt16
    - PG_RETURN_POINTER
    - palloc
    - rt_util_gdal_sr_auth_info
    - rt_util_gdal_register_all
    - rt_util_gdal_open
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - GDALGetRasterXSize
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_get_height
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_addBandOutDB(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:882,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:882,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:883,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:883,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:885,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:887,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:888,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:889,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:893,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:894,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:894,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:896,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:898,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:899,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:900,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:901,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:902,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:905,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:907,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:910,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:912,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:915,1
    - Dst: rt_raster_copy_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:918,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:923,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:925,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:930,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:931,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:935,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:936,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:937,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:938,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:940,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:941,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 868
    functionDepth: 4
    functionLinenumber: 868
    functionLinenumberEnd: 942
    functionName: RASTER_copyBand
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - rt_raster_copy_band
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_copyBand(PG_FUNCTION_ARGS)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:986,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1000,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1003,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1006,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1009,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1010,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1011,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1015,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1017,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1018,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1019,1
    - Dst: PG_DETOAST_DATUM_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1022,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1022,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1023,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1025,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1026,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1027,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1029,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1030,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1031,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1032,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1036,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1049,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1050,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1051,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1052,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1053,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1054,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1055,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1057,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1059,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1060,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1061,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1062,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1063,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1064,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1068,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1069,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1070,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1071,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1072,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1073,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1074,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1076,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1078,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1079,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1080,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1081,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1082,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1083,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1087,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1088,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1089,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1090,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1097,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1098,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1099,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1100,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1101,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1102,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1106,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1108,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1110,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1111,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1112,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1113,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1114,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1115,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1123,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1126,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1134,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1136,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1137,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1138,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1139,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1140,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1141,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1149,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1150,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1151,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1152,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1153,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1154,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1155,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1156,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1164,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1167,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1168,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1169,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1170,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1171,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1172,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1177,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1183,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1184,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1186,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1188,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1202,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1203,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1204,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1205,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1208,1
    - Dst: ceil
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1209,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1210,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1218,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1222,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1253,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1264,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1277,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1295,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1296,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1297,1
    - Dst: rt_raster_cell_to_geopoint
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1300,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1301,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1302,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1303,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1304,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1305,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1306,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1308,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1309,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1315,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1319,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1321,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1324,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1325,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1326,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1327,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1328,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1329,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1332,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1333,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1335,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1341,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1344,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1345,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1346,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1347,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1348,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1349,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1350,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1351,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1353,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1355,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1356,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1357,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1358,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1359,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1360,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1364,1
    - Dst: rt_band_set_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1365,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1374,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1378,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1379,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1380,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1381,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1382,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1383,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1384,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1385,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1388,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1389,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1390,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1391,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1392,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1393,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1394,1
    - Dst: rt_band_get_ext_band_num
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1401,1
    - Dst: rt_band_new_offline
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1403,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1407,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1411,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1412,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1413,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1414,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1415,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1416,1
    - Dst: rt_raster_add_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1419,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1420,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1421,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1422,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1423,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1424,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1425,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1426,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1431,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1432,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1434,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1435,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1436,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1437,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1440,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1441,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1441,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1445,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1446,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1447,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1448,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 315
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 1450
    functionName: RASTER_tile
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_band_get_ext_path
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - PG_DETOAST_DATUM_COPY
    - rt_band_get_pixtype
    - ceil
    - rt_raster_set_srid
    - PG_GETARG_DATUM
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - errcode
    - SET_VARSIZE
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - elog
    - repalloc
    - PG_GETARG_BOOL
    - rt_raster_generate_new_band
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - deconstruct_array
    - PG_GETARG_FLOAT8
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - ereport
    - rt_raster_get_geotransform_matrix
    - rt_raster_add_band
    - PointerGetDatum
    - pfree
    - ARR_ELEMTYPE
    - rt_raster_get_width
    - rt_raster_set_offsets
    - errmsg
    - rt_band_get_pixel_line
    - rt_band_get_ext_band_num
    - SRF_RETURN_NEXT
    - rt_raster_cell_to_geopoint
    - get_typlenbyvalalign
    - rt_raster_has_band
    - DatumGetInt16
    - palloc
    - rt_band_set_pixel_line
    - rt_band_new_offline
    - rt_band_get_hasnodata_flag
    - rt_band_is_offline
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - rt_band_get_isnodata_flag
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - MemoryContextSwitchTo
    - rt_band_set_isnodata_flag
    - rt_raster_get_height
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_tile(PG_FUNCTION_ARGS)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1480,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1481,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1482,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1482,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1484,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1486,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1487,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1488,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1492,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1493,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1497,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1499,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1500,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1501,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1508,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1509,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1510,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1511,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1515,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1518,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1524,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1527,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1531,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1533,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1539,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1544,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1550,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1551,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1552,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1553,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1555,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1556,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1559,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1560,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1563,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1565,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1566,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_create.c:1569,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1570
    functionName: RASTER_band
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_create.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - deconstruct_array
    - rt_raster_get_num_bands
    - rt_raster_from_band
    - ARR_ELEMTYPE
    - pfree
    - get_typlenbyvalalign
    - DatumGetInt16
    - PG_RETURN_POINTER
    - palloc
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_band(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_CSTRING
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:50,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:53,1
    - Dst: rt_raster_from_hexwkb
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:55,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:55,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:57,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:59,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:60,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:62,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:64,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: RASTER_in
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_inout.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_from_hexwkb
    - PG_GETARG_CSTRING
    - rt_raster_destroy
    - PG_RETURN_NULL
    - strlen
    - POSTGIS_RT_DEBUG
    - SET_VARSIZE
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_in(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:80,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:82,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:82,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:83,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:83,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:85,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:87,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:88,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:89,1
    - Dst: rt_raster_to_hexwkb
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:92,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:94,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:95,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:96,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:97,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:101,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:102,1
    - Dst: PG_RETURN_CSTRING
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: RASTER_out
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_inout.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - rt_raster_to_hexwkb
    - POSTGIS_RT_DEBUG
    - PG_RETURN_CSTRING
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_out(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:121,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:121,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:122,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:122,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:125,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:127,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:128,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:129,1
    - Dst: rt_raster_to_wkb
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:133,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:135,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:136,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:137,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:138,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:143,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:144,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:145,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:145,1
    - Dst: VARSIZE_ANY_EXHDR
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:145,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:148,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:149,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:150,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 153
    functionName: RASTER_to_bytea
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_inout.c
    functionUses: 0
    functionsReached:
    - palloc
    - rt_raster_to_wkb
    - VARSIZE_ANY_EXHDR
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - memcpy
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - pfree
    - PG_GETARG_DATUM
    - VARDATA
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_to_bytea(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:163,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:163,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:164,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:166,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:167,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:168,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:170,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:171,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:173,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:175,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_inout.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: RASTER_noop
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_inout.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_noop(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:64,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:65,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:69,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:72,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:73,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:74,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:83,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:85,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:86,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - str
    - oldstr
    - newstr
    - count
    argTypes:
    - char*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: rtpg_strreplace
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 0
    functionsReached:
    - palloc
    - strcpy
    - strncpy
    - strstr
    - fprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nrtpg_strreplace(\n\tconst char *str,\n\tconst char *oldstr,
      const char *newstr,\n\tint *count\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:103,1
    - Dst: toupper
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: rtpg_strtoupper
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 1
    functionsReached:
    - toupper
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_strtoupper(char * str)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:121,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:125,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:126,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:129,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:129,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:131,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:134,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:134,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - input
    - remove
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: rtpg_chartrim
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 0
    functionsReached:
    - palloc
    - fprintf
    - strlen
    - strchr
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_chartrim(const char *input, char *remove)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:152,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:152,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:154,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:157,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:159,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:159,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:161,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:163,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:166,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:166,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:168,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:171,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:172,1
    - Dst: strtok
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:176,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:179,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:182,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:185,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:190,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:190,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:192,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:196,1
    - Dst: strtok
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:199,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 204
    functionName: rtpg_strsplit
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 1
    functionsReached:
    - palloc
    - strcpy
    - repalloc
    - strtok
    - fprintf
    - strlen
    - pfree
    linkageType: ''
    returnType: char
    signature: 'char **

      rtpg_strsplit(const char *str, const char *delimiter, uint32_t *n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:211,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:213,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:214,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:215,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:216,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:217,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:218,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:219,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: rtpg_removespaces
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 0
    functionsReached:
    - rtpg_strreplace
    - pfree
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_removespaces(char *str)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:238,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:242,1
    - Dst: isspace
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:245,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:249,1
    - Dst: fprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:251,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 258
    functionName: rtpg_trim
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 3
    functionsReached:
    - palloc
    - strncpy
    - isspace
    - fprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_trim(const char *input)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:266,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:267,1
    - Dst: strncmp
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: rtpg_strrstr
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_strrstr(const char *s1, const char *s2)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:310,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:311,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:313,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:317,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:319,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:320,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:325,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:326,1
    - Dst: SPI_execute
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:327,1
    - Dst: SPI_pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:328,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:330,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:331,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:332,1
    - Dst: SPI_getvalue
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:342,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:349,1
    - Dst: rt_util_gdal_supported_sr
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:350,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:352,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:354,1
    - Dst: SPI_palloc
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:355,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:357,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:358,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:359,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:360,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:363,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:364,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:370,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:374,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:375,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:379,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:380,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_internal.c:381,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - srid
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 386
    functionName: rtpg_getSR
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_internal.c
    functionUses: 3
    functionsReached:
    - palloc
    - POSTGIS_RT_DEBUGF
    - SPI_finish
    - strncpy
    - snprintf
    - SPI_execute
    - SPI_palloc
    - elog
    - SPI_getvalue
    - SPI_connect
    - strlen
    - pfree
    - SPI_pfree
    - SPI_freetuptable
    - rt_util_gdal_supported_sr
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpg_getSR(int32_t srid)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:89,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:90,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:91,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:91,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:93,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:95,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:96,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:97,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:101,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:102,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:103,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:105,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:106,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:107,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:108,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:112,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:113,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:116,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:117,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:119,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:120,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:121,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:122,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:124,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:131,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:133,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:134,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:135,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:136,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:140,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:141,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:142,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:143,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:145,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:146,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:150,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:151,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:152,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:153,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:160,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:162,1
    - Dst: Int64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:164,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:166,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:167,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:168,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:169,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:170,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:181,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:184,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:187,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 190
    functionName: RASTER_summaryStats
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - FLT_EQ
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - memset
    - errcode
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - PG_GETARG_INT32
    - PG_RETURN_DATUM
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - ereport
    - HeapTupleGetDatum
    - rt_band_get_summary_stats
    - pfree
    - errmsg
    - Int64GetDatum
    - get_call_result_type
    - PG_DETOAST_DATUM
    - heap_form_tuple
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_summaryStats(PG_FUNCTION_ARGS)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:231,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:232,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:233,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:235,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:236,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:237,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:238,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:239,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:243,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:244,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:245,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:247,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:248,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:249,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:250,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:251,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:255,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:256,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:259,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:260,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:263,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:264,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:266,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:267,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:268,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:270,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:278,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:280,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:281,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:282,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:286,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:286,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:286,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:287,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:289,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:290,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:291,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:292,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:296,1
    - Dst: SPI_cursor_open_with_args
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:297,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:304,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:307,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:312,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:314,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:315,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:316,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:318,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:319,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:320,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:323,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:327,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:329,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:331,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:332,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:333,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:335,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:336,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:337,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:341,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:343,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:345,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:347,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:348,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:349,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:351,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:352,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:356,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:358,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:360,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:362,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:363,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:364,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:366,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:367,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:371,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:373,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:374,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:377,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:379,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:380,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:381,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:383,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:384,1
    - Dst: SPI_palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:390,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:392,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:393,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:394,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:396,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:397,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:422,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:425,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:428,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:429,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:430,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:433,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:434,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:441,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:444,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:447,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:448,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:449,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:450,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:457,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:459,1
    - Dst: Int64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:461,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:463,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:464,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:465,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:466,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:467,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:478,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:481,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:484,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:486,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 183
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 487
    functionName: RASTER_summaryStatsCoverage
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - Float8GetDatum
    - FLT_EQ
    - rt_raster_destroy
    - PG_RETURN_NULL
    - SPI_getbinval
    - PG_GETARG_TEXT_P
    - sqrt
    - SPI_cursor_close
    - memset
    - errcode
    - snprintf
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - text_to_cstring
    - strlen
    - SPI_cursor_open_with_args
    - PG_GETARG_INT32
    - SPI_freetuptable
    - PG_RETURN_DATUM
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - ereport
    - SPI_cursor_fetch
    - HeapTupleGetDatum
    - pfree
    - rt_band_get_summary_stats
    - errmsg
    - Int64GetDatum
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - SPI_palloc
    - heap_form_tuple
    - PG_ARGISNULL
    - SPI_connect
    - rt_raster_get_band
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_summaryStatsCoverage(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:510,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_summarystats_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: rtpg_summarystats_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_summarystats_arg_destroy(rtpg_summarystats_arg arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:519,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:521,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:528,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:530,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 557
    functionName: rtpg_summarystats_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - palloc
    - rtpg_summarystats_arg_destroy
    - elog
    linkageType: ''
    returnType: rtpg_summarystats_arg
    signature: rtpg_summarystats_arg rtpg_summarystats_arg_init()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:575,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:578,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:579,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:583,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:587,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:589,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:590,1
    - Dst: rtpg_summarystats_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:592,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:594,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:595,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:599,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:605,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:606,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:611,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:613,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:613,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:616,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:619,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:620,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:622,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:623,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:624,1
    - Dst: PG_NARGS
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:636,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:637,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:640,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:643,1
    - Dst: PG_GETARG_INT16
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:651,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:653,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:658,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:660,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:661,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:664,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:665,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:669,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:678,1
    - Dst: PG_GETARG_FLOAT4
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:686,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:688,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:693,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:695,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:696,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:699,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:700,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:705,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:707,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:712,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:714,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:715,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:718,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:719,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:724,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:731,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:732,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:733,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:734,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:738,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:740,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:746,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:747,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:749,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:750,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:754,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:756,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:761,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:762,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:764,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:765,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:769,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:775,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:776,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:777,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:780,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:786,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:788,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:789,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:813,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:816,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:818,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:820,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 821
    functionName: RASTER_summaryStats_transfn
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - FLT_EQ
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - get_fn_expr_argtype
    - PG_GETARG_FLOAT4
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - rtpg_summarystats_arg_init
    - AggCheckCallContext
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - PG_NARGS
    - rt_band_get_summary_stats
    - pfree
    - PG_RETURN_POINTER
    - PG_GETARG_INT16
    - PG_DETOAST_DATUM
    - rtpg_summarystats_arg_destroy
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_summaryStats_transfn(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:834,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:837,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:838,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:839,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:843,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:844,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:846,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:849,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:850,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:858,1
    - Dst: sqrt
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:861,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:865,1
    - Dst: rtpg_summarystats_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:866,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:867,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:868,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:869,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:876,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:878,1
    - Dst: Int64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:880,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:882,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:883,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:884,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:885,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:886,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:897,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:900,1
    - Dst: PG_RETURN_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 910
    functionName: RASTER_summaryStats_finalfn
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - Float8GetDatum
    - PG_RETURN_NULL
    - sqrt
    - memset
    - errcode
    - BlessTupleDesc
    - elog
    - AggCheckCallContext
    - PG_RETURN_DATUM
    - POSTGIS_RT_DEBUG
    - ereport
    - HeapTupleGetDatum
    - errmsg
    - Int64GetDatum
    - get_call_result_type
    - heap_form_tuple
    - rtpg_summarystats_arg_destroy
    - PG_ARGISNULL
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_summaryStats_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:931,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:962,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:965,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:968,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:971,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:972,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:973,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:975,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:975,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:977,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:979,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:980,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:981,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:982,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:986,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:987,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:988,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:990,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:991,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:992,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:993,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:994,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:998,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:999,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1002,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1003,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1005,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1006,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1007,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1008,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1009,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1011,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1018,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1019,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1024,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1025,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1026,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1027,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1034,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1035,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1036,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1037,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1038,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1042,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1045,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1051,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1054,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1058,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1059,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1060,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1061,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1062,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1063,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1064,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1068,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1074,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1080,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1081,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1084,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1084,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1087,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1087,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1090,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1092,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1093,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1094,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1095,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1096,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1100,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1101,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1102,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1103,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1105,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1106,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1107,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1110,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1111,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1112,1
    - Dst: rt_band_get_histogram
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1116,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1117,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1118,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1120,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1121,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1122,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1125,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1134,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1135,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1136,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1137,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1144,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1147,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1151,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1165,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1167,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1169,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1170,1
    - Dst: Int64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1171,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1172,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1175,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1178,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1180,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1184,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1185,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 1187
    functionName: RASTER_histogram
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - SRF_RETURN_DONE
    - FLT_EQ
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - deconstruct_array
    - ereport
    - DatumGetFloat4
    - HeapTupleGetDatum
    - DatumGetFloat8
    - ARR_ELEMTYPE
    - pfree
    - rt_band_get_summary_stats
    - rt_band_get_histogram
    - errmsg
    - SRF_RETURN_NEXT
    - Int64GetDatum
    - get_typlenbyvalalign
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_histogram(PG_FUNCTION_ARGS)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1208,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1236,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1239,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1242,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1243,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1244,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1246,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1246,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1248,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1250,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1251,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1252,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1253,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1257,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1258,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1260,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1261,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1262,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1263,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1264,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1268,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1269,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1272,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1273,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1275,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1276,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1277,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1278,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1279,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1281,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1288,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1289,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1290,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1291,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1298,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1299,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1300,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1301,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1302,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1306,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1309,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1315,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1318,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1323,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1324,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1325,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1326,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1327,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1328,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1332,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1338,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1344,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1346,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1347,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1348,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1349,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1350,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1354,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1355,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1356,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1357,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1359,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1360,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1361,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1364,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1365,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1366,1
    - Dst: rt_band_get_quantiles
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1370,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1371,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1372,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1374,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1375,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1376,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1379,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1388,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1389,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1390,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1391,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1398,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1401,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1405,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1419,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1421,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1423,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1424,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1427,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1430,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1432,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1436,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1437,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1196
    functionDepth: 4
    functionLinenumber: 1196
    functionLinenumberEnd: 1439
    functionName: RASTER_quantile
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - SRF_RETURN_DONE
    - FLT_EQ
    - rt_band_get_quantiles
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - deconstruct_array
    - ereport
    - DatumGetFloat4
    - HeapTupleGetDatum
    - DatumGetFloat8
    - ARR_ELEMTYPE
    - pfree
    - rt_band_get_summary_stats
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_quantile(PG_FUNCTION_ARGS)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1457,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1483,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1486,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1489,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1490,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1491,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1493,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1493,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1495,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1497,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1498,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1499,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1500,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1504,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1505,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1507,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1508,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1509,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1510,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1511,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1515,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1516,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1519,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1520,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1521,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1522,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1529,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1530,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1531,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1532,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1533,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1537,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1540,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1546,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1549,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1553,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1559,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1565,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1566,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1571,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1573,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1574,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1575,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1576,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1577,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1581,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1582,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1583,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1584,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1586,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1587,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1588,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1591,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1600,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1601,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1602,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1603,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1610,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1613,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1617,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1631,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1633,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1635,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1636,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1637,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1640,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1643,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1645,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1649,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1650,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1446
    functionDepth: 3
    functionLinenumber: 1446
    functionLinenumberEnd: 1652
    functionName: RASTER_valueCount
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - UInt32GetDatum
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - rt_band_get_value_count
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - deconstruct_array
    - rt_raster_get_num_bands
    - PG_GETARG_FLOAT8
    - ereport
    - DatumGetFloat4
    - HeapTupleGetDatum
    - DatumGetFloat8
    - ARR_ELEMTYPE
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_valueCount(PG_FUNCTION_ARGS)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1668,1
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1671,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1712,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1715,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1718,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1719,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1720,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1721,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1723,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1724,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1725,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1726,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1727,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1728,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1730,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1733,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1734,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1735,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1736,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1738,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1739,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1740,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1741,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1742,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1743,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1745,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1748,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1749,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1752,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1753,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1756,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1757,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1758,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1759,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1766,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1767,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1768,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1772,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1775,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1781,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1784,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1788,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1794,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1800,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1801,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1807,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1810,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1812,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1813,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1814,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1818,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1818,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1818,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1819,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1822,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1823,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1825,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1827,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1828,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1829,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1833,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1834,1
    - Dst: SPI_cursor_open_with_args
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1835,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1842,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1845,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1850,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1853,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1854,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1855,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1857,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1858,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1860,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1861,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1862,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1865,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1869,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1871,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1874,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1875,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1876,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1878,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1879,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1881,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1882,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1883,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1887,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1889,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1891,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1893,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1894,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1895,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1897,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1898,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1900,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1901,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1905,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1907,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1909,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1911,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1912,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1913,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1915,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1916,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1918,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1919,1
    - Dst: rt_band_get_value_count
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1923,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1924,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1925,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1927,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1929,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1930,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1931,1
    - Dst: free
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1933,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1934,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1936,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1937,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1940,1
    - Dst: SPI_palloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1943,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1946,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1947,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1948,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1950,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1952,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1953,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1954,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1970,1
    - Dst: SPI_repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1981,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1983,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1984,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1985,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1987,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1989,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1990,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:1991,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2003,1
    - Dst: SPI_cursor_fetch
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2006,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2009,1
    - Dst: SPI_cursor_close
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2010,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2011,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2013,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2027,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2028,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2029,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2030,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2037,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2040,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2044,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2058,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2060,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2062,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2063,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2064,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2067,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2070,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2072,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2076,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_statistics.c:2077,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 268
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 1656
    functionDepth: 3
    functionLinenumber: 1656
    functionLinenumberEnd: 2079
    functionName: RASTER_valueCountCoverage
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_statistics.c
    functionUses: 0
    functionsReached:
    - SPI_finish
    - Float8GetDatum
    - SRF_RETURN_DONE
    - FLT_EQ
    - UInt32GetDatum
    - rt_raster_destroy
    - rt_band_get_value_count
    - SPI_getbinval
    - PG_GETARG_TEXT_P
    - SPI_cursor_close
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - snprintf
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - text_to_cstring
    - strlen
    - SPI_cursor_open_with_args
    - PG_GETARG_INT32
    - SPI_freetuptable
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - ereport
    - SPI_cursor_fetch
    - DatumGetFloat4
    - HeapTupleGetDatum
    - DatumGetFloat8
    - free
    - ARR_ELEMTYPE
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_typlenbyvalalign
    - SPI_repalloc
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - PG_GETARG_ARRAYTYPE_P
    - SPI_palloc
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - SPI_connect
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_valueCountCoverage(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: xstr
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xstr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: str
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:53,1
    - Dst: xstr
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:53,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:56,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: RASTER_lib_version
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 0
    functionsReached:
    - PG_RETURN_TEXT_P
    - xstr
    - cstring_to_text
    - snprintf
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_lib_version(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:65,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:65,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:66,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:66,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:67,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:67,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:67,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: RASTER_lib_build_date
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 0
    functionsReached:
    - palloc
    - strlen
    - VARDATA
    - SET_VARSIZE
    - memcpy
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_lib_build_date(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rt_util_gdal_version
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:74,1
    - Dst: rt_util_gdal_configured
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:78,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:80,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:80,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:81,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:83,1
    - Dst: snprintf
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:85,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:86,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:87,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:91,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: RASTER_gdal_version
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 0
    functionsReached:
    - palloc
    - snprintf
    - rt_util_gdal_version
    - strlen
    - pfree
    - cstring_to_text
    - rt_util_gdal_configured
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_gdal_version(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:104,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:105,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:107,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:108,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:110,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:112,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:113,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:116,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 137
    functionName: RASTER_minPossibleValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 0
    functionsReached:
    - rt_pixtype_get_min_value
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_pixtype_index_from_name
    - text_to_cstring
    - PG_GETARG_TEXT_P
    - PG_RETURN_FLOAT8
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_minPossibleValue(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:144,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:144,1
    - Dst: VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:145,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:146,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_utility.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: RASTER_memsize
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_utility.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - VARSIZE
    - PG_RETURN_INT32
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_memsize(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:81,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:81,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:82,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:82,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:85,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:87,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:88,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:89,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:92,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:94,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:95,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:96,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:100,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:102,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:103,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:104,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:105,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:108,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:110,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:111,1
    - Dst: PG_RETURN_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: RASTER_getBandPixelType
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_band
    - PG_RETURN_INT32
    - PG_GETARG_INT32
    - rt_band_get_pixtype
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandPixelType(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:135,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:135,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:136,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:136,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:139,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:141,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:142,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:143,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:146,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:148,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:149,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:150,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:154,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:156,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:157,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:158,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:159,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:162,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:164,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:169,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:169,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:171,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:171,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:173,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:174,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:176,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:177,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 180
    functionName: RASTER_getBandPixelTypeName
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - strcpy
    - rt_raster_destroy
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - memset
    - rt_raster_deserialize
    - elog
    - strlen
    - PG_GETARG_INT32
    - PG_RETURN_TEXT_P
    - VARDATA
    - palloc
    - PG_DETOAST_DATUM
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_pixtype_name
    - rt_band_get_pixtype
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandPixelTypeName(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:196,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:196,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:197,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:197,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:200,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:202,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:203,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:204,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:207,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:209,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:210,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:211,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:215,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:217,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:218,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:219,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:220,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:223,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:225,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:226,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:227,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:230,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:232,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:233,1
    - Dst: PG_RETURN_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 236
    functionName: RASTER_getBandNoDataValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_raster_deserialize
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - PG_GETARG_INT32
    - PG_RETURN_FLOAT8
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandNoDataValue(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:250,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:252,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:253,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:257,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:257,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:258,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:258,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:260,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:262,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:263,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:264,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:268,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:270,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:271,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:272,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:273,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:276,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:279,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:279,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:281,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:282,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 285
    functionName: RASTER_bandIsNoData
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_DATUM
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_BOOL
    - rt_band_check_is_nodata
    - rt_raster_get_band
    - rt_band_get_isnodata_flag
    - PG_RETURN_BOOL
    - PG_GETARG_INT32
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_bandIsNoData(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:301,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:303,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:304,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:308,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:308,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:309,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:309,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:311,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:313,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:314,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:315,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:319,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:321,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:326,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:327,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:328,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:331,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:333,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:334,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:335,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:336,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:339,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:341,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:342,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:343,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 346
    functionName: RASTER_getBandPath
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_band_get_ext_path
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_DATUM
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_band
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_GETARG_INT32
    - rt_band_destroy
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandPath(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:362,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:364,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:365,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:368,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:368,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:369,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:369,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:371,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:373,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:374,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:375,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:379,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:381,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:386,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:387,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:388,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:391,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:392,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:393,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:394,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:395,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:396,1
    - Dst: rt_band_get_file_size
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:399,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:401,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:402,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:403,1
    - Dst: PG_RETURN_INT64
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 406
    functionName: RASTER_getBandFileSize
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_band_is_offline
    - PG_RETURN_INT64
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_DATUM
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_band_get_file_size
    - rt_raster_get_band
    - PG_GETARG_INT32
    - rt_band_destroy
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandFileSize(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:421,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:423,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:424,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:427,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:427,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:428,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:428,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:430,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:432,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:433,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:434,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:438,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:440,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:445,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:446,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:447,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:450,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:451,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:452,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:453,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:454,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:455,1
    - Dst: rt_band_get_file_timestamp
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:458,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:460,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:461,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:462,1
    - Dst: PG_RETURN_INT64
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 465
    functionName: RASTER_getBandFileTimestamp
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - PG_DETOAST_DATUM
    - rt_band_is_offline
    - PG_RETURN_INT64
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_DATUM
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_band
    - rt_band_get_file_timestamp
    - PG_GETARG_INT32
    - rt_band_destroy
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getBandFileTimestamp(PG_FUNCTION_ARGS)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:498,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:523,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:526,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:529,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:532,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:533,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:534,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:535,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:536,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:543,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:547,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:548,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:552,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:555,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:555,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:558,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:560,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:561,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:562,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:563,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:567,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:569,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:570,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:571,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:572,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:576,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:581,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:582,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:583,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:590,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:591,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:592,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:593,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:594,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:598,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:601,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:607,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:610,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:614,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:616,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:617,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:618,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:619,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:620,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:624,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:629,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:635,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:640,1
    - Dst: palloc0
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:642,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:645,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:647,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:648,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:649,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:653,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:661,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:661,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:662,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:663,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:664,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:667,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:674,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:679,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:681,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:682,1
    - Dst: strncpy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:683,1
    - Dst: rt_band_get_ext_band_num
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:692,1
    - Dst: VSIStatL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:701,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:707,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:710,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:711,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:719,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:725,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:741,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:741,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:742,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:745,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:747,1
    - Dst: CStringGetTextDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:748,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:751,1
    - Dst: BoolGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:755,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:756,1
    - Dst: CStringGetTextDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:757,1
    - Dst: UInt32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:758,1
    - Dst: UInt64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:767,1
    - Dst: UInt64GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:768,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:777,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:780,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:783,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:784,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:786,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:790,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:791,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 793
    functionName: RASTER_bandmetadata
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - Float8GetDatum
    - rt_band_get_ext_path
    - SRF_RETURN_DONE
    - UInt32GetDatum
    - rt_raster_destroy
    - UInt64GetDatum
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - repalloc
    - BoolGetDatum
    - SRF_IS_FIRSTCALL
    - strlen
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - deconstruct_array
    - ereport
    - VSIStatL
    - strncpy
    - HeapTupleGetDatum
    - ARR_ELEMTYPE
    - pfree
    - rt_band_get_ext_band_num
    - errmsg
    - SRF_RETURN_NEXT
    - get_typlenbyvalalign
    - get_call_result_type
    - DatumGetInt16
    - palloc0
    - palloc
    - CStringGetTextDatum
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - MemoryContextSwitchTo
    - rt_band_get_pixtype
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_bandmetadata(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:811,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:812,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:813,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:813,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:816,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:819,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:821,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:825,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:827,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:828,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:829,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:834,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:836,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:839,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:840,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:842,1
    - Dst: rt_band_set_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:844,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:845,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:849,1
    - Dst: rt_band_set_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:852,1
    - Dst: rt_band_check_is_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:856,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:861,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:862,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:863,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:865,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:867,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:868,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 869
    functionName: RASTER_setBandNoDataValue
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_raster_destroy
    - PG_RETURN_NULL
    - rt_band_check_is_nodata
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - PG_GETARG_INT32
    - PG_GETARG_FLOAT8
    - PG_RETURN_POINTER
    - rt_band_set_hasnodata_flag
    - PG_DETOAST_DATUM
    - PG_ARGISNULL
    - rt_band_set_nodata
    - rt_raster_get_band
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setBandNoDataValue(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:883,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:884,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:885,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:885,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:887,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:889,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:890,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:891,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:895,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:898,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:901,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:904,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:907,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:909,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:910,1
    - Dst: rt_band_set_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:914,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:920,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:921,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:922,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:923,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:925,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 927
    functionName: RASTER_setBandIsNoData
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_band
    - PG_GETARG_DATUM
    - rt_band_set_isnodata_flag
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setBandIsNoData(PG_FUNCTION_ARGS)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:948,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:949,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:950,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:950,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:952,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:954,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:955,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:956,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:960,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:961,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:964,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:967,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:970,1
    - Dst: rt_band_is_offline
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:971,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:972,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:976,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:977,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:977,1
    - Dst: rt_band_get_ext_path
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:979,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:982,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:983,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:986,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:987,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:989,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:991,1
    - Dst: rt_band_new_offline_from_path
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:993,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:994,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:995,1
    - Dst: rt_raster_replace_band
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1003,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1004,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1007,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1012,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1013,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1014,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1015,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1017,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_band_properties.c:1018,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 933
    functionDepth: 4
    functionLinenumber: 933
    functionLinenumberEnd: 1019
    functionName: RASTER_setBandPath
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - rt_band_get_ext_path
    - rt_raster_destroy
    - PG_RETURN_NULL
    - rt_raster_replace_band
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - SET_VARSIZE
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - text_to_cstring
    - PG_GETARG_INT32
    - rt_band_new_offline_from_path
    - rt_raster_get_width
    - PG_RETURN_POINTER
    - PG_DETOAST_DATUM
    - rt_band_is_offline
    - rt_band_get_hasnodata_flag
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_height
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_setBandPath(PG_FUNCTION_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: POSTGIS_RT_DEBUG
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_RT_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: POSTGIS_RT_DEBUGF
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_RT_DEBUGF(level, msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: POSTGIS_RT_DEBUG
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_RT_DEBUG(level, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - msg
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: POSTGIS_RT_DEBUGF
    functionSourceFile: /src/postgis/raster/rt_pg/rtpostgis.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POSTGIS_RT_DEBUGF(level, msg, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:92,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:94,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:95,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:97,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:99,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:99,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:104,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:108,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:109,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:111,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:112,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:116,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:118,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:121,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:122,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:124,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:128,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:129,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:131,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:134,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:135,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:137,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:143,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:144,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:153,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:155,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:156,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:158,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:162,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:162,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:164,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:165,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:167,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:168,1
    - Dst: rt_raster_intersects
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:171,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:177,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:178,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:182,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:183,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:186,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 74
    functionDepth: 11
    functionLinenumber: 74
    functionLinenumberEnd: 187
    functionName: RASTER_intersects
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - rt_raster_intersects
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_intersects(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:211,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:213,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:214,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:216,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:218,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:218,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:223,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:227,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:228,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:230,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:231,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:235,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:237,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:240,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:241,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:243,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:247,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:248,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:250,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:253,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:254,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:256,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:262,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:263,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:272,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:274,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:275,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:277,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:281,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:281,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:283,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:284,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:287,1
    - Dst: rt_raster_overlaps
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:290,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:296,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:297,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:301,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:302,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:305,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 193
    functionDepth: 12
    functionLinenumber: 193
    functionLinenumberEnd: 306
    functionName: RASTER_overlaps
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - rt_raster_overlaps
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_overlaps(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:330,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:332,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:333,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:335,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:337,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:337,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:342,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:346,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:347,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:349,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:350,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:354,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:356,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:359,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:360,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:362,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:366,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:367,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:369,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:372,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:373,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:375,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:381,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:382,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:391,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:393,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:394,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:396,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:400,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:400,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:402,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:403,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:405,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:406,1
    - Dst: rt_raster_touches
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:409,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:415,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:416,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:420,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:421,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:424,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 312
    functionDepth: 12
    functionLinenumber: 312
    functionLinenumberEnd: 425
    functionName: RASTER_touches
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - rt_raster_touches
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_touches(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:449,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:451,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:452,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:454,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:456,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:456,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:461,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:465,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:466,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:468,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:469,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:473,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:475,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:478,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:479,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:481,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:485,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:486,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:488,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:491,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:492,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:494,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:500,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:501,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:510,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:512,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:513,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:515,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:519,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:519,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:521,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:522,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:524,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:525,1
    - Dst: rt_raster_contains
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:528,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:534,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:535,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:539,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:540,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:543,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 431
    functionDepth: 12
    functionLinenumber: 431
    functionLinenumberEnd: 544
    functionName: RASTER_contains
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_contains
    - rt_raster_get_srid
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_contains(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:568,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:570,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:571,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:573,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:575,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:575,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:580,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:584,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:585,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:587,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:588,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:592,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:594,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:597,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:598,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:600,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:604,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:605,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:607,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:610,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:611,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:613,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:619,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:620,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:629,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:631,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:632,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:634,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:638,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:638,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:640,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:641,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:643,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:644,1
    - Dst: rt_raster_contains_properly
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:647,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:653,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:654,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:658,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:659,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:662,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 550
    functionDepth: 12
    functionLinenumber: 550
    functionLinenumberEnd: 663
    functionName: RASTER_containsProperly
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - rt_raster_contains_properly
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_containsProperly(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:687,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:689,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:690,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:692,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:694,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:694,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:699,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:703,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:704,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:706,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:707,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:711,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:713,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:716,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:717,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:719,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:723,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:724,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:726,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:729,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:730,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:732,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:738,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:739,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:748,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:750,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:751,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:753,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:757,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:757,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:759,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:760,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:762,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:763,1
    - Dst: rt_raster_covers
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:766,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:772,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:773,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:777,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:778,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:781,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 669
    functionDepth: 12
    functionLinenumber: 669
    functionLinenumberEnd: 782
    functionName: RASTER_covers
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_covers
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_covers(PG_FUNCTION_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:806,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:808,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:809,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:811,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:813,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:813,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:818,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:822,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:823,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:825,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:826,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:830,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:832,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:835,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:836,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:838,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:842,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:843,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:845,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:848,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:849,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:851,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:857,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:858,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:867,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:869,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:870,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:872,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:876,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:876,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:878,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:879,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:881,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:882,1
    - Dst: rt_raster_coveredby
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:885,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:891,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:892,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:896,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:897,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:900,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 788
    functionDepth: 12
    functionLinenumber: 788
    functionLinenumberEnd: 901
    functionName: RASTER_coveredby
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - rt_raster_coveredby
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_coveredby(PG_FUNCTION_ARGS)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:926,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:928,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:929,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:931,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:933,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:933,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:938,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:942,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:943,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:945,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:946,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:950,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:952,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:955,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:956,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:958,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:962,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:963,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:965,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:968,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:969,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:971,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:977,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:978,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:983,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:984,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:986,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:987,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:989,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:992,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:994,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:996,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:997,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:999,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1007,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1009,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1010,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1012,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1016,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1016,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1018,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1019,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1021,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1022,1
    - Dst: rt_raster_within_distance
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1025,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1032,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1033,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1037,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1038,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1041,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 1042
    functionName: RASTER_dwithin
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_get_srid
    - rt_raster_within_distance
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_dwithin(PG_FUNCTION_ARGS)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1067,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1069,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1070,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1072,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1074,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1074,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1079,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1083,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1084,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1086,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1087,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1091,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1093,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1096,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1097,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1099,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1103,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1104,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1106,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1109,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1110,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1112,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1118,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1119,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1124,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1125,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1127,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1128,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1130,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1133,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1135,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1137,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1138,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1140,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1148,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1150,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1151,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1153,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1157,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1157,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1159,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1160,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1162,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1163,1
    - Dst: rt_raster_fully_within_distance
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1166,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1173,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1174,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1178,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1179,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1182,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1048
    functionDepth: 5
    functionLinenumber: 1048
    functionLinenumberEnd: 1183
    functionName: RASTER_dfullywithin
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_fully_within_distance
    - rt_raster_get_srid
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_dfullywithin(PG_FUNCTION_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1205,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1207,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1208,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1210,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1212,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1212,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1217,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1221,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1222,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1224,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1225,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1229,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1236,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1237,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1241,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1242,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1247,1
    - Dst: PG_RETURN_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1189
    functionDepth: 3
    functionLinenumber: 1189
    functionLinenumberEnd: 1250
    functionName: RASTER_sameAlignment
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_same_alignment
    - PG_RETURN_BOOL
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_sameAlignment(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1273,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1275,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1276,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1278,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1280,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1280,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1285,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1289,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1290,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1292,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1293,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1297,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1304,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1305,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1309,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1310,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1313,1
    - Dst: PG_RETURN_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c:1314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1315
    functionName: RASTER_notSameAlignmentReason
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - rt_raster_deserialize
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - rt_raster_same_alignment
    - cstring_to_text
    - PG_RETURN_TEXT_P
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - PG_FREE_IF_COPY
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_notSameAlignmentReason(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:128,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 160
    functionName: rtpg_nmapalgebra_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - elog
    linkageType: ''
    returnType: rtpg_nmapalgebra_arg
    signature: rtpg_nmapalgebra_arg rtpg_nmapalgebra_arg_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:170,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:173,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:174,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:175,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:176,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:177,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:181,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:183,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_nmapalgebra_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: rtpg_nmapalgebra_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_nmapalgebra_arg_destroy(rtpg_nmapalgebra_arg arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:206,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:210,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:211,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:213,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:221,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:227,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:228,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:229,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:230,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:231,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:232,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:233,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:243,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:258,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:267,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:269,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:274,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:275,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:277,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:288,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:293,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:301,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:302,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:304,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:310,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:319,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:320,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:323,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:326,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:329,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:334,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:337,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:342,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:343,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:344,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:345,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:346,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:347,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:356,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:361,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 109
    argCount: 5
    argNames:
    - arg
    - array
    - allnull
    - allempty
    - noband
    argTypes:
    - rtpg_nmapalgebra_arg
    - ArrayType*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 364
    functionName: rtpg_nmapalgebra_rastbandarg_process
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - DatumGetPointer
    - POSTGIS_RT_DEBUGF
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - rt_raster_deserialize
    - elog
    - GetAttributeByName
    - rt_raster_is_empty
    - repalloc
    - ARR_ELEMTYPE
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - get_typlenbyvalalign
    - rt_raster_has_band
    linkageType: ''
    returnType: int
    signature: int rtpg_nmapalgebra_rastbandarg_process(rtpg_nmapalgebra_arg arg,
      ArrayType *array, int *allnull, int *allempty, int *noband)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:405,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:406,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:408,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:420,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:421,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:425,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:435,1
    - Dst: construct_md_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:438,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:444,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:445,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:447,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:448,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:450,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:451,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:454,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:472,1
    - Dst: construct_md_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:480,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:486,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:487,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:489,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:490,1
    - Dst: FunctionCallInvoke
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:493,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:494,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:495,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:502,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:505,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:508,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:511,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 519
    functionName: rtpg_nmapalgebra_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_RT_DEBUGF
    - memset
    - Float8GetDatum
    - DatumGetInt32
    - PointerGetDatum
    - DatumGetFloat4
    - elog
    - DatumGetFloat8
    - pfree
    - construct_md_array
    - get_typlenbyvalalign
    - DatumGetInt16
    - FunctionCallInvoke
    linkageType: ''
    returnType: int
    signature: "int rtpg_nmapalgebra_callback(\n\trt_iterator_arg arg, void *userarg,\n\tdouble
      *value, int *nodata\n)"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:552,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:554,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:555,1
    - Dst: rtpg_nmapalgebra_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:558,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:560,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:561,1
    - Dst: rtpg_nmapalgebra_rastbandarg_process
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:565,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:565,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:566,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:567,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:568,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:571,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:575,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:576,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:577,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:581,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:582,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:582,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:585,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:587,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:588,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:589,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:594,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:595,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:600,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:601,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:606,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:607,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:608,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:612,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:613,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:613,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:613,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:613,1
    - Dst: rt_util_extent_type
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:614,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:616,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:620,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:621,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:622,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:623,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:626,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:626,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:629,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:631,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:632,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:633,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:635,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:636,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:637,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:639,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:641,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:642,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:645,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:646,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:647,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:649,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:650,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:656,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:657,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:661,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:662,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:663,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:670,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:671,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:672,1
    - Dst: ARR_NDIM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:675,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:678,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:679,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:680,1
    - Dst: ARR_DIMS
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:683,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:686,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:687,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:688,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:691,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:700,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:701,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:703,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:704,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:705,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:709,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:710,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:712,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:713,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:727,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:731,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:753,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:753,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:765,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:770,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:774,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:776,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:778,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:779,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:782,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:783,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:784,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:786,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:787,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:791,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:791,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:792,1
    - Dst: PG_GETARG_OID
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:793,1
    - Dst: fmgr_info
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:796,1
    - Dst: get_func_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:810,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:834,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:837,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:840,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:843,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:846,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:849,1
    - Dst: func_volatile
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:852,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:853,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:856,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:867,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:868,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:873,1
    - Dst: construct_empty_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:873,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:883,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:884,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:885,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:910,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:914,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:918,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:919,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:921,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:923,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:923,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:926,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:928,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:929,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:930,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:941,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:954,1
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:955,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:958,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:959,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:962,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:964,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:965,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:967,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:970,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:972,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:973,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 290
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 974
    functionName: RASTER_nMapAlgebra
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - func_volatile
    - ARR_DIMS
    - rt_util_extent_type
    - rt_raster_destroy
    - fmgr_info
    - ARR_NDIM
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rtpg_nmapalgebra_arg_init
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - rtpg_nmapalgebra_arg_destroy
    - rt_band_get_min_value
    - POSTGIS_RT_DEBUGF
    - InitFunctionCallInfoData
    - get_fn_expr_argtype
    - rtpg_strtoupper
    - rtpg_trim
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - text_to_cstring
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - get_func_result_type
    - rt_raster_new
    - DatumGetFloat4
    - PointerGetDatum
    - rt_raster_iterator
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - construct_empty_array
    - pfree
    - ARR_ELEMTYPE
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - PG_GETARG_OID
    - rt_raster_get_band
    - rt_band_get_nodata
    - rtpg_nmapalgebra_rastbandarg_process
    - rt_pixtype_name
    - rt_band_get_pixtype
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_nMapAlgebra(PG_FUNCTION_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1015,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1017,1
    - Dst: rtpg_nmapalgebra_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1021,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1023,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1034,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1036,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - cnt
    - kw
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1048
    functionName: rtpg_nmapalgebraexpr_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - memset
    - elog
    - rtpg_nmapalgebra_arg_init
    linkageType: ''
    returnType: rtpg_nmapalgebraexpr_arg
    signature: rtpg_nmapalgebraexpr_arg rtpg_nmapalgebraexpr_arg_init(int cnt, char
      **kw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpg_nmapalgebra_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1053,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1057,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1059,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_nmapalgebraexpr_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1063
    functionName: rtpg_nmapalgebraexpr_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - SPI_freeplan
    - rtpg_nmapalgebra_arg_destroy
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_nmapalgebraexpr_arg_destroy(rtpg_nmapalgebraexpr_arg arg)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1168,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1171,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1172,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1183,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1190,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1194,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1201,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1208,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1212,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1219,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1226,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1230,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1237,1
    - Dst: SPI_execute_plan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1247,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1249,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1258,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1260,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1261,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1266,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1267,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1286,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1289,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 148
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1291
    functionName: rtpg_nmapalgebraexpr_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - memset
    - Float8GetDatum
    - SPI_execute_plan
    - elog
    - DatumGetFloat8
    - SPI_getbinval
    - SPI_freetuptable
    - POSTGIS_RT_DEBUG
    - Int32GetDatum
    linkageType: ''
    returnType: int
    signature: "int rtpg_nmapalgebraexpr_callback(\n\trt_iterator_arg arg, void *userarg,\n\tdouble
      *value, int *nodata\n)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1338,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1339,1
    - Dst: rtpg_nmapalgebraexpr_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1342,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1344,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1345,1
    - Dst: rtpg_nmapalgebra_rastbandarg_process
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1349,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1349,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1350,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1351,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1352,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1355,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1359,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1360,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1361,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1371,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1372,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1372,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1375,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1377,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1378,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1379,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1382,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1385,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1386,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1386,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1386,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1386,1
    - Dst: rt_util_extent_type
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1387,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1392,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1396,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1403,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1406,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1408,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1414,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1419,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1423,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1425,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1427,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1428,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1431,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1432,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1433,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1435,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1436,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1440,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1441,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1442,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1443,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1460,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1463,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1463,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1464,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1469,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1470,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1474,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1478,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1484,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1484,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1484,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1485,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1487,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1488,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1489,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1490,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1493,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1493,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1494,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1494,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1494,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1495,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1495,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1495,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1495,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1498,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1502,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1503,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1505,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1506,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1507,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1508,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1509,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1518,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1519,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1520,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1521,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1522,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1523,1
    - Dst: SPI_prepare
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1533,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1534,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1535,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1538,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1539,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1540,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1541,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1546,1
    - Dst: SPI_execute
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1547,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1548,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1551,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1552,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1553,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1554,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1562,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1564,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1565,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1566,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1567,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1568,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1573,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1576,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1603,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1607,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1611,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1612,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1614,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1616,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1616,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1619,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1621,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1622,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1623,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1624,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1635,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1647,1
    - Dst: rtpg_nmapalgebraexpr_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1648,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1651,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1652,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1653,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1656,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1657,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1661,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1663,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1664,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1667,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1670,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1672,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1673,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 224
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1294
    functionDepth: 5
    functionLinenumber: 1294
    functionLinenumberEnd: 1674
    functionName: RASTER_nMapAlgebraExpr
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - SPI_finish
    - rt_util_extent_type
    - rt_raster_destroy
    - strstr
    - PG_RETURN_NULL
    - SPI_getbinval
    - PG_GETARG_TEXT_P
    - sprintf
    - rt_band_get_min_value
    - POSTGIS_RT_DEBUGF
    - rtpg_strtoupper
    - rtpg_trim
    - SPI_execute
    - elog
    - text_to_cstring
    - strlen
    - SPI_freetuptable
    - PG_GETARG_FLOAT8
    - rt_raster_new
    - rt_raster_iterator
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - pfree
    - SPI_prepare
    - rtpg_nmapalgebraexpr_arg_destroy
    - PG_RETURN_POINTER
    - rtpg_strreplace
    - palloc
    - rt_band_get_hasnodata_flag
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - SPI_connect
    - rt_raster_get_band
    - rt_band_get_nodata
    - rtpg_nmapalgebra_rastbandarg_process
    - rt_pixtype_name
    - MemoryContextSwitchTo
    - rt_band_get_pixtype
    - SET_VARSIZE
    - memcpy
    - rtpg_nmapalgebraexpr_arg_init
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_nMapAlgebraExpr(PG_FUNCTION_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1693,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1693,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1695,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1697,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1699,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1701,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1703,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1705,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1707,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1709,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - cutype
    argTypes:
    - char*
    assertStmts:
    - condition: (cutype && strlen(cutype) > 0)
      pos:
        line_end: 1692
        line_start: 1692
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    constantsTouched: []
    func_position:
      end: 1713
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1713
    functionName: rtpg_uniontype_index_from_name
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    - strlen
    linkageType: ''
    returnType: rtpg_union_type
    signature: rtpg_union_type rtpg_uniontype_index_from_name(const char *cutype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1744,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1745,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1745,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1746,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1749,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1752,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1755,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_union_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1730
    functionDepth: 2
    functionLinenumber: 1730
    functionLinenumberEnd: 1756
    functionName: rtpg_union_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - pfree
    - rt_raster_get_band
    - rt_raster_get_num_bands
    - rt_band_destroy
    linkageType: ''
    returnType: void
    signature: void rtpg_union_arg_destroy(rtpg_union_arg arg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1772,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1784,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1790,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1796,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1843,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1758
    functionDepth: 1
    functionLinenumber: 1758
    functionLinenumberEnd: 1847
    functionName: rtpg_union_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - elog
    linkageType: ''
    returnType: int
    signature: "int rtpg_union_callback(\n\trt_iterator_arg arg, void *userarg,\n\tdouble
      *value, int *nodata\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1861,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1868,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1869,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1871,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1880
    functionName: rtpg_union_mean_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - FLT_NEQ
    - elog
    linkageType: ''
    returnType: int
    signature: "int rtpg_union_mean_callback(\n\trt_iterator_arg arg, void *userarg,\n\tdouble
      *value, int *nodata\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1894,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1901,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1902,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - arg
    - userarg
    - value
    - nodata
    argTypes:
    - rt_iterator_arg
    - void*
    - double*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1882
    functionDepth: 1
    functionLinenumber: 1882
    functionLinenumberEnd: 1915
    functionName: rtpg_union_range_callback
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - POSTGIS_RT_DEBUGF
    - elog
    linkageType: ''
    returnType: int
    signature: "int rtpg_union_range_callback(\n\trt_iterator_arg arg, void *userarg,\n\tdouble
      *value, int *nodata\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1936,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1937,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1939,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1947,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1953,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1955,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1966,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1969,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1971,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1976,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1979,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1982,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1985,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1990,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1992,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1996,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1996,1
    - Dst: rtpg_uniontype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1997,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:1997,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2015,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2017,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 2
    argNames:
    - arg
    - array
    argTypes:
    - rtpg_union_arg
    - ArrayType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 1918
    functionDepth: 1
    functionLinenumber: 1918
    functionLinenumberEnd: 2023
    functionName: rtpg_union_unionarg_process
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - DatumGetPointer
    - POSTGIS_RT_DEBUGF
    - rtpg_strtoupper
    - DatumGetInt32
    - elog
    - GetAttributeByName
    - repalloc
    - text_to_cstring
    - ARR_ELEMTYPE
    - rtpg_uniontype_index_from_name
    - deconstruct_array
    - get_typlenbyvalalign
    linkageType: ''
    returnType: int
    signature: int rtpg_union_unionarg_process(rtpg_union_arg arg, ArrayType *array)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2030,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2033,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2038,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2040,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2042,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2044,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2051,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2056,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2058,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2061,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2064,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2065,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2067,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - arg
    - raster
    argTypes:
    - rtpg_union_arg
    - rt_raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2026
    functionDepth: 5
    functionLinenumber: 2026
    functionLinenumberEnd: 2074
    functionName: rtpg_union_noarg
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - POSTGIS_RT_DEBUGF
    - memset
    - rt_raster_clone
    - repalloc
    - elog
    - rt_raster_is_empty
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    linkageType: ''
    returnType: int
    signature: int rtpg_union_noarg(rtpg_union_arg arg, rt_raster raster)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2116,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2119,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2120,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2121,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2125,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2127,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2128,1
    - Dst: MemoryContextAlloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2130,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2132,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2133,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2134,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2143,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2144,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2149,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2151,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2151,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2154,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2157,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2158,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2160,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2161,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2162,1
    - Dst: PG_NARGS
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2167,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2168,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2170,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2174,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2175,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2183,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2186,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2186,1
    - Dst: rtpg_uniontype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2187,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2187,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2188,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2190,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2194,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2195,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2204,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2205,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2211,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2212,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2220,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2221,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2225,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2227,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2228,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2231,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2232,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2233,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2260,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2261,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2264,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2266,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2267,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2270,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2271,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2272,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2276,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2279,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2281,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2282,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2285,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2286,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2287,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2301,1
    - Dst: rtpg_union_unionarg_process
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2302,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2302,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2304,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2306,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2307,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2310,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2311,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2312,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2320,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2321,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2321,1
    - Dst: rtpg_uniontype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2322,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2322,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2324,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2336,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2342,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2344,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2347,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2349,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2350,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2353,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2354,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2355,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2358,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2361,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2363,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2366,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2368,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2369,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2372,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2373,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2374,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2383,1
    - Dst: rtpg_union_noarg
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2385,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2387,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2389,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2390,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2393,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2394,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2395,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2400,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2403,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2405,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2406,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2409,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2410,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2411,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2425,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2426,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2429,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2431,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2436,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2438,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2442,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2445,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2447,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2448,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2450,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2478,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2478,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2499,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2502,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2508,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2509,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2511,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2512,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2515,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2516,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2517,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2519,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2524,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2524,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2525,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2525,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2530,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2531,1
    - Dst: rt_util_same_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2533,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2539,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2547,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2548,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2549,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2551,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2552,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2555,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2556,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2557,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2559,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2562,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2563,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2565,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2566,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2573,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2574,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2575,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2576,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2578,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2579,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2582,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2583,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2584,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2587,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2588,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2594,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2595,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2596,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2597,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2599,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2600,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2603,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2604,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2605,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2610,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2612,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2616,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2629,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2630,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2632,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2633,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2636,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2637,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2640,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2641,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2642,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2646,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2647,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2648,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2650,1
    - Dst: rt_band_get_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2651,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2658,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2659,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2661,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2662,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2665,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2666,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2669,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2670,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2671,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2674,1
    - Dst: rt_band_set_pixel_line
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2675,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2681,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2682,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2684,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2685,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2688,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2689,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2692,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2693,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2694,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2699,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2700,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2706,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2709,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2723,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2724,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2726,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2727,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2730,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2731,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2732,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2738,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2739,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2739,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2740,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2747,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2749,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2750,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2754,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2756,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2758,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 416
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2078
    functionDepth: 6
    functionLinenumber: 2078
    functionLinenumberEnd: 2759
    functionName: RASTER_union_transfn
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - rt_raster_clone
    - rt_pixtype_get_min_value
    - rt_raster_destroy
    - rtpg_union_arg_destroy
    - PG_RETURN_NULL
    - MemoryContextAlloc
    - rt_raster_is_empty
    - rt_util_same_geotransform_matrix
    - PG_GETARG_TEXT_P
    - PG_GETARG_DATUM
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rtpg_union_unionarg_process
    - POSTGIS_RT_DEBUGF
    - memset
    - get_fn_expr_argtype
    - rtpg_strtoupper
    - rt_raster_deserialize
    - elog
    - repalloc
    - rt_raster_generate_new_band
    - text_to_cstring
    - AggCheckCallContext
    - rtpg_uniontype_index_from_name
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - rt_raster_get_geotransform_matrix
    - rt_raster_iterator
    - rt_raster_get_height
    - PG_NARGS
    - pfree
    - rt_raster_get_width
    - rt_band_get_pixel_line
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - palloc
    - rt_band_set_pixel_line
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - PG_GETARG_ARRAYTYPE_P
    - rtpg_union_noarg
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_from_two_rasters
    - rt_pixtype_name
    - MemoryContextSwitchTo
    - rt_band_get_pixtype
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_union_transfn(PG_FUNCTION_ARGS)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2780,1
    - Dst: AggCheckCallContext
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2783,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2784,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2785,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2789,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2790,1
    - Dst: PG_GETARG_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2792,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2795,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2797,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2798,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2799,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2808,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2810,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2811,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2813,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2814,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2814,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2823,1
    - Dst: rt_raster_iterator
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2836,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2850,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2851,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2853,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2854,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2855,1
    - Dst: rt_raster_from_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2867,1
    - Dst: rt_raster_copy_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2871,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2873,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2880,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2886,1
    - Dst: rtpg_union_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2891,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2892,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2893,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2894,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2906,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2908,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2909,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2911,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2914,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2916,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2917,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2763
    functionDepth: 5
    functionLinenumber: 2763
    functionLinenumberEnd: 2918
    functionName: RASTER_union_finalfn
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - PG_GETARG_POINTER
    - rt_raster_serialize
    - rt_raster_destroy
    - rtpg_union_arg_destroy
    - PG_RETURN_NULL
    - rt_raster_copy_band
    - POSTGIS_RT_DEBUGF
    - elog
    - AggCheckCallContext
    - POSTGIS_RT_DEBUG
    - rt_raster_from_band
    - rt_raster_iterator
    - pfree
    - PG_RETURN_POINTER
    - palloc
    - rt_band_get_hasnodata_flag
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - rt_band_get_pixtype
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_union_finalfn(PG_FUNCTION_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2944,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2957
    functionName: rtpg_clip_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - elog
    linkageType: ''
    returnType: rtpg_clip_arg
    signature: rtpg_clip_arg rtpg_clip_arg_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2961,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2964,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2966,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:2968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_clip_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2959
    functionDepth: 2
    functionLinenumber: 2959
    functionLinenumberEnd: 2969
    functionName: rtpg_clip_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_clip_arg_destroy(rtpg_clip_arg arg)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3026,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3029,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3029,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3030,1
    - Dst: rtpg_clip_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3033,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3035,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3036,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3040,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3040,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3043,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3045,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3046,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3047,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3048,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3052,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3052,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3053,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3055,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3056,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3058,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3060,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3061,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3064,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3065,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3067,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3069,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3070,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3074,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3075,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3075,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3078,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3079,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3082,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3083,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3084,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3089,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3089,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3090,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3092,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3093,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3094,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3095,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3097,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3101,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3101,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3105,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3107,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3108,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3109,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3110,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3112,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3113,1
    - Dst: lwgeom_intersection
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3116,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3117,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3118,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3119,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3123,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3124,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3126,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3127,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3128,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3130,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3132,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3133,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3136,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3137,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3139,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3141,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3142,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3146,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3147,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3148,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3149,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3156,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3157,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3158,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3159,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3160,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3164,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3170,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3172,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3173,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3174,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3175,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3176,1
    - Dst: DatumGetInt16
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3184,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3187,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3195,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3197,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3198,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3199,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3200,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3201,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3209,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3210,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3211,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3212,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3213,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3214,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3222,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3226,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3229,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3230,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3231,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3233,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3234,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3246,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3247,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3248,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3249,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3256,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3257,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3258,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3259,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3260,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3264,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3282,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3285,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3292,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3293,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3294,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3297,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3297,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3299,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3300,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3300,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3301,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3306,1
    - Dst: rt_raster_gdal_rasterize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3311,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3312,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3332,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3334,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3337,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3338,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3339,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3340,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3344,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3346,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3347,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3349,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3350,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3351,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3352,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3353,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3356,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3357,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3359,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3362,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3365,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3371,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3373,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3377,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3380,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3381,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3382,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3383,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3384,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3387,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3391,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3411,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3412,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3413,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3414,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3415,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3425,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3426,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3427,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3428,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3429,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3436,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3437,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3438,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3439,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3440,1
    - Dst: rtpg_clip_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3446,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3447,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3449,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3450,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3452,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3455,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3457,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3458,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 300
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 2972
    functionDepth: 12
    functionLinenumber: 2972
    functionLinenumberEnd: 3459
    functionName: RASTER_clip
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - lwgeom_free
    - strcpy
    - rt_raster_get_convex_hull
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_band_get_pixtype
    - lwgeom_intersection
    - lwgeom_to_wkb_varlena
    - LWSIZE_GET
    - PG_GETARG_DATUM
    - rt_raster_set_srid
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - rtpg_clip_arg_destroy
    - gserialized_get_srid
    - rt_raster_deserialize
    - elog
    - PG_GETARG_BOOL
    - repalloc
    - rt_raster_generate_new_band
    - clamp_srid
    - strlen
    - PG_GETARG_GSERIALIZED_P
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - deconstruct_array
    - rt_raster_new
    - lwgeom_ndims
    - rt_raster_get_geotransform_matrix
    - DatumGetFloat4
    - DatumGetFloat8
    - lwgeom_force_2d
    - ARR_ELEMTYPE
    - pfree
    - rt_raster_get_width
    - rt_band_set_pixel
    - get_typlenbyvalalign
    - rt_raster_has_band
    - DatumGetInt16
    - PG_RETURN_POINTER
    - palloc
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - DatumGetInt32
    - rtpg_clip_arg_init
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - PG_GETARG_ARRAYTYPE_P
    - rt_raster_gdal_rasterize
    - rt_band_get_isnodata_flag
    - PG_ARGISNULL
    - rt_raster_get_srid
    - rt_raster_from_two_rasters
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_raster_get_height
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_clip(PG_FUNCTION_ARGS)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3514,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3517,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3518,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3519,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3519,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3522,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3524,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3525,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3526,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3528,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3529,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3532,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3533,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3534,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3535,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3537,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3541,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3543,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3544,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3545,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3547,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3549,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3550,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3562,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3564,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3566,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3567,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3568,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3570,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3572,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3573,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3577,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3579,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3581,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3582,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3583,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3585,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3587,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3588,1
    - Dst: DatumGetInt32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3590,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3591,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3595,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3597,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3598,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3599,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3601,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3603,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3604,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3608,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3610,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3612,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3613,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3614,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3616,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3618,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3619,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3621,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3623,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3625,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3626,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3627,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3629,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3631,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3632,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3634,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3635,1
    - Dst: rtpg_removespaces
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3636,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3637,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3641,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3643,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3645,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3646,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3647,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3649,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3651,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3652,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3656,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3657,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3660,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3663,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3665,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3666,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3667,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3669,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3670,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3671,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3673,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3675,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3676,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3680,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3683,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3686,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3688,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3689,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3690,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3692,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3693,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3694,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3696,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3698,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3699,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3706,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3707,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3708,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3709,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3710,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3714,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3714,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3716,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3717,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3718,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3719,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3721,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3722,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3725,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3727,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3727,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3728,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3729,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3733,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3733,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3734,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3738,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3739,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3744,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3745,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3746,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3748,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3749,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3750,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3752,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3754,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3755,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3766,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3767,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3772,1
    - Dst: strrchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3782,1
    - Dst: strrchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3783,1
    - Dst: strrchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3788,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3796,1
    - Dst: rtpg_chartrim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3799,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3800,1
    - Dst: strtod
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3804,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3806,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3807,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3808,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3810,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3811,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3812,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3814,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3816,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3817,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3819,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3823,1
    - Dst: rtpg_strrstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3825,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3826,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3846,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3882,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3884,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3886,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3894,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3897,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3899,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3901,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3902,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3903,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3905,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3907,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3908,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3910,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3912,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3914,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3915,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3916,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3918,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3920,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3921,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3923,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3924,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3925,1
    - Dst: GetAttributeByName
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3928,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3934,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3937,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3938,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3941,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3943,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3944,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3945,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3947,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3948,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3949,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3951,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3953,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3954,1
    - Dst: rt_band_reclass
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3956,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3958,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3959,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3961,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3962,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3964,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3965,1
    - Dst: rt_raster_replace_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3969,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3970,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3971,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3973,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3974,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3975,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3977,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3978,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3982,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3985,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3986,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3989,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3990,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3991,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3993,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3995,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3997,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:3998,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 344
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3465
    functionDepth: 5
    functionLinenumber: 3465
    functionLinenumberEnd: 3999
    functionName: RASTER_reclass
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - strcpy
    - strstr
    - rt_raster_destroy
    - GetAttributeByName
    - PG_RETURN_NULL
    - strtod
    - rt_raster_replace_band
    - PG_GETARG_DATUM
    - sprintf
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - rt_band_destroy
    - rt_raster_deserialize
    - elog
    - repalloc
    - strrchr
    - rtpg_chartrim
    - text_to_cstring
    - strlen
    - rt_band_reclass
    - POSTGIS_RT_DEBUG
    - deconstruct_array
    - rt_raster_get_num_bands
    - rtpg_removespaces
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - rtpg_strrstr
    - ARR_ELEMTYPE
    - pfree
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - rtpg_strsplit
    - PG_DETOAST_DATUM
    - DatumGetInt32
    - PG_GETARG_ARRAYTYPE_P
    - PG_ARGISNULL
    - rt_raster_get_band
    - strchr
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_reclass(PG_FUNCTION_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4025,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4027,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4036,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4053
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4053
    functionName: rtpg_colormap_arg_init
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - palloc
    - elog
    linkageType: ''
    returnType: rtpg_colormap_arg
    signature: rtpg_colormap_arg rtpg_colormap_arg_init(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4059,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4062,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4066,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4067,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4073,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4075,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4080,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4081,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4084,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - rtpg_colormap_arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4055
    functionDepth: 2
    functionLinenumber: 4055
    functionLinenumberEnd: 4086
    functionName: rtpg_colormap_arg_destroy
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_destroy
    - pfree
    linkageType: ''
    returnType: void
    signature: void rtpg_colormap_arg_destroy(rtpg_colormap_arg arg)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4096,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4099,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4100,1
    - Dst: rtpg_colormap_arg_init
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4103,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4105,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4106,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4110,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4110,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4113,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4115,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4116,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4117,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4118,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4122,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4123,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4124,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4127,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4128,1
    - Dst: rt_raster_clone
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4130,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4132,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4133,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4134,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4135,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4138,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4139,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4141,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4142,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4144,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4146,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4147,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4151,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4154,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4155,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4156,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4157,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4161,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4163,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4163,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4164,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4166,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4167,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4168,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4170,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4172,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4174,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4177,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4184,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4187,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4188,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4189,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4190,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4191,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4195,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4195,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4201,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4204,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4205,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4206,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4207,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4208,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4211,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4212,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4214,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4215,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4216,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4217,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4221,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4223,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4224,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4225,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4226,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4228,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4233,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4234,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4235,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4236,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4237,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4238,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4239,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4241,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4242,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4245,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4246,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4247,1
    - Dst: rtpg_strsplit
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4251,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4252,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4254,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4255,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4256,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4257,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4260,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4271,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4272,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4273,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4274,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4282,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4283,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4284,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4286,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4289,1
    - Dst: strchr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4298,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4300,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4304,1
    - Dst: rt_band_get_summary_stats
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4306,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4308,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4309,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4310,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4311,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4312,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4317,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4319,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4320,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4321,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4322,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4323,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4326,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4328,1
    - Dst: strtod
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4332,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4333,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4335,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4336,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4337,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4338,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4339,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4344,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4348,1
    - Dst: strtod
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4359,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4361,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4362,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4363,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4364,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4365,1
    - Dst: strtod
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4375,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4377,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4378,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4379,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4380,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4381,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4385,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4389,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4395,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4398,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4411,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4412,1
    - Dst: rt_raster_colormap
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4416,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4418,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4419,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4420,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4421,1
    - Dst: rtpg_colormap_arg_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4424,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4425,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4426,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4427,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4429,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4432,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4434,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4435,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 233
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4089
    functionDepth: 7
    functionLinenumber: 4089
    functionLinenumberEnd: 4436
    functionName: RASTER_colorMap
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - strcmp
    - rt_raster_clone
    - rt_raster_destroy
    - PG_RETURN_NULL
    - strtod
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - rtpg_colormap_arg_destroy
    - rtpg_trim
    - rtpg_strtoupper
    - rt_raster_deserialize
    - elog
    - text_to_cstring
    - strlen
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_colormap
    - pfree
    - rt_band_get_summary_stats
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - palloc
    - rtpg_strreplace
    - rtpg_strsplit
    - PG_DETOAST_DATUM
    - PG_ARGISNULL
    - rt_raster_get_band
    - strchr
    - rtpg_colormap_arg_init
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_colorMap(PG_FUNCTION_ARGS)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4482,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4485,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4486,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4487,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4492,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4492,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4493,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4495,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4496,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4497,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4500,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4502,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4505,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4511,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4517,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4518,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4520,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4523,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4524,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4525,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4528,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4529,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4530,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4532,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4533,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4534,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4536,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4537,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4538,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4540,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4540,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4547,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4549,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4550,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4551,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4553,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4554,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4557,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4558,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4561,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4562,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4566,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4572,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4573,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4575,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4576,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4578,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4579,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4581,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4582,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4585,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4586,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4590,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4592,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4594,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4595,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4597,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4598,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4600,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4601,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4604,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4605,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4611,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4613,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4614,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4618,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4621,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4634,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4636,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4637,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4641,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4641,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4642,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4643,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4645,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4649,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4650,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4651,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4654,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4655,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4659,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4660,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4660,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4661,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4661,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4661,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4662,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4664,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4664,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4665,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4665,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4665,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4666,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4666,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4666,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4666,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4669,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4685,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4687,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4690,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4703,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4705,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4708,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4713,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4714,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4715,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4718,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4719,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4721,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4722,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4725,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4726,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4734,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4734,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4736,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4739,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4740,1
    - Dst: rt_raster_copy_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4742,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4744,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4745,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4747,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4748,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4749,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4752,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4753,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4755,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4756,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4759,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4760,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4767,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4768,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4770,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4771,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4772,1
    - Dst: SPI_execute
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4776,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4782,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4783,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4785,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4786,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4787,1
    - Dst: SPI_getvalue
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4794,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4796,1
    - Dst: atof
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4799,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4802,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4804,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4807,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4821,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4830,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4842,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4843,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4844,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4847,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4848,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4850,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4851,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4854,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4855,1
    - Dst: RASTER_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4858,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4861,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4863,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4867,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4868,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4869,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4872,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4873,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4875,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4876,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4879,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4880,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4883,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4888,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4889,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4891,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4894,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4895,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4901,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4908,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4911,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4914,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4916,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4917,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4918,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4920,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4921,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4925,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4928,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4930,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4931,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4932,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4934,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4935,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4939,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4943,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4944,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4945,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4946,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4948,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4949,1
    - Dst: SPI_prepare
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4953,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4957,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4958,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4959,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4961,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4963,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4965,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4966,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4972,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4978,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4982,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4991,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:4996,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5000,1
    - Dst: SPI_execute_plan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5006,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5010,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5012,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5013,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5015,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5016,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5017,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5019,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5020,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5021,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5023,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5025,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5032,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5034,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5038,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5041,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5044,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5050,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5055,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5062,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5063,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5065,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5066,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5067,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5070,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5076,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5079,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5080,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5082,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5083,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5085,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5087,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5089,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5092,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5095,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 362
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 4439
    functionDepth: 4
    functionLinenumber: 4439
    functionLinenumberEnd: 5096
    functionName: RASTER_mapAlgebraExpr
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - strcmp
    - SPI_finish
    - Float8GetDatum
    - rt_raster_set_scale
    - strstr
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_band_get_pixtype
    - rt_raster_set_srid
    - SPI_getbinval
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - SPI_freeplan
    - rt_raster_copy_band
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - sprintf
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - memset
    - SPI_execute
    - rt_raster_deserialize
    - SPI_execute_plan
    - elog
    - rt_raster_generate_new_band
    - Int32GetDatum
    - text_to_cstring
    - strlen
    - FLT_NEQ
    - PG_GETARG_INT32
    - SPI_freetuptable
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - rt_raster_get_num_bands
    - rt_raster_new
    - rt_raster_set_skews
    - rt_raster_get_y_scale
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - rt_raster_get_width
    - rt_raster_set_offsets
    - pfree
    - SPI_prepare
    - rt_band_set_pixel
    - atof
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - palloc
    - rtpg_strreplace
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - RASTER_DEBUG
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_band_get_isnodata_flag
    - PG_ARGISNULL
    - SPI_getvalue
    - SPI_connect
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - rt_raster_get_height
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_mapAlgebraExpr(PG_FUNCTION_ARGS)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5119,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5125,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5128,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5129,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5130,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5135,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5135,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5136,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5138,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5139,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5140,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5143,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5147,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5150,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5155,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5161,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5162,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5164,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5168,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5169,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5171,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5172,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5175,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5176,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5177,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5179,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5180,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5181,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5183,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5184,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5185,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5187,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5187,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5194,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5196,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5197,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5198,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5200,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5201,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5203,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5204,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5207,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5208,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5211,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5217,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5218,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5220,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5221,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5223,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5224,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5226,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5227,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5230,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5231,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5235,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5237,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5239,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5240,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5242,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5243,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5245,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5246,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5249,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5250,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5256,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5258,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5259,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5263,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5266,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5278,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5280,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5281,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5285,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5285,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5286,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5287,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5289,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5294,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5295,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5296,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5298,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5299,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5302,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5303,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5306,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5308,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5309,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5310,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5312,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5313,1
    - Dst: PG_GETARG_OID
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5316,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5319,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5320,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5321,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5323,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5324,1
    - Dst: fmgr_info
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5327,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5332,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5333,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5334,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5336,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5337,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5342,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5343,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5344,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5346,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5347,1
    - Dst: func_volatile
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5355,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5356,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5360,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5367,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5370,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5371,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5372,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5374,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5375,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5382,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5390,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5392,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5395,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5398,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5399,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5402,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5403,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5405,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5406,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5409,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5410,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5418,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5422,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5424,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5427,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5428,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5431,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5432,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5434,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5435,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5438,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5439,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5442,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5447,1
    - Dst: FLT_EQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5454,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5456,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5464,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5472,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5473,1
    - Dst: construct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5475,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5478,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5481,1
    - Dst: FunctionCallInvoke
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5484,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5491,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5494,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5497,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5505,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5508,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5509,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5511,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5512,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5514,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5516,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5518,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5520,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5521,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 229
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5102
    functionDepth: 4
    functionLinenumber: 5102
    functionLinenumberEnd: 5522
    functionName: RASTER_mapAlgebraFct
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - func_volatile
    - Float8GetDatum
    - rt_raster_set_scale
    - FLT_EQ
    - construct_array
    - rt_raster_destroy
    - fmgr_info
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_band_get_pixtype
    - rt_raster_set_srid
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - InitFunctionCallInfoData
    - rt_raster_deserialize
    - elog
    - rt_raster_generate_new_band
    - Int32GetDatum
    - text_to_cstring
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_new
    - FunctionCallInvoke
    - rt_raster_set_skews
    - rt_raster_get_y_scale
    - PointerGetDatum
    - LOCAL_FCINFO
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - rt_raster_get_width
    - rt_raster_set_offsets
    - pfree
    - rt_band_set_pixel
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_band_get_isnodata_flag
    - PG_ARGISNULL
    - PG_GETARG_OID
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - rt_raster_get_height
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_mapAlgebraFct(PG_FUNCTION_ARGS)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5545,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5562,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5565,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5566,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5567,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5572,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5572,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5573,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5576,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5577,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5578,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5581,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5585,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5588,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5593,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5599,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5600,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5602,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5605,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5606,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5607,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5608,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5611,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5612,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5613,1
    - Dst: rt_raster_set_offsets
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5615,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5616,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5617,1
    - Dst: rt_raster_set_skews
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5619,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5620,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5621,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5623,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5623,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5630,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5632,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5633,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5634,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5636,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5637,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5639,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5640,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5643,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5644,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5647,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5653,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5654,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5656,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5657,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5659,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5660,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5662,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5663,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5666,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5667,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5671,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5673,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5675,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5676,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5678,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5679,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5681,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5682,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5685,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5686,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5692,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5694,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5695,1
    - Dst: rt_band_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5699,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5702,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5714,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5716,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5717,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5721,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5721,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5722,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5723,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5724,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5726,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5731,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5732,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5733,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5735,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5736,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5739,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5740,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5743,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5745,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5746,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5747,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5749,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5750,1
    - Dst: PG_GETARG_OID
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5753,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5756,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5757,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5758,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5760,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5761,1
    - Dst: fmgr_info
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5764,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5769,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5770,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5771,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5773,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5774,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5779,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5780,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5781,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5783,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5784,1
    - Dst: func_volatile
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5787,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5788,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5792,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5798,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5801,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5802,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5803,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5805,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5806,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5813,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5821,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5823,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5826,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5829,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5830,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5833,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5834,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5836,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5837,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5840,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5841,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5849,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5853,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5855,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5858,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5859,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5862,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5863,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5865,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5866,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5869,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5870,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5874,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5874,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5875,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5878,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5879,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5882,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5883,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5885,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5886,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5889,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5890,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5893,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5897,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5897,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5898,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5901,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5902,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5905,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5906,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5908,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5909,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5912,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5913,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5916,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5920,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5921,1
    - Dst: cstring_to_text
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5922,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5925,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5928,1
    - Dst: VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5928,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5929,1
    - Dst: VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5929,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5930,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5930,1
    - Dst: VARDATA
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5930,1
    - Dst: VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5930,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5933,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5935,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5936,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5938,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5940,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5940,1
    - Dst: sscanf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5942,1
    - Dst: sscanf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5942,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5944,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5948,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5949,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5951,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5952,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5955,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5956,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5958,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5959,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5962,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5963,1
    - Dst: strcmp
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5966,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5971,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5975,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5976,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5987,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5997,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:5998,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6004,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6006,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6008,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6016,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6022,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6030,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6046,1
    - Dst: construct_md_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6049,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6053,1
    - Dst: FunctionCallInvoke
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6056,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6064,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6067,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6070,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6080,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6081,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6082,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6083,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6085,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6086,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6090,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6093,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6094,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6096,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6098,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6099,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6101,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6102,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 322
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6103
      start: 5528
    functionDepth: 4
    functionLinenumber: 5528
    functionLinenumberEnd: 6103
    functionName: RASTER_mapAlgebraFctNgb
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - strcmp
    - func_volatile
    - Float8GetDatum
    - rt_raster_set_scale
    - rt_raster_destroy
    - fmgr_info
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_band_get_pixtype
    - rt_raster_set_srid
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - sscanf
    - rt_band_get_min_value
    - PG_FREE_IF_COPY
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - InitFunctionCallInfoData
    - rtpg_strtoupper
    - rt_raster_deserialize
    - VARSIZE
    - elog
    - rt_raster_generate_new_band
    - text_to_cstring
    - FLT_NEQ
    - cstring_to_text
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_new
    - FunctionCallInvoke
    - rt_raster_set_skews
    - rt_raster_get_y_scale
    - PointerGetDatum
    - LOCAL_FCINFO
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - rt_raster_get_width
    - rt_raster_set_offsets
    - pfree
    - construct_md_array
    - rt_band_set_pixel
    - VARDATA
    - get_typlenbyvalalign
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - palloc
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - rt_band_get_isnodata_flag
    - PG_ARGISNULL
    - PG_GETARG_OID
    - rt_raster_get_srid
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - rt_raster_get_height
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_mapAlgebraFctNgb(PG_FUNCTION_ARGS)
  - BBCount: 171
    BranchProfiles: []
    Callsites:
    - Dst: LOCAL_FCINFO
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6171,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6187,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6190,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6191,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6191,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6196,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6200,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6202,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6204,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6205,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6209,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6212,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6213,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6222,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6227,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6230,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6232,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6237,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6239,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6243,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6245,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6247,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6248,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6250,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6252,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6253,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6255,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6257,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6258,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6281,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6283,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6284,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6285,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6286,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6288,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6293,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6296,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6298,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6299,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6301,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6301,1
    - Dst: rt_raster_get_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6303,1
    - Dst: rt_raster_set_geotransform_matrix
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6304,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6308,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6309,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6312,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6313,1
    - Dst: rt_raster_same_alignment
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6331,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6334,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6336,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6338,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6339,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6342,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6345,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6347,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6349,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6353,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6354,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6354,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6356,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6360,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6362,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6364,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6365,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6370,1
    - Dst: rtpg_strtoupper
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6371,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6371,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6371,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6371,1
    - Dst: rt_util_extent_type
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6372,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6374,1
    - Dst: rt_raster_from_two_rasters
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6377,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6385,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6387,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6389,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6390,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6400,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6401,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6419,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6422,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6424,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6426,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6427,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6431,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6432,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6438,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6440,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6443,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6444,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6445,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6447,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6448,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6459,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6463,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6465,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6469,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6471,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6473,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6474,1
    - Dst: rt_raster_set_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6477,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6478,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6478,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6483,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6485,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6488,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6489,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6490,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6492,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6493,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6500,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6502,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6504,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6505,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6511,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6512,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6514,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6518,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6520,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6523,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6524,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6525,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6527,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6528,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6533,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6540,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6544,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6546,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6548,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6549,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6553,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6556,1
    - Dst: rt_band_get_nodata
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6558,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6564,1
    - Dst: rt_band_get_pixtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6566,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6580,1
    - Dst: rt_pixtype_name
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6580,1
    - Dst: rt_pixtype_get_min_value
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6581,1
    - Dst: rt_raster_generate_new_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6585,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6594,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6596,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6598,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6599,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6600,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6604,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6608,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6610,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6612,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6613,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6614,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6617,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6624,1
    - Dst: rt_raster_get_x_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6625,1
    - Dst: rt_raster_get_y_offset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6626,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6627,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6628,1
    - Dst: rt_raster_get_x_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6629,1
    - Dst: rt_raster_get_y_scale
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6630,1
    - Dst: rt_raster_get_x_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6631,1
    - Dst: rt_raster_get_y_skew
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6632,1
    - Dst: rt_raster_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6633,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6640,1
    - Dst: get_fn_expr_argtype
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6641,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6645,1
    - Dst: SPI_connect
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6648,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6651,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6653,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6655,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6656,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6657,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6661,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6672,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6675,1
    - Dst: PG_GETARG_TEXT_P
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6675,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6676,1
    - Dst: rtpg_strreplace
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6681,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6682,1
    - Dst: sprintf
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6689,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6695,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6695,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6695,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6696,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6699,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6700,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6704,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6706,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6708,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6710,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6711,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6714,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6714,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6715,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6715,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6715,1
    - Dst: memcpy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6716,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6716,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6716,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6716,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6719,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6723,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6726,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6727,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6728,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6732,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6734,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6736,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6738,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6739,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6748,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6749,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6750,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6751,1
    - Dst: SPI_prepare
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6763,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6764,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6768,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6769,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6770,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6774,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6776,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6778,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6780,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6781,1
    - Dst: SPI_execute
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6786,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6789,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6790,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6791,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6795,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6797,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6799,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6801,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6802,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6810,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6813,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6814,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6815,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6816,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6820,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6822,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6824,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6826,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6827,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6832,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6835,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6838,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6845,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6847,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6854,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6855,1
    - Dst: PG_GETARG_OID
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6858,1
    - Dst: fmgr_info
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6861,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6881,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6883,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6885,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6888,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6890,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6891,1
    - Dst: func_volatile
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6894,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6895,1
    - Dst: InitFunctionCallInfoData
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6899,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6911,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6913,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6927,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6929,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6931,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6932,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6933,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6974,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6978,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6979,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6984,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6986,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6988,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6990,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6991,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:6998,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7042,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7045,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7047,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7057,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7060,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7064,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7065,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7070,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7072,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7075,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7079,1
    - Dst: strstr
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7080,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7085,1
    - Dst: SPI_execute_plan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7091,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7094,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7095,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7099,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7101,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7103,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7105,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7106,1
    - Dst: SPI_getbinval
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7114,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7117,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7118,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7119,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7123,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7125,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7127,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7129,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7130,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7135,1
    - Dst: SPI_freetuptable
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7138,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7147,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7169,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7170,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7173,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7174,1
    - Dst: construct_array
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7178,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7179,1
    - Dst: FunctionCallInvoke
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7183,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7189,1
    - Dst: rt_band_set_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7196,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7199,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7200,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7205,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7207,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7209,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7211,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7212,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7216,1
    - Dst: SPI_freeplan
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7225,1
    - Dst: SPI_finish
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7227,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7232,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7234,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7237,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7238,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7239,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7241,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7243,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c:7244,1
    CyclomaticComplexity: 276
    EdgeCount: 276
    ICount: 739
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7245
      start: 6111
    functionDepth: 4
    functionLinenumber: 6111
    functionLinenumberEnd: 7245
    functionName: RASTER_mapAlgebra2
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - func_volatile
    - SPI_finish
    - Float8GetDatum
    - rt_raster_set_scale
    - rt_pixtype_get_min_value
    - construct_array
    - rt_util_extent_type
    - rt_raster_destroy
    - strstr
    - fmgr_info
    - rt_raster_is_empty
    - PG_RETURN_NULL
    - rt_band_get_pixtype
    - rt_raster_same_alignment
    - rt_raster_set_srid
    - SPI_getbinval
    - PG_GETARG_DATUM
    - PG_GETARG_TEXT_P
    - SPI_freeplan
    - sprintf
    - PG_FREE_IF_COPY
    - rt_raster_get_y_offset
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - memset
    - InitFunctionCallInfoData
    - get_fn_expr_argtype
    - rtpg_strtoupper
    - rtpg_trim
    - SPI_execute
    - rt_raster_deserialize
    - SPI_execute_plan
    - elog
    - rt_raster_generate_new_band
    - Int32GetDatum
    - text_to_cstring
    - strlen
    - PG_GETARG_INT32
    - SPI_freetuptable
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - rt_raster_new
    - rt_raster_set_geotransform_matrix
    - FunctionCallInvoke
    - rt_raster_get_geotransform_matrix
    - rt_raster_get_y_scale
    - PointerGetDatum
    - LOCAL_FCINFO
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - rt_raster_get_width
    - pfree
    - SPI_prepare
    - rt_band_set_pixel
    - rt_raster_has_band
    - PG_RETURN_POINTER
    - rtpg_strreplace
    - palloc
    - rt_raster_get_x_offset
    - rt_raster_get_y_skew
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - rt_raster_get_x_skew
    - rt_raster_get_x_scale
    - PG_ARGISNULL
    - PG_GETARG_OID
    - SPI_connect
    - rt_raster_get_srid
    - rt_raster_from_two_rasters
    - rt_raster_get_band
    - rt_band_get_nodata
    - rt_pixtype_name
    - rt_raster_get_height
    - SET_VARSIZE
    - memcpy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_mapAlgebra2(PG_FUNCTION_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:75,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:76,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:78,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:79,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:83,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:86,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:87,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:88,1
    - Dst: rt_raster_get_envelope_geom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:91,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:93,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:94,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:97,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:98,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:101,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:102,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:105,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:106,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:108,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 110
    functionName: RASTER_envelope
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - rt_raster_get_envelope_geom
    - gserialized_from_lwgeom
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - SET_VARSIZE
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_envelope(PG_FUNCTION_ARGS)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:130,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:131,1
    - Dst: PG_NARGS
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:134,1
    - Dst: PG_DETOAST_DATUM_SLICE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:138,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:138,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:139,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:142,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:142,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:143,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:147,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:148,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:149,1
    - Dst: rt_raster_get_convex_hull
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:153,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:158,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:159,1
    - Dst: rt_raster_has_band
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:160,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:161,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:162,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:163,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:164,1
    - Dst: rt_raster_get_perimeter
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:169,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:172,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:173,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:176,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:177,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:180,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:181,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:184,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:185,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:187,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 189
    functionName: RASTER_convex_hull
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - PG_DETOAST_DATUM
    - gserialized_from_lwgeom
    - rt_raster_get_convex_hull
    - SET_VARSIZE
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_NARGS
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - PG_GETARG_INT32
    - rt_raster_get_perimeter
    - PG_GETARG_DATUM
    - PG_DETOAST_DATUM_SLICE
    - rt_raster_has_band
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_convex_hull(PG_FUNCTION_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:203,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:212,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:215,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:218,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:221,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:222,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:223,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:225,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:225,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:226,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:228,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:229,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:230,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:231,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:233,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:234,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:237,1
    - Dst: PG_GETARG_UINT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:238,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:242,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:243,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:246,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:247,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:248,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:249,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:250,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:253,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:254,1
    - Dst: rt_band_get_isnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:257,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:257,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:258,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:259,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:260,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:261,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:262,1
    - Dst: rt_raster_gdal_polygonize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:270,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:271,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:272,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:274,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:275,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:276,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:278,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:279,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:282,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:291,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:292,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:293,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:294,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:298,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:301,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:305,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:322,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:324,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:327,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:327,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:328,1
    - Dst: lwpoly_as_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:328,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:330,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:331,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:334,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:337,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:339,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:343,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 194
    functionDepth: 12
    functionLinenumber: 194
    functionLinenumberEnd: 346
    functionName: RASTER_dumpAsPolygons
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - Float8GetDatum
    - gserialized_from_lwgeom
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - SRF_IS_FIRSTCALL
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - ereport
    - PointerGetDatum
    - lwpoly_as_lwgeom
    - PG_GETARG_UINT32
    - HeapTupleGetDatum
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_call_result_type
    - PG_DETOAST_DATUM
    - heap_form_tuple
    - rt_band_get_isnodata_flag
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - rt_raster_gdal_polygonize
    - MemoryContextSwitchTo
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_dumpAsPolygons(PG_FUNCTION_ARGS)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:366,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:386,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:389,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:392,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:394,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:395,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:396,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:398,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:398,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:401,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:404,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:409,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:412,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:417,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:420,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:425,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:426,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:428,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:430,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:431,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:432,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:433,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:435,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:436,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:440,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:441,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:442,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:443,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:444,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:445,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:450,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:451,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:452,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:455,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:456,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:457,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:458,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:459,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:462,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:464,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:465,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:466,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:467,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:468,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:471,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:478,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:482,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:484,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:497,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:500,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:501,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:503,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:504,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:505,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:507,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:508,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:509,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:514,1
    - Dst: rt_raster_pixel_as_polygon
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:520,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:523,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:524,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:526,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:527,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:528,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:530,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:531,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:532,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:536,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:538,1
    - Dst: lwpoly_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:541,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:542,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:543,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:544,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:546,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:547,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:548,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:551,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:552,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:576,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:577,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:578,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:582,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:583,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:584,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:592,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:595,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:596,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:597,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:598,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:602,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:605,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:609,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:626,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:628,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:631,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:632,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:634,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:638,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:639,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:640,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:643,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:646,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:648,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:652,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:653,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 180
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 655
    functionName: RASTER_getPixelPolygons
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - Float8GetDatum
    - gserialized_from_lwgeom
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_GETARG_DATUM
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - memset
    - lwpoly_free
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - repalloc
    - Int32GetDatum
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - ereport
    - PointerGetDatum
    - HeapTupleGetDatum
    - rt_raster_get_width
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_call_result_type
    - palloc
    - rt_raster_pixel_as_polygon
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_raster_get_height
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelPolygons(PG_FUNCTION_ARGS)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: SRF_IS_FIRSTCALL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:674,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:694,1
    - Dst: SRF_FIRSTCALL_INIT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:697,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:700,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:703,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:704,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:705,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:707,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:707,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:710,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:711,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:716,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:717,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:723,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:724,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:730,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:731,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:734,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:736,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:737,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:738,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:739,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:741,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:742,1
    - Dst: rt_raster_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:746,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:747,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:748,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:749,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:750,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:751,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:756,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:757,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:758,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:762,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:763,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:764,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:765,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:766,1
    - Dst: rt_raster_get_band
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:770,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:772,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:774,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:775,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:777,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:778,1
    - Dst: rt_band_get_hasnodata_flag
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:781,1
    - Dst: rt_raster_get_width
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:788,1
    - Dst: rt_raster_get_height
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:792,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:794,1
    - Dst: rt_band_get_pixel
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:807,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:810,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:811,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:813,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:814,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:815,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:817,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:818,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:819,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:824,1
    - Dst: rt_raster_pixel_as_centroid_point
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:830,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:834,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:835,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:837,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:838,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:839,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:841,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:842,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:843,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:848,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:851,1
    - Dst: lwpoint_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:854,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:856,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:857,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:858,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:860,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:861,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:862,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:867,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:868,1
    - Dst: rt_band_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:894,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:895,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:896,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:900,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:901,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:902,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:910,1
    - Dst: get_call_result_type
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:913,1
    - Dst: ereport
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:914,1
    - Dst: errcode
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:915,1
    - Dst: errmsg
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:916,1
    - Dst: BlessTupleDesc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:920,1
    - Dst: MemoryContextSwitchTo
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:923,1
    - Dst: SRF_PERCALL_SETUP
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:927,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:944,1
    - Dst: memset
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:946,1
    - Dst: gserialized_from_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:949,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:950,1
    - Dst: PointerGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:953,1
    - Dst: Float8GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:957,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:958,1
    - Dst: Int32GetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:959,1
    - Dst: heap_form_tuple
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:962,1
    - Dst: HeapTupleGetDatum
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:965,1
    - Dst: SRF_RETURN_NEXT
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:967,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:971,1
    - Dst: SRF_RETURN_DONE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:972,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 181
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 664
    functionDepth: 6
    functionLinenumber: 664
    functionLinenumberEnd: 974
    functionName: RASTER_getPixelCentroids
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - lwgeom_free
    - Float8GetDatum
    - gserialized_from_lwgeom
    - SRF_RETURN_DONE
    - rt_raster_destroy
    - rt_raster_is_empty
    - PG_GETARG_DATUM
    - rt_raster_pixel_as_centroid_point
    - PG_FREE_IF_COPY
    - rt_band_get_pixel
    - POSTGIS_RT_DEBUGF
    - memset
    - errcode
    - SRF_PERCALL_SETUP
    - rt_raster_deserialize
    - BlessTupleDesc
    - elog
    - PG_GETARG_BOOL
    - repalloc
    - Int32GetDatum
    - SRF_IS_FIRSTCALL
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - rt_raster_get_num_bands
    - lwpoint_free
    - ereport
    - PointerGetDatum
    - HeapTupleGetDatum
    - rt_raster_get_width
    - pfree
    - SRF_RETURN_NEXT
    - errmsg
    - get_call_result_type
    - palloc
    - PG_DETOAST_DATUM
    - rt_band_get_hasnodata_flag
    - heap_form_tuple
    - SRF_FIRSTCALL_INIT
    - PG_ARGISNULL
    - rt_raster_get_band
    - MemoryContextSwitchTo
    - rt_raster_get_height
    - rt_band_destroy
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPixelCentroids(PG_FUNCTION_ARGS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:991,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:992,1
    - Dst: PG_DETOAST_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:993,1
    - Dst: PG_GETARG_DATUM
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:993,1
    - Dst: rt_raster_deserialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:995,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:997,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:998,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:999,1
    - Dst: rt_raster_get_num_bands
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1003,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1005,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1006,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1007,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1008,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1012,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1013,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1015,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1016,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1017,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1018,1
    - Dst: rt_raster_surface
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1022,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1023,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1024,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1027,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1028,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1031,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1032,1
    - Dst: geometry_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1035,1
    - Dst: lwmpoly_as_lwgeom
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1035,1
    - Dst: lwmpoly_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1036,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 980
    functionDepth: 11
    functionLinenumber: 980
    functionLinenumberEnd: 1039
    functionName: RASTER_getPolygon
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - geometry_serialize
    - PG_DETOAST_DATUM
    - rt_raster_surface
    - lwmpoly_free
    - rt_raster_deserialize
    - rt_raster_destroy
    - elog
    - PG_GETARG_INT32
    - PG_ARGISNULL
    - PG_RETURN_NULL
    - lwmpoly_as_lwgeom
    - PG_GETARG_DATUM
    - rt_raster_get_num_bands
    - PG_FREE_IF_COPY
    - PG_RETURN_POINTER
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_getPolygon(PG_FUNCTION_ARGS)
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1109,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1114,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1115,1
    - Dst: PG_GETARG_GSERIALIZED_P
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1117,1
    - Dst: lwgeom_from_gserialized
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1118,1
    - Dst: lwgeom_ndims
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1121,1
    - Dst: lwgeom_force_2d
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1122,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1123,1
    - Dst: lwgeom_is_empty
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1128,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1129,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1130,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1131,1
    - Dst: rt_raster_new
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1133,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1135,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1137,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1138,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1141,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1143,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1144,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1148,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1149,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1150,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1155,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1156,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1157,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1160,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1163,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1164,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1170,1
    - Dst: PG_GETARG_INT32
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1171,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1175,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1178,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1179,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1180,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1181,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1188,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1189,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1191,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1192,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1196,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1200,1
    - Dst: DatumGetPointer
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1211,1
    - Dst: text_to_cstring
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1213,1
    - Dst: rtpg_trim
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1216,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1217,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1221,1
    - Dst: rt_pixtype_index_from_name
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1222,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1225,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1227,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1228,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1230,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1231,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1241,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1245,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1253,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1257,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1258,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1259,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1260,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1268,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1270,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1271,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1273,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1274,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1278,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1282,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1291,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1294,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1297,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1304,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1308,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1316,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1320,1
    - Dst: PG_GETARG_ARRAYTYPE_P
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1321,1
    - Dst: ARR_ELEMTYPE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1322,1
    - Dst: get_typlenbyvalalign
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1323,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1331,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1332,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1334,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1335,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1337,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1338,1
    - Dst: deconstruct_array
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1342,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1346,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1347,1
    - Dst: DatumGetFloat4
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1359,1
    - Dst: DatumGetFloat8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1362,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1365,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1366,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1373,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1374,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1378,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1379,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1389,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1390,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1395,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1396,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1401,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1402,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1405,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1408,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1409,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1414,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1415,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1418,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1428,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1438,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1448,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1459,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1469,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1479,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1489,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1498,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1499,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1501,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1502,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1505,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1506,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1508,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1512,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1513,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1514,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1519,1
    - Dst: PG_GETARG_FLOAT8
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1520,1
    - Dst: FLT_NEQ
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1521,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1524,1
    - Dst: PG_ARGISNULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1527,1
    - Dst: PG_GETARG_BOOL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1527,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1530,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1534,1
    - Dst: palloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1537,1
    - Dst: strlen
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1537,1
    - Dst: strcpy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1538,1
    - Dst: repalloc
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1543,1
    - Dst: gserialized_get_srid
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1548,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1550,1
    - Dst: clamp_srid
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1551,1
    - Dst: rtpg_getSR
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1552,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1555,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1556,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1558,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1559,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1561,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1563,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1564,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1566,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1567,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1569,1
    - Dst: MIN
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1576,1
    - Dst: MIN
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1577,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1578,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1579,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1580,1
    - Dst: POSTGIS_RT_DEBUGF
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1581,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1588,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1599,1
    - Dst: lwgeom_to_wkb_varlena
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1600,1
    - Dst: lwgeom_free
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1601,1
    - Dst: PG_FREE_IF_COPY
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1602,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1605,1
    - Dst: rt_raster_gdal_rasterize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1607,1
    - Dst: LWSIZE_GET
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1608,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1628,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1629,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1631,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1632,1
    - Dst: pfree
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1634,1
    - Dst: elog
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1637,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1638,1
    - Dst: rt_raster_set_srid
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1642,1
    - Dst: rt_raster_serialize
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1644,1
    - Dst: rt_raster_destroy
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1645,1
    - Dst: PG_RETURN_NULL
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1647,1
    - Dst: POSTGIS_RT_DEBUG
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1649,1
    - Dst: SET_VARSIZE
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1651,1
    - Dst: PG_RETURN_POINTER
      Src: /src/postgis/raster/rt_pg/rtpg_geometry.c:1652,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 374
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1045
    functionDepth: 12
    functionLinenumber: 1045
    functionLinenumberEnd: 1653
    functionName: RASTER_asRaster
    functionSourceFile: /src/postgis/raster/rt_pg/rtpg_geometry.c
    functionUses: 0
    functionsReached:
    - rt_raster_serialize
    - lwgeom_free
    - strcpy
    - rt_raster_destroy
    - PG_RETURN_NULL
    - LWSIZE_GET
    - lwgeom_to_wkb_varlena
    - rt_raster_set_srid
    - PG_FREE_IF_COPY
    - POSTGIS_RT_DEBUGF
    - gserialized_get_srid
    - MIN
    - rtpg_trim
    - elog
    - repalloc
    - PG_GETARG_BOOL
    - text_to_cstring
    - FLT_NEQ
    - strlen
    - clamp_srid
    - PG_GETARG_GSERIALIZED_P
    - PG_GETARG_INT32
    - POSTGIS_RT_DEBUG
    - PG_GETARG_FLOAT8
    - deconstruct_array
    - rt_raster_new
    - lwgeom_ndims
    - DatumGetFloat4
    - DatumGetFloat8
    - rt_pixtype_index_from_name
    - lwgeom_force_2d
    - ARR_ELEMTYPE
    - pfree
    - get_typlenbyvalalign
    - PG_RETURN_POINTER
    - palloc
    - DatumGetPointer
    - rtpg_getSR
    - PG_GETARG_ARRAYTYPE_P
    - lwgeom_from_gserialized
    - lwgeom_is_empty
    - rt_raster_gdal_rasterize
    - PG_ARGISNULL
    - SET_VARSIZE
    linkageType: ''
    returnType: Datum
    signature: Datum RASTER_asRaster(PG_FUNCTION_ARGS)
Fuzzer filename: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- utils/array.h
- iomanip
- mapbox/geometry/wagyu/process_horizontal.hpp
- utils/lsyscache.h
- pgtime.h
- stdio.h
- mapbox/geometry/for_each_point.hpp
- parseaddress-stcities.h
- utils/snapmgr.h
- CUnit/CUnit.h
- mapbox/geometry/multi_polygon.hpp
- flatgeobuf_c.h
- flatbuffers/verifier.h
- lwgeom_pg.h
- ../shp2pgsql-core.h
- ../../postgis_config.h
- lwgeom_transform.h
- geography.h
- numeric
- catalog/pg_type_d.h
- libpq-fe.h
- mapbox/geometry/point.hpp
- flatbuffers/vector_downward.h
- common/jsonapi.h
- varint.h
- inttypes.h
- endian.h
- utils/geo_decls.h
- geos_c.h
- feature_generated.h
- mapbox/geometry/wagyu/vatti.hpp
- flatbuffers/reflection.h
- array
- gdal_frmts.h
- geometrywriter.h
- mapbox/geometry/wagyu/edge.hpp
- nodes/nodeFuncs.h
- ../lwunionfind.h
- stdexcept
- commands/trigger.h
- miscadmin.h
- gserialized1.c
- header_generated.h
- parser/parse_type.h
- lwgeom_box3d.h
- mapbox/geometry/wagyu/ring.hpp
- lwt_edgeend_star.h
- measures3d.h
- gserialized2.h
- time.h
- utils/hsearch.h
- geobuf.pb-c.h
- map
- functional
- catalog/pg_opfamily.h
- access/tuptoaster.h
- sstream
- raster_config.h
- wkbtest.h
- access/xact.h
- mvt.h
- unordered_set
- lwunionfind.h
- ../../raster_config.h
- string_view
- access/genam.h
- nodes/makefuncs.h
- cstring
- flatbuffers/stl_emulation.h
- flatbuffers/util.h
- styles.h
- lwgeodetic_tree.h
- ../pgsql2shp-core.h
- parser/parse_func.h
- lwout_twkb.h
- alloca.h
- utils/regproc.h
- experimental/string_view
- pthread.h
- access/transam.h
- cu_surface.h
- optimizer/optimizer.h
- utils/datetime.h
- access/sysattr.h
- utils/syscache.h
- cstddef
- measures.h
- lib/stringinfo.h
- flatbuffers/allocator.h
- gamma.h
- ../../../postgis_config.h
- sys/wait.h
- flatbuffers/base.h
- parser/parse_coerce.h
- flatbuffers/vector.h
- getopt.h
- stringlist.h
- access/gistscan.h
- bytebuffer.h
- access/tupmacs.h
- list
- cu_tester.h
- ../liblwgeom/lwgeom_sfcgal.h
- mapbox/geometry/wagyu/intersect.hpp
- initializer_list
- ../liblwgeom/liblwgeom.h
- ryu/d2s_full_table.h
- flatgeobuf.h
- c.h
- lwgeom_sfcgal.h
- ../liblwgeom/lwgeom_log.h
- mapbox/geometry/wagyu/snap_rounding.hpp
- nodes/supportnodes.h
- lwgeom_log.h
- flatbuffers/detached_buffer.h
- libxml/parser.h
- access/stratnum.h
- catalog/pg_type.h
- gserialized1.h
- topo/liblwgeom_topo.h
- json.h
- flatbuffers/table.h
- libxml/tree.h
- access/heapam.h
- utils/jsonapi.h
- limits
- mapbox/geometry/wagyu/build_result.hpp
- ../raster_config.h
- string.h
- mapbox/geometry/geometry.hpp
- flatbuffers/buffer_ref.h
- sys/stat.h
- gdalwarper.h
- cpl_port.h
- libpq/pqformat.h
- access/htup.h
- mapbox/geometry/envelope.hpp
- mapbox/geometry/wagyu/ring_util.hpp
- std_pg_hash.h
- unistd.h
- cstdlib
- string
- mapbox/geometry/wagyu/interrupt.hpp
- lwgeom_union.h
- nodes/pathnodes.h
- parseaddress-api.h
- mapbox/geometry/box.hpp
- android/api-level.h
- access/gist.h
- postgres.h
- catalog/pg_extension.h
- mapbox/geometry/wagyu/build_local_minima_list.hpp
- ../lwgeom_geos.h
- packedrtree.h
- gdal.h
- strings.h
- flatbuffers/reflection_generated.h
- flatbuffers/code_generators.h
- mapbox/geometry/wagyu/local_minimum.hpp
- utils/rel.h
- ryu/digit_table.h
- gdk/gdk.h
- catalog/namespace.h
- iostream
- flatbuffers/buffer.h
- json_object_private.h
- flatbuffers/code_generator.h
- utils/json.h
- utils/datum.h
- mapbox/geometry/multi_point.hpp
- catalog/indexing.h
- pagc_tools.h
- protobuf-c/protobuf-c.h
- utils/sortsupport.h
- locale.h
- search.h
- executor/executor.h
- mapbox/geometry/wagyu/scanbeam.hpp
- access/brin_tuple.h
- librtcore_internal.h
- flatbuffers/default_allocator.h
- dirent.h
- access/htup_details.h
- tuple
- mapbox/geometry/line_string.hpp
- mapbox/geometry/wagyu/intersect_util.hpp
- mapbox/geometry/wagyu/local_minimum_util.hpp
- parser/parsetree.h
- stdint.h
- lwout_x3d.h
- commands/vacuum.h
- utils/guc.h
- gserialized_gist.h
- vector_tile.pb-c.h
- cstdint
- limits.h
- lwtree.h
- mapbox/geometry/polygon.hpp
- utils/builtins.h
- lwgeom_wagyu.h
- stddef.h
- flatbuffers/hash.h
- flatbuffers/string.h
- algorithm
- libintl.h
- intervaltree.h
- lwrandom.h
- mapbox/geometry/multi_line_string.hpp
- mapbox/geometry/wagyu/active_bound_list.hpp
- stringbuffer.h
- utils/jsonb.h
- rtpg_internal.h
- liblwgeom_topo.h
- rtpostgis.h
- cpl_vsi.h
- unordered_map
- gserialized2.c
- cu_pgsql2shp.h
- utils/formatting.h
- executor/spi.h
- grpcpp/support/byte_buffer.h
- uthash.h
- lwgeom_cache.h
- flatbuffers/struct.h
- cpl_string.h
- optional
- hash.h
- pagc_api.h
- vector
- errno.h
- grpcpp/support/slice.h
- proj.h
- lwt_edgeend.h
- mapbox/geometry/wagyu/point.hpp
- pcre2.h
- liblwgeom_internal.h
- mapbox/geometry.hpp
- grpc/byte_buffer_reader.h
- mapbox/geometry/wagyu/bubble_sort.hpp
- access/itup.h
- math.h
- gserialized_spgist_3d.h
- geography_measurement_trees.h
- malloc.h
- gdal_vrt.h
- utils/numeric.h
- flatbuffers/flatbuffer_builder.h
- cu_geodetic_data.h
- access/detoast.h
- iterator
- proj_stub.h
- utils/date.h
- ogr_srs_api.h
- khash.h
- access/skey.h
- ../liblwgeom/lwgeom_geos.h
- flatbuffers/pch/pch.h
- ogr_api.h
- mapbox/geometry/wagyu/build_edges.hpp
- assert.h
- shp2pgsql-core.h
- mapbox/geometry/wagyu/topology_correction.hpp
- lwin_wkt.h
- ryu/d2s_small_table.h
- ../liblwgeom_internal.h
- queue
- ryu/d2s_intrinsics.h
- utils/elog.h
- stdlib.h
- utils/timestamp.h
- setjmp.h
- intrin.h
- flatbuffers/array.h
- access/spgist.h
- set
- span
- dbmalloc.h
- cpl_conv.h
- lwgeom_geos_prepared.h
- stdarg.h
- access/hash.h
- raster2pgsql.h
- utility
- stdbool.h
- flatbuffers/flatbuffers.h
- process.h
- ../lwgeom_log.h
- flatbuffers/idl.h
- mapbox/geometry/point_arithmetic.hpp
- pagc_std_api.h
- mapbox/geometry/empty.hpp
- mapbox/geometry/wagyu/process_maxima.hpp
- ryu/ryu.h
- lwgeom_geos.h
- catalog/pg_am.h
- catalog/pg_am_d.h
- access/gist_private.h
- mapbox/feature.hpp
- ryu/common.h
- lwt_node_edges.h
- libxml/xpathInternals.h
- mapbox/geometry/wagyu/almost_equal.hpp
- funcapi.h
- SFCGAL/capi/sfcgal_c.h
- mapbox/geometry/wagyu/wagyu.hpp
- utils/guc_tables.h
- memory
- mb/pg_wchar.h
- CUnit/Basic.h
- lwin_wkt_parse.h
- intrinsics.h
- lwgeom_itree.h
- ds.h
- postgis_config.h
- postgis_brin.h
- utils/fmgroids.h
- varatt.h
- geodesic.h
- FLATBUFFERS_ASSERT_INCLUDE
- mapbox/geometry/wagyu/bound.hpp
- sys/param.h
- absl/strings/string_view.h
- utils/typcache.h
- fmgr.h
- parseaddress-regex.h
- liblwgeom.h
- commands/extension.h
- windows.h
- storage/lmgr.h
- flatbuffers/flexbuffers.h
- libpq/pqsignal.h
- geobuf.h
- gdalgrid.h
- float.h
- cmath
- pcre.h
- geos_stub.h
- ctype.h
- type_traits
- optionlist.h
- lwgeom_remove_irrelevant_points_for_view.h
- mapbox/geometry/wagyu/util.hpp
- effectivearea.h
- utils/memutils.h
- librtcore.h
- cu_shp2pgsql.h
- deque
- lwgeodetic.h
- mapbox/variant.hpp
- sys/types.h
- access/relscan.h
- gtk/gtk.h
- crtdbg.h
- shapefil.h
- utils/varlena.h
- rt_serialize.h
- sys/time.h
- ../liblwgeom/stringbuffer.h
- iconv.h
- libxml/xpath.h
- pgsql2shp-core.h
- pagc_common.h
- liblwgeom_topo_internal.h
- utils/selfuncs.h
- lwgeom_accum.h
- catalog/index.h
- cassert
- mapbox/geometry/wagyu/config.hpp
- access/gin.h
- ieeefp.h
- cpl_minixml.h
- geometryreader.h
- ../postgis_config.h
- windowapi.h
- utility.h
- shpcommon.h
- execinfo.h
- stack
report: name
sources:
- function_names:
  - POSTGIS_DEPRECATE
  source_file: /src/postgis/sfcgal/postgis_sfcgal_legacy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/sfcgal/lwgeom_sfcgal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _PG_init
  - _PG_fini
  - sfcgal_postgis_init
  - POSTGIS2SFCGALGeometry
  - POSTGIS2SFCGALPreparedGeometry
  - SFCGALGeometry2POSTGIS
  - SFCGALPreparedGeometry2POSTGIS
  - sfcgal_from_ewkt
  - sfcgal_area
  - sfcgal_area3D
  - sfcgal_is_planar
  - sfcgal_orientation
  - sfcgal_triangulate
  - sfcgal_tesselate
  - sfcgal_constrained_delaunay_triangles
  - sfcgal_force_lhr
  - sfcgal_straight_skeleton
  - sfcgal_approximate_medial_axis
  - sfcgal_intersects
  - sfcgal_intersects3D
  - sfcgal_intersection
  - sfcgal_intersection3D
  - sfcgal_distance
  - sfcgal_distance3D
  - sfcgal_difference
  - sfcgal_difference3D
  - sfcgal_union
  - sfcgal_union3D
  - sfcgal_volume
  - sfcgal_minkowski_sum
  - sfcgal_extrude
  - postgis_sfcgal_version
  - postgis_sfcgal_full_version
  - sfcgal_is_solid
  - sfcgal_make_solid
  - postgis_sfcgal_noop
  - sfcgal_convexhull3D
  - sfcgal_alphashape
  - sfcgal_optimalalphashape
  - sfcgal_ymonotonepartition
  - sfcgal_approxconvexpartition
  - sfcgal_greeneapproxconvexpartition
  - sfcgal_optimalconvexpartition
  - sfcgal_extrudestraightskeleton
  - sfcgal_visibility_point
  - sfcgal_visibility_segment
  - sfcgal_rotate
  - sfcgal_rotate_2d
  - sfcgal_rotate_3d
  - sfcgal_rotate_x
  - sfcgal_rotate_y
  - sfcgal_rotate_z
  - sfcgal_scale
  - sfcgal_scale_3d
  - sfcgal_scale_3d_around_center
  - sfcgal_translate_2d
  - sfcgal_translate_3d
  - sfcgal_straight_skeleton_partition
  - sfcgal_buffer3d
  - sfcgal_simplify
  - sfcgal_alphawrapping_3d
  source_file: /src/postgis/sfcgal/lwgeom_sfcgal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getStyles
  - freeStyles
  - addStyle
  - length
  - getStyle
  - trim
  source_file: /src/postgis/doc/html/images/styles.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/doc/html/images/styles.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*styleName'
        type: char
      - name: pointSize
        type: int
      - name: '*pointColor'
        type: char
      - name: lineWidth
        type: int
      - name: '*lineColor'
        type: char
      - name: lineStartSize
        type: int
      - name: lineEndSize
        type: int
      - name: lineArrowSize
        type: int
      - name: '*polygonFillColor'
        type: char
      - name: '*polygonStrokeColor'
        type: char
      - name: polygonStrokeWidth
        type: int
      - name: '*next'
        type: LAYERSTYLE
      item_type: struct
      name: layerStyle
      pos:
        line_end: 37
        line_start: 18
        source_file: /src/postgis/doc/html/images/styles.h
    typedefs: []
    union: []
- function_names:
  - initializeGeometryDrawContext
  - checked_system
  - cleanupTempDir
  - pointarrayToFile
  - drawPointSymbol
  - drawLineArrow
  - drawPoint
  - drawLineString
  - drawPolygon
  - drawGeometry
  - optimizeImage
  - flattenLayers
  - getStyleName
  - parseOptions
  - main
  source_file: /src/postgis/doc/html/images/generator.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHOW_DIGS_DOUBLE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/doc/html/images/generator.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_DOUBLE_PRECISION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postgis/doc/html/images/generator.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_DIGS_DOUBLE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postgis/doc/html/images/generator.c
      type_or_value: '(SHOW_DIGS_DOUBLE + 2) '
    structs:
    - fields:
      - name: '*style'
        type: LAYERSTYLE
      - name: '*tmpdir'
        type: char
      - name: drawNum
        type: int
      item_type: struct
      name: draw_context_t
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/postgis/doc/html/images/generator.c
    typedefs: []
    union: []
- function_names:
  - lwgeom_has_arc
  - lwgeom_type_arc
  - interpolate_arc
  - angle_increment_using_segments_per_quad
  - angle_increment_using_max_deviation
  - angle_increment_using_max_angle
  - lwarc_linearize
  - lwcircstring_linearize
  - lwcompound_linearize
  - lwcurvepoly_linearize
  - lwcurvepoly_stroke
  - lwmcurve_linearize
  - lwmsurface_linearize
  - lwcollection_linearize
  - lwcurve_linearize
  - lwgeom_stroke
  - lw_arc_angle
  - pt_continues_arc
  - linestring_from_pa
  - circstring_from_pa
  - geom_from_pa
  - pta_unstroke
  - lwline_unstroke
  - lwpolygon_unstroke
  - lwmline_unstroke
  - lwmpolygon_unstroke
  - lwcollection_unstroke
  - lwgeom_unstroke
  source_file: /src/postgis/liblwgeom/lwstroke.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwpsurface_add_lwpoly
  - lwpsurface_free
  - printLWPSURFACE
  - lwpsurface_is_closed
  source_file: /src/postgis/liblwgeom/lwpsurface.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ax
        type: double
      - name: bx
        type: double
      - name: cnt
        type: uint32_t
      item_type: struct
      name: struct_psurface_arcs
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/postgis/liblwgeom/lwpsurface.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwmcurve.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwtree.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECT_NODE_SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postgis/liblwgeom/lwtree.h
      type_or_value: '8'
    structs:
    - fields:
      - name: '*pa'
        type: POINTARRAY
      - name: seg_type
        type: RECT_NODE_SEG_TYPE
      - name: seg_num
        type: int
      item_type: struct
      name: RECT_NODE_LEAF
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/postgis/liblwgeom/lwtree.h
    - fields:
      - name: num_nodes
        type: int
      - name: ring_type
        type: RECT_NODE_RING_TYPE
      - name: '*nodes[RECT_NODE_SIZE]'
        type: struct rect_node
      - name: sorted
        type: int
      item_type: struct
      name: RECT_NODE_INTERNAL
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/postgis/liblwgeom/lwtree.h
    - fields:
      - name: type
        type: RECT_NODE_TYPE
      - name: geom_type
        type: unsigned char
      - name: xmin
        type: double
      - name: xmax
        type: double
      - name: ymin
        type: double
      - name: ymax
        type: double
      - name: d
        type: double
      item_type: struct
      name: rect_node
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/postgis/liblwgeom/lwtree.h
    - fields:
      - name: threshold
        type: double
      - name: min_dist
        type: double
      - name: max_dist
        type: double
      - name: p1
        type: POINT2D
      - name: p2
        type: POINT2D
      item_type: struct
      name: rect_tree_distance_state
      pos:
        line_end: 86
        line_start: 79
        source_file: /src/postgis/liblwgeom/lwtree.h
    typedefs:
    - item_type: typedef
      name: RECT_NODE_TYPE
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/postgis/liblwgeom/lwtree.h
    - item_type: typedef
      name: RECT_NODE_RING_TYPE
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/postgis/liblwgeom/lwtree.h
    - item_type: typedef
      name: RECT_NODE_SEG_TYPE
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/postgis/liblwgeom/lwtree.h
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/measures.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MEASURES_H
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/liblwgeom/measures.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DIST_MAX
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/liblwgeom/measures.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: DIST_MIN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/liblwgeom/measures.h
      type_or_value: '1'
    structs:
    - fields:
      - name: distance
        type: double
      - name: p1
        type: POINT2D
      - name: p2
        type: POINT2D
      - name: mode
        type: int
      - name: twisted
        type: int
      - name: tolerance
        type: double
      item_type: struct
      name: DISTPTS
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/postgis/liblwgeom/measures.h
    - fields:
      - name: themeasure
        type: double
      - name: pnr
        type: int
      item_type: struct
      name: LISTSTRUCT
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/postgis/liblwgeom/measures.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
  types:
    enum:
    - enumerators:
      - name: YYEOF
        value: '0'
      - name: TRIANGLE_TOK
        value: '275'
      - name: POLYHEDRALSURFACE_TOK
        value: '277'
      - name: YYUNDEF
        value: '257'
      - name: YYerror
        value: '256'
      - name: LINESTRING_TOK
        value: '259'
      - name: MPOINT_TOK
        value: '261'
      - name: MPOLYGON_TOK
        value: '263'
      - name: COLLECTION_TOK
        value: '269'
      - name: LBRACKET_TOK
        value: '271'
      - name: MCURVE_TOK
        value: '265'
      - name: COMPOUNDCURVE_TOK
        value: '267'
      - name: EMPTY_TOK
        value: '273'
      - name: DIMENSIONALITY_TOK
        value: '279'
      - name: YYEMPTY
        value: '-2'
      - name: SRID_TOK
        value: '280'
      - name: DOUBLE_TOK
        value: '278'
      - name: POINT_TOK
        value: '258'
      - name: POLYGON_TOK
        value: '260'
      - name: MLINESTRING_TOK
        value: '262'
      - name: CIRCULARSTRING_TOK
        value: '268'
      - name: COMMA_TOK
        value: '272'
      - name: RBRACKET_TOK
        value: '270'
      - name: MSURFACE_TOK
        value: '264'
      - name: CURVEPOLYGON_TOK
        value: '266'
      - name: SEMICOLON_TOK
        value: '274'
      - name: TIN_TOK
        value: '276'
      item_type: enum
      name: yytokentype
      pos:
        line_end: 79
        line_start: 50
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
    preproc_defs:
    - item_type: preproc_def
      name: YYDEBUG
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTYPE_IS_TRIVIAL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYSTYPE_IS_DECLARED
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYLTYPE_IS_DECLARED
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: YYLTYPE_IS_TRIVIAL
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
      type_or_value: '1'
    structs:
    - fields:
      - name: first_line
        type: int
      - name: first_column
        type: int
      - name: last_line
        type: int
      - name: last_column
        type: int
      item_type: struct
      name: YYLTYPE
      pos:
        line_end: 113
        line_start: 107
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
    typedefs:
    - item_type: typedef
      name: yytoken_kind_t
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
    union:
    - fields:
      - name: integervalue
        type: int
      - name: doublevalue
        type: double
      - name: '*stringvalue'
        type: char
      - name: '*geometryvalue'
        type: LWGEOM
      - name: coordinatevalue
        type: POINT
      - name: '*ptarrayvalue'
        type: POINTARRAY
      item_type: union
      name: YYSTYPE
      pos:
        line_end: 98
        line_start: 85
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.h
- function_names:
  - gserialized2_get_lwflags
  - lwflags_uses_extended_flags
  - gserialized2_box_size
  - gserialized2_header_size
  - gserialized2_get_geometry_p
  - lwflags_get_g2flags
  - gserialized2_get_uint32_t
  - g2flags
  - gserialized2_has_bbox
  - gserialized2_has_extended
  - gserialized2_has_z
  - gserialized2_has_m
  - gserialized2_ndims
  - gserialized2_is_geodetic
  - gserialized2_max_header_size
  - gserialized2_get_type
  - gserialized2_get_srid
  - gserialized2_set_srid
  - gserialized2_is_empty_recurse
  - gserialized2_is_empty
  - gserialized2_hash
  - gserialized2_get_float_box_p
  - gserialized2_read_gbox_p
  - gserialized2_peek_gbox_p
  - gserialized2_copy_point
  - gserialized2_peek_first_point
  - gserialized2_get_gbox_p
  - gserialized2_fast_gbox_p
  - gserialized2_from_lwpoint_size
  - gserialized2_from_lwline_size
  - gserialized2_from_lwtriangle_size
  - gserialized2_from_lwpoly_size
  - gserialized2_from_lwcircstring_size
  - gserialized2_from_lwcollection_size
  - gserialized2_from_any_size
  - gserialized2_from_lwgeom_size
  - gserialized2_from_lwpoint
  - gserialized2_from_lwline
  - gserialized2_from_lwpoly
  - gserialized2_from_lwtriangle
  - gserialized2_from_lwcircstring
  - gserialized2_from_lwcollection
  - gserialized2_from_lwgeom_any
  - gserialized2_from_extended_flags
  - gserialized2_from_gbox
  - gserialized2_from_lwgeom
  - lwpoint_from_gserialized2_buffer
  - lwline_from_gserialized2_buffer
  - lwpoly_from_gserialized2_buffer
  - lwtriangle_from_gserialized2_buffer
  - lwcircstring_from_gserialized2_buffer
  - lwcollection_from_gserialized2_buffer
  - lwgeom_from_gserialized2_buffer
  - lwgeom_from_gserialized2
  - gserialized2_set_gbox
  - gserialized2_drop_gbox
  source_file: /src/postgis/liblwgeom/gserialized2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_to_kml2
  - lwgeom_to_kml2_sb
  - ptarray_to_kml2_sb
  - lwpoint_to_kml2_sb
  - lwline_to_kml2_sb
  - lwtriangle_to_kml2_sb
  - lwpoly_to_kml2_sb
  - lwcollection_to_kml2_sb
  source_file: /src/postgis/liblwgeom/lwout_kml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringbuffer_create
  - stringbuffer_init_with_size
  - stringbuffer_release
  - stringbuffer_init
  - stringbuffer_init_varlena
  - stringbuffer_create_with_size
  - stringbuffer_destroy
  - stringbuffer_clear
  - stringbuffer_lastchar
  - stringbuffer_getstring
  - stringbuffer_getstringcopy
  - stringbuffer_getvarlena
  - stringbuffer_getvarlenacopy
  - stringbuffer_getlength
  - stringbuffer_set
  - stringbuffer_copy
  - stringbuffer_avprintf
  - stringbuffer_aprintf
  - stringbuffer_trim_trailing_white
  - stringbuffer_trim_trailing_zeroes
  source_file: /src/postgis/liblwgeom/stringbuffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dimension_qualifiers_to_wkt_sb
  - empty_to_wkt_sb
  - coordinate_to_wkt_sb
  - ptarray_to_wkt_sb
  - lwpoint_to_wkt_sb
  - lwline_to_wkt_sb
  - lwpoly_to_wkt_sb
  - lwcircstring_to_wkt_sb
  - lwmpoint_to_wkt_sb
  - lwmline_to_wkt_sb
  - lwmpoly_to_wkt_sb
  - lwcompound_to_wkt_sb
  - lwcurvepoly_to_wkt_sb
  - lwmcurve_to_wkt_sb
  - lwmsurface_to_wkt_sb
  - lwcollection_to_wkt_sb
  - lwtriangle_to_wkt_sb
  - lwtin_to_wkt_sb
  - lwpsurface_to_wkt_sb
  - lwgeom_to_wkt_sb
  - lwgeom_to_wkt_internal
  - lwgeom_to_wkt
  - lwgeom_to_wkt_varlena
  source_file: /src/postgis/liblwgeom/lwout_wkt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: buffer_size
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/liblwgeom/lwout_wkt.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_homogenizebuffer
  - lwcollection_build_buffer
  - lwcollection_homogenize
  - lwgeom_homogenize
  source_file: /src/postgis/liblwgeom/lwhomogenize.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cnt[NUMTYPES]
        type: int
      - name: '* buf[NUMTYPES]'
        type: LWCOLLECTION
      item_type: struct
      name: HomogenizeBuffer
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/postgis/liblwgeom/lwhomogenize.c
    typedefs: []
    union: []
- function_names:
  - distance3d_sqr_pt4d_pt4d
  - improve_structure
  - update_r
  - update_means
  - kmeans_init
  - kmeans
  - lwgeom_cluster_kmeans
  source_file: /src/postgis/liblwgeom/lwkmeans.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KMEANS_NULL_CLUSTER
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postgis/liblwgeom/lwkmeans.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: KMEANS_MAX_ITERATIONS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postgis/liblwgeom/lwkmeans.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/intervaltree.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ITREE_MAX_NODES
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postgis/liblwgeom/intervaltree.h
      type_or_value: '4'
    structs:
    - fields:
      - name: min
        type: double
      - name: max
        type: double
      - name: '*children[ITREE_MAX_NODES]'
        type: struct IntervalTreeNode
      - name: edgeIndex
        type: uint32_t
      - name: numChildren
        type: uint32_t
      item_type: struct
      name: IntervalTreeNode
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/postgis/liblwgeom/intervaltree.h
    - fields:
      - name: '*nodes'
        type: struct IntervalTreeNode
      - name: '**indexes'
        type: struct IntervalTreeNode
      - name: '**indexArrays'
        type: POINTARRAY
      - name: numIndexes
        type: uint32_t
      - name: '*ringCounts'
        type: uint32_t
      - name: numPolys
        type: uint32_t
      - name: numNodes
        type: uint32_t
      - name: maxNodes
        type: uint32_t
      item_type: struct
      name: IntervalTree
      pos:
        line_end: 65
        line_start: 55
        source_file: /src/postgis/liblwgeom/intervaltree.h
    typedefs:
    - item_type: typedef
      name: IntervalTreeResult
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/postgis/liblwgeom/intervaltree.h
    union: []
- function_names:
  - wkt_yyerror
  - lwgeom_parse_wkt
  - WKT_ERROR
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YY_CAST
  - YY_REINTERPRET_CAST
  - YYSIZEOF
  - YY_
  - YY_
  - YY_USE
  - YY_INITIAL_VALUE
  - YY_ASSERT
  - YYSTACK_BYTES
  - YYSTACK_RELOCATE
  - YYCOPY
  - YYCOPY
  - YYTRANSLATE
  - YY_ACCESSING_SYMBOL
  - yysymbol_name
  - yypact_value_is_default
  - yytable_value_is_error
  - YYRECOVERING
  - YYBACKUP
  - YYLLOC_DEFAULT
  - YYRHSLOC
  - YYDPRINTF
  - YYLOCATION_PRINT
  - yy_location_print_
  - YY_LOCATION_PRINT
  - YYLOCATION_PRINT
  - YY_SYMBOL_PRINT
  - yy_symbol_value_print
  - yy_symbol_print
  - yy_stack_print
  - YY_STACK_PRINT
  - yy_reduce_print
  - YY_REDUCE_PRINT
  - YYDPRINTF
  - yypcontext_expected_tokens
  - yystrlen
  - yystrlen
  - yystpcpy
  - yytnamerr
  - yy_syntax_error_arguments
  - yysyntax_error
  - YYCASE_
  - yydestruct
  - switch
  - yyparse
  - YYPOPSTACK
  source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
  types:
    enum:
    - enumerators:
      - name: YYSYMBOL_YYerror
        value: '1'
      - name: YYSYMBOL_POINT_TOK
        value: '3'
      - name: YYSYMBOL_POLYGON_TOK
        value: '5'
      - name: YYSYMBOL_MLINESTRING_TOK
        value: '7'
      - name: YYSYMBOL_CURVEPOLYGON_TOK
        value: '11'
      - name: YYSYMBOL_COMMA_TOK
        value: '17'
      - name: YYSYMBOL_CIRCULARSTRING_TOK
        value: '13'
      - name: YYSYMBOL_MSURFACE_TOK
        value: '9'
      - name: YYSYMBOL_RBRACKET_TOK
        value: '15'
      - name: YYSYMBOL_SEMICOLON_TOK
        value: '19'
      - name: YYSYMBOL_YYACCEPT
        value: '26'
      - name: YYSYMBOL_patch_list
        value: '37'
      - name: YYSYMBOL_compoundcurve
        value: '48'
      - name: YYSYMBOL_geometry_no_srid
        value: '28'
      - name: YYSYMBOL_triangle_untagged
        value: '59'
      - name: YYSYMBOL_multicurve
        value: '50'
      - name: YYSYMBOL_polygon_untagged
        value: '39'
      - name: YYSYMBOL_point_list
        value: '61'
      - name: YYSYMBOL_coordinate
        value: '65'
      - name: YYSYMBOL_geometry_list
        value: '30'
      - name: YYSYMBOL_multilinestring
        value: '52'
      - name: YYSYMBOL_curvepolygon
        value: '41'
      - name: YYSYMBOL_YYEMPTY
        value: '-2'
      - name: YYSYMBOL_curvering_list
        value: '42'
      - name: YYSYMBOL_multisurface
        value: '31'
      - name: YYSYMBOL_ptarray
        value: '64'
      - name: YYSYMBOL_linestring_list
        value: '53'
      - name: YYSYMBOL_POLYHEDRALSURFACE_TOK
        value: '22'
      - name: YYSYMBOL_patchring_list
        value: '44'
      - name: YYSYMBOL_tin
        value: '33'
      - name: YYSYMBOL_linestring
        value: '55'
      - name: YYSYMBOL_DIMENSIONALITY_TOK
        value: '24'
      - name: YYSYMBOL_triangle
        value: '58'
      - name: YYSYMBOL_patchring
        value: '46'
      - name: YYSYMBOL_multipolygon
        value: '35'
      - name: YYSYMBOL_triangle_list
        value: '57'
      - name: YYSYMBOL_YYUNDEF
        value: '2'
      - name: YYSYMBOL_LINESTRING_TOK
        value: '4'
      - name: YYSYMBOL_MPOINT_TOK
        value: '6'
      - name: YYSYMBOL_MPOLYGON_TOK
        value: '8'
      - name: YYSYMBOL_MCURVE_TOK
        value: '10'
      - name: YYSYMBOL_LBRACKET_TOK
        value: '16'
      - name: YYSYMBOL_COMPOUNDCURVE_TOK
        value: '12'
      - name: YYSYMBOL_COLLECTION_TOK
        value: '14'
      - name: YYSYMBOL_EMPTY_TOK
        value: '18'
      - name: YYSYMBOL_TRIANGLE_TOK
        value: '20'
      - name: YYSYMBOL_polygon
        value: '38'
      - name: YYSYMBOL_geometry
        value: '27'
      - name: YYSYMBOL_ring
        value: '47'
      - name: YYSYMBOL_multipoint
        value: '60'
      - name: YYSYMBOL_compound_list
        value: '49'
      - name: YYSYMBOL_patch
        value: '40'
      - name: YYSYMBOL_geometrycollection
        value: '29'
      - name: YYSYMBOL_point_untagged
        value: '62'
      - name: YYSYMBOL_curve_list
        value: '51'
      - name: YYSYMBOL_YYEOF
        value: '0'
      - name: YYSYMBOL_point
        value: '63'
      - name: YYSYMBOL_surface_list
        value: '32'
      - name: YYSYMBOL_TIN_TOK
        value: '21'
      - name: YYSYMBOL_circularstring
        value: '54'
      - name: YYSYMBOL_curvering
        value: '43'
      - name: YYSYMBOL_polyhedralsurface
        value: '34'
      - name: YYSYMBOL_DOUBLE_TOK
        value: '23'
      - name: YYSYMBOL_linestring_untagged
        value: '56'
      - name: YYSYMBOL_ring_list
        value: '45'
      - name: YYSYMBOL_polygon_list
        value: '36'
      - name: YYSYMBOL_SRID_TOK
        value: '25'
      item_type: enum
      name: yysymbol_kind_t
      pos:
        line_end: 279
        line_start: 210
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    preproc_defs:
    - item_type: preproc_def
      name: YYBISON
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '30802'
    - item_type: preproc_def
      name: YYBISON_VERSION
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '"3.8.2"'
    - item_type: preproc_def
      name: YYSKELETON_NAME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '"yacc.c"'
    - item_type: preproc_def
      name: YYPURE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPUSH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYPULL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: yyparse
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yyparse
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yylex
    - item_type: preproc_def
      name: yyerror
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yyerror
    - item_type: preproc_def
      name: yydebug
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yydebug
    - item_type: preproc_def
      name: yynerrs
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yynerrs
    - item_type: preproc_def
      name: yylval
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yylval
    - item_type: preproc_def
      name: yychar
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yychar
    - item_type: preproc_def
      name: yylloc
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: wkt_yylloc
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_NULLPTR
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: ((void*)0)
    - item_type: preproc_def
      name: UINT_LEAST8_MAX
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '255'
    - item_type: preproc_def
      name: UINT_LEAST16_MAX
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __PTRDIFF_TYPE__
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __PTRDIFF_MAX__
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: ptrdiff_t
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: PTRDIFF_MAX
    - item_type: preproc_def
      name: YYPTRDIFF_T
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: long
    - item_type: preproc_def
      name: YYPTRDIFF_MAXIMUM
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __SIZE_TYPE__
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: size_t
    - item_type: preproc_def
      name: YYSIZE_T
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: unsigned
    - item_type: preproc_def
      name: YYSIZE_MAXIMUM
      pos:
        line_end: 390
        line_start: 385
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: "YY_CAST (YYPTRDIFF_T,                                 \\\n           (YYPTRDIFF_MAXIMUM
        < YY_CAST (YYSIZE_T, -1)  \\\n            ? YYPTRDIFF_MAXIMUM                         \\\n
        \           : YY_CAST (YYSIZE_T, -1)))"
    - item_type: preproc_def
      name: YY_ATTRIBUTE_PURE
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __attribute__ ((__pure__))
    - item_type: preproc_def
      name: YY_ATTRIBUTE_UNUSED
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __attribute__ ((__unused__))
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 442
        line_start: 439
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
      pos:
        line_end: 447
        line_start: 443
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                                     \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuninitialized\\\"\")              \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wmaybe-uninitialized\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_MAYBE_UNINITIALIZED_END
      pos:
        line_end: 450
        line_start: 448
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_BEGIN
      pos:
        line_end: 465
        line_start: 462
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: "_Pragma (\"GCC diagnostic push\")                            \\\n
        \   _Pragma (\"GCC diagnostic ignored \\\"-Wuseless-cast\\\"\")"
    - item_type: preproc_def
      name: YY_IGNORE_USELESS_CAST_END
      pos:
        line_end: 467
        line_start: 465
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: _Pragma ("GCC diagnostic pop")
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __builtin_alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: __alloca
    - item_type: preproc_def
      name: alloca
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: _alloca
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: alloca
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '4032 '
    - item_type: preproc_def
      name: YYSTACK_ALLOC
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: YYMALLOC
    - item_type: preproc_def
      name: YYSTACK_FREE
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: YYFREE
    - item_type: preproc_def
      name: YYSTACK_ALLOC_MAXIMUM
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: YYSIZE_MAXIMUM
    - item_type: preproc_def
      name: EXIT_SUCCESS
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YYMALLOC
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: malloc
    - item_type: preproc_def
      name: YYFREE
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: free
    - item_type: preproc_def
      name: YYSTACK_GAP_MAXIMUM
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: (YYSIZEOF (union yyalloc) - 1)
    - item_type: preproc_def
      name: YYCOPY_NEEDED
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YYFINAL
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '80'
    - item_type: preproc_def
      name: YYLAST
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '294'
    - item_type: preproc_def
      name: YYNTOKENS
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '26'
    - item_type: preproc_def
      name: YYNNTS
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '40'
    - item_type: preproc_def
      name: YYNRULES
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '136'
    - item_type: preproc_def
      name: YYNSTATES
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '264'
    - item_type: preproc_def
      name: YYMAXUTOK
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '280'
    - item_type: preproc_def
      name: YYPACT_NINF
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: (-90)
    - item_type: preproc_def
      name: YYTABLE_NINF
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: yyerrok
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: (yyerrstatus = 0)
    - item_type: preproc_def
      name: yyclearin
      pos:
        line_end: 967
        line_start: 966
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: (yychar = YYEMPTY)
    - item_type: preproc_def
      name: YYACCEPT
      pos:
        line_end: 969
        line_start: 968
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: goto yyacceptlab
    - item_type: preproc_def
      name: YYABORT
      pos:
        line_end: 970
        line_start: 969
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: goto yyabortlab
    - item_type: preproc_def
      name: YYERROR
      pos:
        line_end: 971
        line_start: 970
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: goto yyerrorlab
    - item_type: preproc_def
      name: YYNOMEM
      pos:
        line_end: 972
        line_start: 971
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: goto yyexhaustedlab
    - item_type: preproc_def
      name: YYERRCODE
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: YYUNDEF
    - item_type: preproc_def
      name: YYFPRINTF
      pos:
        line_end: 1030
        line_start: 1029
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: fprintf
    - item_type: preproc_def
      name: YYLOCATION_PRINT
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: yy_location_print_
    - item_type: preproc_def
      name: YY_LOCATION_PRINT
      pos:
        line_end: 1093
        line_start: 1092
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: YYLOCATION_PRINT
    - item_type: preproc_def
      name: YYINITDEPTH
      pos:
        line_end: 1215
        line_start: 1214
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '200'
    - item_type: preproc_def
      name: YYMAXDEPTH
      pos:
        line_end: 1226
        line_start: 1225
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: yystpcpy
      pos:
        line_end: 1299
        line_start: 1298
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type_or_value: stpcpy
    structs:
    - fields:
      - name: '*yyssp'
        type: yy_state_t
      - name: yytoken
        type: yysymbol_kind_t
      - name: '*yylloc'
        type: YYLTYPE
      item_type: struct
      name: yypcontext_t
      pos:
        line_end: 1235
        line_start: 1230
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    typedefs:
    - item_type: typedef
      name: yysymbol_kind_t
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_int8
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: signed char
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_int16
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: short
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: unsigned char
    - item_type: typedef
      name: yytype_uint8
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: unsigned short
    - item_type: typedef
      name: yytype_uint16
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: int
    - item_type: typedef
      name: yy_state_t
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
    - item_type: typedef
      name: yy_state_fast_t
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
      type: int
    union:
    - fields:
      - name: yyss_alloc
        type: yy_state_t
      - name: yyvs_alloc
        type: YYSTYPE
      - name: yyls_alloc
        type: YYLTYPE
      item_type: union
      name: yyalloc
      pos:
        line_end: 554
        line_start: 549
        source_file: /src/postgis/liblwgeom/lwin_wkt_parse.c
- function_names:
  - p4d_same
  - p3d_same
  - p3dz_same
  - p2d_same
  - lw_segment_side
  - lw_seg_length
  - lw_pt_in_arc
  - lw_pt_in_seg
  - lw_arc_is_pt
  - lw_arc_length
  - lw_arc_side
  - lw_arc_center
  - pt_in_ring_2d
  - lw_seg_interact
  - lw_segment_intersects
  - lwline_crossing_direction
  - geohash_point
  - geohash_point_as_int
  - decode_geohash_bbox
  - lwgeom_geohash_precision
  - lwgeom_geohash
  source_file: /src/postgis/liblwgeom/lwalgorithm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hexbytes_from_bytes
  - lwgeom_wkb_needs_srid
  - lwgeom_wkb_type
  - endian_to_wkb_buf
  - wkb_swap_bytes
  - integer_to_wkb_buf
  - double_nan_to_wkb_buf
  - double_to_wkb_buf
  - empty_to_wkb_size
  - empty_to_wkb_buf
  - ptarray_to_wkb_size
  - ptarray_to_wkb_buf
  - lwpoint_to_wkb_size
  - lwpoint_to_wkb_buf
  - lwline_to_wkb_size
  - lwline_to_wkb_buf
  - lwtriangle_to_wkb_size
  - lwtriangle_to_wkb_buf
  - lwpoly_to_wkb_size
  - lwpoly_to_wkb_buf
  - lwcollection_to_wkb_size
  - lwcollection_to_wkb_buf
  - lwgeom_to_wkb_size
  - lwgeom_to_wkb_buf
  - lwgeom_to_wkb_write_buf
  - lwgeom_to_wkb_buffer
  - lwgeom_to_hexwkb_buffer
  - lwgeom_to_wkb_varlena
  - lwgeom_to_hexwkb_varlena
  source_file: /src/postgis/liblwgeom/lwout_wkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN_SIZE
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/postgis/liblwgeom/lwout_wkb.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_allocator
  - default_freeor
  - default_reallocator
  - default_noticereporter
  - default_debuglogger
  - default_errorreporter
  - lwgeom_set_handlers
  - lwgeom_set_debuglogger
  - lwnotice
  - lwerror
  - lwdebug
  - lwtype_name
  - lwalloc
  - lwalloc0
  - lwrealloc
  - lwfree
  - lwstrdup
  - lwmessage_truncate
  - clamp_srid
  - dumb_toupper
  - lwflags
  - geometry_type_from_string
  source_file: /src/postgis/liblwgeom/lwutil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LW_MSG_MAXLEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/liblwgeom/lwutil.c
      type_or_value: '256'
    - item_type: preproc_def
      name: GEOMTYPE_STRUCT_ARRAY_LEN
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/postgis/liblwgeom/lwutil.c
      type_or_value: (sizeof geomtype_struct_array/sizeof(struct geomtype_struct))
    structs:
    - fields:
      - name: '*typename'
        type: char
      - name: type
        type: int
      - name: z
        type: int
      - name: m
        type: int
      item_type: struct
      name: geomtype_struct
      pos:
        line_end: 368
        line_start: 362
        source_file: /src/postgis/liblwgeom/lwutil.c
    typedefs: []
    union: []
- function_names:
  - lwcollection_release
  - lwcollection_construct
  - lwcollection_construct_empty
  - lwcollection_getsubgeom
  - lwcollection_clone
  - lwcollection_clone_deep
  - lwcollection_reserve
  - lwcollection_add_lwgeom
  - lwcollection_concat_in_place
  - lwcollection_segmentize2d
  - lwcollection_same
  - lwcollection_ngeoms
  - lwcollection_free
  - lwcollection_largest_dimension
  - lwcollection_extract_recursive
  - lwcollection_extract
  - lwcollection_force_dims
  - lwcollection_count_vertices
  - lwcollection_allows_subtype
  - lwcollection_startpoint
  source_file: /src/postgis/liblwgeom/lwcollection.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHECK_LWGEOM_ZM
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postgis/liblwgeom/lwcollection.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gbox_new
  - gbox_init
  - gbox_clone
  - box3d_from_gbox
  - box3d_to_gbox
  - gbox_expand
  - gbox_expand_xyzm
  - gbox_union
  - gbox_same
  - gbox_same_2d
  - gbox_same_2d_float
  - gbox_is_valid
  - gbox_merge_point3d
  - gbox_init_point3d
  - gbox_contains_point3d
  - gbox_merge
  - gbox_overlaps
  - gbox_overlaps_2d
  - gbox_contains_2d
  - gbox_within_2d
  - gbox_contains_point2d
  - gbox_from_string
  - gbox_to_string
  - gbox_copy
  - gbox_duplicate
  - gbox_serialized_size
  - lw_arc_calculate_gbox_cartesian_2d
  - lw_arc_calculate_gbox_cartesian
  - ptarray_calculate_gbox_cartesian_2d
  - ptarray_calculate_gbox_cartesian_3d
  - ptarray_calculate_gbox_cartesian_4d
  - ptarray_calculate_gbox_cartesian
  - lwcircstring_calculate_gbox_cartesian
  - lwpoint_calculate_gbox_cartesian
  - lwline_calculate_gbox_cartesian
  - lwtriangle_calculate_gbox_cartesian
  - lwpoly_calculate_gbox_cartesian
  - lwcollection_calculate_gbox_cartesian
  - lwgeom_calculate_gbox_cartesian
  - gbox_float_round
  - gbox_get_sortable_hash
  source_file: /src/postgis/liblwgeom/gbox.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: u
        type: uint32_t
      - name: f
        type: float
      item_type: union
      name: floatuint
      pos:
        line_end: 812
        line_start: 809
        source_file: /src/postgis/liblwgeom/gbox.c
- function_names:
  - lwcircstring_construct
  - lwcircstring_construct_empty
  - lwcircstring_release
  - lwcircstring_free
  - printLWCIRCSTRING
  - lwcircstring_clone
  - lwcircstring_same
  - lwcircstring_from_lwpointarray
  - lwcircstring_from_lwmpoint
  - lwcircstring_addpoint
  - lwcircstring_removepoint
  - lwcircstring_setPoint4d
  - lwcircstring_is_closed
  - lwcircstring_length
  - lwcircstring_length_2d
  - lwcircstring_get_lwpoint
  source_file: /src/postgis/liblwgeom/lwcircstring.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/effectivearea.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _EFFECTIVEAREA_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/liblwgeom/effectivearea.h
      type_or_value: '1'
    structs:
    - fields:
      - name: area
        type: double
      - name: treeindex
        type: int
      - name: prev
        type: int
      - name: next
        type: int
      item_type: struct
      name: areanode
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/liblwgeom/effectivearea.h
    - fields:
      - name: maxSize
        type: int
      - name: usedSize
        type: int
      - name: '**key_array'
        type: areanode
      item_type: struct
      name: MINHEAP
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/postgis/liblwgeom/effectivearea.h
    - fields:
      - name: '*inpts'
        type: POINTARRAY
      - name: '*initial_arealist'
        type: areanode
      - name: '*res_arealist'
        type: double
      item_type: struct
      name: EFFECTIVE_AREAS
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/postgis/liblwgeom/effectivearea.h
    typedefs: []
    union: []
- function_names:
  - calc_weighted_distances_3d
  - iterate_4d
  - init_guess
  - lwmpoint_extract_points_4d
  - lwmpoint_median
  - lwgeom_median
  source_file: /src/postgis/liblwgeom/lwgeom_median.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - segment_locate_along
  - ptarray_locate_along
  - lwline_locate_along
  - lwmline_locate_along
  - lwpoint_locate_along
  - lwmpoint_locate_along
  - lwgeom_locate_along
  - lwpoint_get_ordinate
  - lwpoint_set_ordinate
  - point_interpolate
  - lwpoint_clip_to_ordinate_range
  - lwmpoint_clip_to_ordinate_range
  - ptarray_clamp_to_ordinate_range
  - lwline_clip_to_ordinate_range
  - lwpoly_clip_to_ordinate_range
  - lwtriangle_clip_to_ordinate_range
  - lwcollection_clip_to_ordinate_range
  - lwgeom_clip_to_ordinate_range
  - lwgeom_locate_between
  - lwgeom_interpolate_point
  - segments_tcpa
  - ptarray_collect_mvals
  - compare_double
  - uniq
  - ptarray_locate_along_linear
  - lwgeom_tcpa
  - lwgeom_cpa_within
  source_file: /src/postgis/liblwgeom/lwlinearreferencing.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_to_encoded_polyline
  - lwline_to_encoded_polyline
  - lwmmpoint_to_encoded_polyline
  - pointarray_to_encoded_polyline
  source_file: /src/postgis/liblwgeom/lwout_encoded_polyline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geos_envelope_surrogate
  - make_strtree
  - destroy_strtree
  - query_accumulate
  - union_intersecting_pairs
  - cluster_intersecting
  - dbscan_update_context
  - union_if_available
  - union_dbscan_minpoints_1
  - union_dbscan_general
  - union_dbscan
  - cluster_within_distance
  - combine_geometries
  source_file: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '** items_found'
        type: void
      - name: items_found_size
        type: uint32_t
      - name: num_items_found
        type: uint32_t
      item_type: struct
      name: QueryContext
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    - fields:
      - name: '* tree'
        type: GEOSSTRtree
      - name: '** envelopes'
        type: GEOSGeometry
      - name: '* geom_ids'
        type: uint32_t
      - name: num_geoms
        type: uint32_t
      item_type: struct
      name: STRTree
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/postgis/liblwgeom/lwgeom_geos_cluster.c
    typedefs: []
    union: []
- function_names:
  - POW2
  - deg2rad
  - rad2deg
  source_file: /src/postgis/liblwgeom/lwgeodetic.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWGEODETIC_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: 0.0/0.0
    - item_type: preproc_def
      name: FP_TOLERANCE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: 5e-14
    - item_type: preproc_def
      name: PIR_NO_INTERACT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PIR_INTERSECTS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PIR_COLINEAR
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PIR_A_TOUCH_RIGHT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PIR_A_TOUCH_LEFT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: PIR_B_TOUCH_RIGHT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: PIR_B_TOUCH_LEFT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: lon
        type: double
      - name: lat
        type: double
      item_type: struct
      name: GEOGRAPHIC_POINT
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
    - fields:
      - name: start
        type: GEOGRAPHIC_POINT
      - name: end
        type: GEOGRAPHIC_POINT
      item_type: struct
      name: GEOGRAPHIC_EDGE
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
    - fields:
      - name: measure
        type: double
      - name: index
        type: uint32_t
      item_type: struct
      name: DISTANCE_ORDER
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/postgis/liblwgeom/lwgeodetic.h
    typedefs: []
    union: []
- function_names:
  - lwmpoint_release
  - lwmpoint_construct_empty
  - lwmpoint_add_lwpoint
  - lwmpoint_construct
  - lwmpoint_free
  - lwmpoint_from_lwgeom
  source_file: /src/postgis/liblwgeom/lwmpoint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - prepend_node
  - pop_node
  - add_lwgeom_to_stack
  - extract_pointarrays_from_lwgeom
  - unroll_collection
  - unroll_collections
  - lwpointiterator_advance
  - lwpointiterator_peek
  - lwpointiterator_has_next
  - lwpointiterator_next
  - lwpointiterator_modify_next
  - lwpointiterator_create
  - lwpointiterator_create_rw
  - lwpointiterator_destroy
  source_file: /src/postgis/liblwgeom/lwiterator.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* next'
        type: struct LISTNODE
      - name: '* item'
        type: void
      item_type: struct
      name: LISTNODE
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/postgis/liblwgeom/lwiterator.c
    - fields:
      - name: '* geoms'
        type: LISTNODE
      - name: '* pointarrays'
        type: LISTNODE
      - name: i
        type: uint32_t
      - name: allow_modification
        type: char
      item_type: struct
      name: LWPOINTITERATOR
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/postgis/liblwgeom/lwiterator.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/gserialized.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwpoint_getPoint2d_p
  - lwpoint_getPoint3dz_p
  - lwpoint_getPoint3dm_p
  - lwpoint_getPoint4d_p
  - lwpoint_get_x
  - lwpoint_get_y
  - lwpoint_get_z
  - lwpoint_get_m
  - lwpoint_construct
  - lwpoint_construct_empty
  - lwpoint_make2d
  - lwpoint_make3dz
  - lwpoint_make3dm
  - lwpoint_make4d
  - lwpoint_make
  - lwpoint_free
  - printLWPOINT
  - lwpoint_clone
  - lwpoint_release
  - lwpoint_same
  - lwpoint_same2d
  - lwpoint_project_lwpoint
  - lwpoint_project
  - lwpoint_force_dims
  source_file: /src/postgis/liblwgeom/lwpoint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SET_PARSER_ERROR
  - wkt_lexer_read_srid
  - wkt_dimensionality
  - wkt_parser_set_dims
  - wkt_pointarray_dimensionality
  - wkt_parser_coord_2
  - wkt_parser_coord_3
  - wkt_parser_coord_4
  - wkt_parser_ptarray_add_coord
  - wkt_parser_ptarray_new
  - wkt_parser_point_new
  - wkt_parser_linestring_new
  - wkt_parser_circularstring_new
  - wkt_parser_triangle_new
  - wkt_parser_polygon_new
  - wkt_parser_polygon_add_ring
  - wkt_parser_polygon_finalize
  - wkt_parser_curvepolygon_new
  - wkt_parser_curvepolygon_add_ring
  - wkt_parser_curvepolygon_finalize
  - wkt_parser_collection_new
  - wkt_parser_compound_new
  - wkt_parser_compound_add_geom
  - wkt_parser_compound_finalize
  - wkt_parser_collection_add_geom
  - wkt_parser_collection_finalize
  - wkt_parser_geometry_new
  - lwgeom_parser_result_init
  - lwgeom_parser_result_free
  - lwgeom_from_wkt
  source_file: /src/postgis/liblwgeom/lwin_wkt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bytebuffer_init_with_size
  - bytebuffer_destroy_buffer
  - bytebuffer_makeroom
  - bytebuffer_get_buffer_varlena
  - bytebuffer_get_buffer
  - bytebuffer_append_byte
  - bytebuffer_append_bytebuffer
  - bytebuffer_append_varint
  - bytebuffer_append_uvarint
  - bytebuffer_getlength
  - bytebuffer_get_buffer_copy
  - bytebuffer_create
  - bytebuffer_create_with_size
  - bytebuffer_destroy
  - bytebuffer_reset_reading
  - bytebuffer_clear
  - bytebuffer_append_bulk
  - bytebuffer_append_int
  - bytebuffer_append_double
  - bytebuffer_read_varint
  - bytebuffer_read_uvarint
  - bytebuffer_merge
  source_file: /src/postgis/liblwgeom/bytebuffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sfcgal_triangulated_surface_num_triangles
  - sfcgal_triangulated_surface_triangle_n
  - sfcgal_triangulated_surface_add_triangle
  - sfcgal_polyhedral_surface_num_polygons
  - sfcgal_polyhedral_surface_polygon_n
  - sfcgal_geometry_collection_num_geometries
  - sfcgal_polyhedral_surface_add_polygon
  - lwgeom_sfcgal_version
  - lwgeom_sfcgal_full_version
  - SFCGAL_type_to_lwgeom_type
  - ptarray_from_SFCGAL
  - create_sfcgal_point_by_dimensions
  - ptarray_to_SFCGAL
  - SFCGAL2LWGEOM
  - LWGEOM2SFCGAL
  - lwgeom_sfcgal_noop
  source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LENGTH_SFCGAL_FULL_VERSION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postgis/liblwgeom/lwgeom_sfcgal.c
      type_or_value: '50'
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwpoly_construct
  - lwpoly_construct_rectangle
  - lwpoly_construct_envelope
  - lwpoly_construct_circle
  - lwpoly_construct_empty
  - lwpoly_free
  - printLWPOLY
  - lwpoly_clone
  - lwpoly_clone_deep
  - lwpoly_add_ring
  - lwpoly_force_clockwise
  - lwpoly_is_clockwise
  - lwpoly_release
  - lwpoly_segmentize2d
  - lwpoly_same
  - lwpoly_from_lwlines
  - lwpoly_force_dims
  - lwpoly_count_vertices
  - lwpoly_area
  - lwpoly_perimeter
  - lwpoly_perimeter_2d
  - lwpoly_is_closed
  - lwpoly_startpoint
  - lwpoly_contains_point
  source_file: /src/postgis/liblwgeom/lwpoly.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHECK_POLY_RINGS_ZM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/lwpoly.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rect_node_is_leaf
  - rect_node_cmp
  - rect_tree_free
  - rect_leaf_node_intersects
  - rect_leaf_node_segment_side
  - rect_tree_ring_contains_point
  - rect_tree_area_contains_point
  - rect_node_bounds_point
  - rect_tree_contains_point
  - rect_tree_is_area
  - rect_node_leaf_new
  - rect_node_internal_add_node
  - rect_node_internal_new
  - rect_nodes_merge
  - rect_tree_from_ptarray
  - rect_tree_to_lwgeom
  - rect_tree_to_wkt
  - rect_tree_printf
  - rect_tree_from_lwpoint
  - rect_tree_from_lwline
  - rect_tree_from_lwpoly
  - rect_tree_from_lwcurvepoly
  - rect_tree_from_lwcollection
  - rect_tree_from_lwgeom
  - rect_tree_get_point
  - rect_node_intersects
  - rect_node_to_str
  - rect_tree_intersects_tree_recursive
  - rect_tree_intersects_tree
  - distance_sq
  - distance
  - rect_node_min_distance
  - rect_node_max_distance
  - rect_leaf_node_distance
  - rect_tree_node_sort_cmp
  - rect_node_to_p2d
  - rect_tree_node_sort
  - rect_tree_distance_tree_recursive
  - rect_tree_distance_tree
  source_file: /src/postgis/liblwgeom/lwtree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - G1FLAGS_GET_Z
  - G1FLAGS_GET_M
  - G1FLAGS_GET_BBOX
  - G1FLAGS_GET_GEODETIC
  - G1FLAGS_GET_SOLID
  - G1FLAGS_SET_Z
  - G1FLAGS_SET_M
  - G1FLAGS_SET_BBOX
  - G1FLAGS_SET_GEODETIC
  - G1FLAGS_SET_SOLID
  - G1FLAGS_NDIMS
  - G1FLAGS_GET_ZM
  - G1FLAGS_NDIMS_BOX
  source_file: /src/postgis/liblwgeom/gserialized1.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G1FLAG_Z
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: G1FLAG_M
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: G1FLAG_BBOX
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: G1FLAG_GEODETIC
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: G1FLAG_READONLY
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: G1FLAG_SOLID
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/postgis/liblwgeom/gserialized1.h
      type_or_value: '0x20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringbuffer_makeroom
  - stringbuffer_append_len
  - stringbuffer_append
  - stringbuffer_append_double
  - stringbuffer_append_char
  source_file: /src/postgis/liblwgeom/stringbuffer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _STRINGBUFFER_H
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/liblwgeom/stringbuffer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGBUFFER_STARTSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/stringbuffer.h
      type_or_value: '128'
    structs:
    - fields:
      - name: capacity
        type: size_t
      - name: '*str_end'
        type: char
      - name: '*str_start'
        type: char
      item_type: struct
      name: stringbuffer_t
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/postgis/liblwgeom/stringbuffer.h
    typedefs: []
    union: []
- function_names:
  - option_list_string_to_lower
  - option_list_search
  - option_list_length
  - option_list_parse
  - option_list_gdal_parse
  source_file: /src/postgis/liblwgeom/optionlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_tokener_error_desc
  - findMemberByName
  - parse_coordinates
  - parse_geojson_coord
  - parse_geojson_point
  - parse_geojson_linestring
  - parse_geojson_poly_rings
  - parse_geojson_polygon
  - parse_geojson_multipoint
  - parse_geojson_multilinestring
  - parse_geojson_multipolygon
  - parse_geojson_geometrycollection
  - parse_geojson
  - lwgeom_from_geojson
  source_file: /src/postgis/liblwgeom/lwin_geojson.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_C_VERSION_013
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postgis/liblwgeom/lwin_geojson.c
      type_or_value: (13 << 8)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwgeodetic_tree.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWGEODETIC_TREE_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/lwgeodetic_tree.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CIRC_NODE_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/liblwgeom/lwgeodetic_tree.h
      type_or_value: '8'
    structs:
    - fields:
      - name: center
        type: GEOGRAPHIC_POINT
      - name: radius
        type: double
      - name: num_nodes
        type: uint32_t
      - name: '** nodes'
        type: struct circ_node
      - name: edge_num
        type: int
      - name: geom_type
        type: uint32_t
      - name: d
        type: double
      - name: pt_outside
        type: POINT2D
      - name: '* p1'
        type: POINT2D
      - name: '* p2'
        type: POINT2D
      item_type: struct
      name: circ_node
      pos:
        line_end: 47
        line_start: 35
        source_file: /src/postgis/liblwgeom/lwgeodetic_tree.h
    typedefs: []
    union: []
- function_names:
  - lwmline_release
  - lwmline_construct_empty
  - lwmline_add_lwline
  - lwmline_measured_from_lwmline
  - lwmline_free
  source_file: /src/postgis/liblwgeom/lwmline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptarray_filterm
  - lwpoint_filterm
  - lwline_filterm
  - lwpoly_filterm
  - lwcollection_filterm
  - lwgeom_filter_m_ignore_null
  - lwgeom_filter_m
  source_file: /src/postgis/liblwgeom/lwmval.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWDEBUG
  - LWDEBUGF
  - LWDEBUGG
  - LWDEBUGGF
  - LWDEBUGG
  - LWDEBUGGF
  - LWDEBUG
  - LWDEBUGF
  - LWDEBUGG
  - LWDEBUGGF
  source_file: /src/postgis/liblwgeom/lwgeom_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LWGEOM_LOG_H
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/liblwgeom/lwgeom_log.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - FIRST_BYTE_SET_BBOXES
  - FIRST_BYTE_SET_SIZES
  - FIRST_BYTE_SET_IDLIST
  - FIRST_BYTE_SET_EXTENDED
  - FIRST_BYTE_SET_EMPTY
  - TYPE_PREC_SET_TYPE
  - TYPE_PREC_SET_PREC
  - HIGHER_DIM_SET_HASZ
  - HIGHER_DIM_SET_HASM
  - HIGHER_DIM_SET_PRECZ
  - HIGHER_DIM_SET_PRECM
  source_file: /src/postgis/liblwgeom/lwout_twkb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_N_DIMS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/liblwgeom/lwout_twkb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_BBOX_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/liblwgeom/lwout_twkb.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_SIZE_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/liblwgeom/lwout_twkb.h
      type_or_value: '8'
    structs:
    - fields:
      - name: variant
        type: uint8_t
      - name: prec_xy
        type: int8_t
      - name: prec_z
        type: int8_t
      - name: prec_m
        type: int8_t
      - name: factor[4]
        type: float
      item_type: struct
      name: TWKB_GLOBALS
      pos:
        line_end: 82
        line_start: 74
        source_file: /src/postgis/liblwgeom/lwout_twkb.h
    - fields:
      - name: variant
        type: uint8_t
      - name: '*header_buf'
        type: bytebuffer_t
      - name: '*geom_buf'
        type: bytebuffer_t
      - name: hasz
        type: int
      - name: hasm
        type: int
      - name: '*idlist'
        type: int64_t
      - name: bbox_min[MAX_N_DIMS]
        type: int64_t
      - name: bbox_max[MAX_N_DIMS]
        type: int64_t
      - name: accum_rels[MAX_N_DIMS]
        type: int64_t
      item_type: struct
      name: TWKB_STATE
      pos:
        line_end: 95
        line_start: 84
        source_file: /src/postgis/liblwgeom/lwout_twkb.h
    typedefs: []
    union: []
- function_names:
  - pointArray_svg_rel
  - pointArray_svg_abs
  - assvg_point
  - assvg_line
  - pointArray_svg_arc
  - assvg_circstring
  - assvg_compound
  - assvg_polygon
  - assvg_multipoint
  - assvg_multiline
  - assvg_multipolygon
  - assvg_multicurve
  - assvg_curvepoly
  - assvg_multisurface
  - assvg_collection
  - assvg_geom
  - lwgeom_to_svg
  source_file: /src/postgis/liblwgeom/lwout_svg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwrandom_set_seed
  - _lwrandom_set_seeds
  - _lwrandom_get_seed
  - lwrandom_uniform
  source_file: /src/postgis/liblwgeom/lwrandom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: getpid
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postgis/liblwgeom/lwrandom.c
      type_or_value: _getpid
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptarray_strip_nan_coords_in_place
  - lwgeom_make_geos_friendly
  - ptarray_close2d
  - ring_make_geos_friendly
  - lwpoly_make_geos_friendly
  - lwline_make_geos_friendly
  - lwcollection_make_geos_friendly
  - lwgeom_make_valid
  - lwgeom_make_valid_params
  source_file: /src/postgis/liblwgeom/lwgeom_geos_clean.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UF_create
  - UF_destroy
  - UF_find
  - UF_size
  - UF_union
  - UF_ordered_by_cluster
  - UF_get_collapsed_cluster_ids
  - cmp_int
  - cmp_int_ptr
  source_file: /src/postgis/liblwgeom/lwunionfind.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptarray_has_z
  - ptarray_has_m
  - ptarray_construct
  - ptarray_construct_empty
  - ptarray_insert_point
  - ptarray_append_point
  - ptarray_append_ptarray
  - ptarray_remove_point
  - ptarray_construct_reference_data
  - ptarray_construct_copy_data
  - ptarray_free
  - ptarray_reverse_in_place
  - ptarray_flip_coordinates
  - ptarray_swap_ordinates
  - ptarray_segmentize2d
  - ptarray_same
  - ptarray_same2d
  - ptarray_addPoint
  - ptarray_removePoint
  - ptarray_merge
  - ptarray_clone_deep
  - ptarray_clone
  - ptarray_is_closed
  - ptarray_is_closed_2d
  - ptarray_is_closed_3d
  - ptarray_is_closed_z
  - ptarray_contains_point
  - ptarray_contains_point_partial
  - ptarrayarc_contains_point
  - ptarrayarc_contains_point_partial
  - ptarray_signed_area
  - ptarray_isccw
  - ptarray_force_dims
  - ptarray_substring
  - closest_point_on_segment
  - ptarray_closest_segment_2d
  - ptarray_closest_vertex_2d
  - ptarray_locate_point
  - ptarray_longitude_shift
  - ptarray_remove_repeated_points_minpoints
  - ptarray_remove_repeated_points
  - ptarray_remove_repeated_points_in_place
  - ptarray_dp_findsplit_in_place
  - ptarray_simplify_in_place_tolerance0
  - ptarray_simplify_in_place
  - ptarray_arc_length_2d
  - ptarray_length_2d
  - ptarray_length
  - ptarray_affine
  - gluInvertMatrix
  - ptarray_scale
  - ptarray_startpoint
  - ptarray_grid_in_place
  - ptarray_npoints_in_rect
  - ptarray_scroll_in_place
  source_file: /src/postgis/liblwgeom/ptarray.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_geos_compiled_version
  - lwgeom_geos_error
  - lwgeom_geos_error_minversion
  - GEOS_FREE
  - GEOS_FAIL
  - GEOS_FAIL_DEBUG
  - GEOS_FREE_AND_FAIL
  - GEOS_FREE_AND_FAIL_DEBUG
  - RESULT_SRID
  - geos_destroy
  - ptarray_from_GEOSCoordSeq
  - GEOS2LWGEOM
  - ptarray_to_GEOSCoordSeq
  - ptarray_to_GEOSLinearRing
  - GBOX2GEOS
  - LWGEOM2GEOS
  - make_geos_point
  - make_geos_segment
  - lwgeom_geos_version
  - get_result_srid
  - lwgeom_normalize
  - lwgeom_intersection
  - lwgeom_intersection_prec
  - lwgeom_linemerge
  - lwgeom_linemerge_directed
  - lwgeom_unaryunion
  - lwgeom_unaryunion_prec
  - lwgeom_difference
  - lwgeom_difference_prec
  - lwgeom_symdifference
  - lwgeom_symdifference_prec
  - lwgeom_centroid
  - lwgeom_reduceprecision
  - lwgeom_pointonsurface
  - lwgeom_union
  - lwgeom_union_prec
  - lwgeom_clip_by_rect
  - lwgeom_buildarea
  - lwgeom_is_simple
  - lwgeom_geos_noop
  - lwgeom_snap
  - lwgeom_sharedpaths
  - lwline_offsetcurve
  - lwcollection_offsetcurve
  - lwgeom_offsetcurve
  - lwpoly_to_points_make_cell
  - lwpoly_to_points
  - lwmpoly_to_points
  - lwgeom_to_points
  - lwtin_from_geos
  - lwgeom_delaunay_triangulation
  - lwgeom_get_geos_coordseq_2d
  - lwgeom_voronoi_diagram
  - lwgeom_concavehull
  - lwgeom_simplify_polygonal
  - lwgeom_triangulate_polygon
  source_file: /src/postgis/liblwgeom/lwgeom_geos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTOFIX
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/liblwgeom/lwgeom_geos.c
      type_or_value: LW_TRUE
    - item_type: preproc_def
      name: LWGEOM_GEOS_ERRMSG_MAXSIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/liblwgeom/lwgeom_geos.c
      type_or_value: '256'
    structs:
    - fields:
      - name: x
        type: double
      - name: y
        type: double
      item_type: struct
      name: CellCorner
      pos:
        line_end: 1420
        line_start: 1417
        source_file: /src/postgis/liblwgeom/lwgeom_geos.c
    typedefs: []
    union: []
- function_names:
  - lwline_construct
  - lwline_construct_empty
  - lwline_free
  - printLWLINE
  - lwline_clone
  - lwline_clone_deep
  - lwline_release
  - lwline_segmentize2d
  - lwline_same
  - lwline_from_lwgeom_array
  - lwline_from_ptarray
  - lwline_from_lwmpoint
  - lwline_get_lwpoint
  - lwline_add_lwpoint
  - lwline_removepoint
  - lwline_setPoint4d
  - lwline_measured_from_lwline
  - lwline_remove_repeated_points
  - lwline_is_closed
  - lwline_is_trajectory
  - lwline_force_dims
  - lwline_count_vertices
  - lwline_length
  - lwline_length_2d
  - lwline_interpolate_points
  - lwline_interpolate_point_3d
  - lwline_extend
  source_file: /src/postgis/liblwgeom/lwline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_3dvector_from_points
  - get_3dcross_product
  - project_point_on_plane
  - create_v_line
  - lwgeom_closest_line_3d
  - lwgeom_furthest_line_3d
  - lwgeom_closest_point_3d
  - lw_dist3d_distanceline
  - lw_dist3d_distancepoint
  - lwgeom_maxdistance3d
  - lwgeom_maxdistance3d_tolerance
  - lwgeom_mindistance3d
  - gbox_contains_3d
  - lwgeom_solid_contains_lwgeom
  - lwgeom_mindistance3d_tolerance
  - lw_dist3d_recursive
  - lw_dist3d_distribute_bruteforce
  - lw_dist3d_point_point
  - lw_dist3d_point_line
  - lw_dist3d_point_poly
  - lw_dist3d_point_tri
  - lw_dist3d_line_line
  - lw_dist3d_line_poly
  - lw_dist3d_line_tri
  - lw_dist3d_poly_poly
  - lw_dist3d_poly_tri
  - lw_dist3d_tri_tri
  - lw_dist3d_pt_ptarray
  - lw_dist3d_pt_seg
  - distance3d_pt_pt
  - lw_dist3d_pt_pt
  - lw_dist3d_ptarray_ptarray
  - lw_dist3d_seg_seg
  - lw_dist3d_pt_poly
  - lw_dist3d_pt_tri
  - lw_dist3d_ptarray_poly
  - lw_dist3d_ptarray_tri
  - define_plane
  - pt_in_ring_3d
  source_file: /src/postgis/liblwgeom/measures3d.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bytes_from_hexbytes
  - wkb_parse_state_check
  - lwtype_from_wkb_state
  - byte_from_wkb_state
  - integer_from_wkb_state
  - double_from_wkb_state
  - ptarray_from_wkb_state
  - lwpoint_from_wkb_state
  - lwline_from_wkb_state
  - lwcircstring_from_wkb_state
  - lwpoly_from_wkb_state
  - lwtriangle_from_wkb_state
  - lwcurvepoly_from_wkb_state
  - lwcollection_from_wkb_state
  - lwgeom_from_wkb_state
  - lwgeom_from_wkb
  - lwgeom_from_hexwkb
  source_file: /src/postgis/liblwgeom/lwin_wkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LW_PARSER_MAX_DEPTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postgis/liblwgeom/lwin_wkb.c
      type_or_value: '200'
    structs:
    - fields:
      - name: '*wkb'
        type: uint8_t
      - name: srid
        type: int32_t
      - name: wkb_size
        type: size_t
      - name: swap_bytes
        type: int8_t
      - name: check
        type: int8_t
      - name: lwtype
        type: int8_t
      - name: has_z
        type: int8_t
      - name: has_m
        type: int8_t
      - name: has_srid
        type: int8_t
      - name: error
        type: int8_t
      - name: depth
        type: uint8_t
      - name: '*pos'
        type: uint8_t
      item_type: struct
      name: wkb_parse_state
      pos:
        line_end: 52
        line_start: 38
        source_file: /src/postgis/liblwgeom/lwin_wkb.c
    typedefs: []
    union: []
- function_names:
  - to_rad
  - to_dec
  - lwproj_from_str
  - lwproj_from_str_pipeline
  - lwgeom_transform_from_str
  - lwgeom_transform_pipeline
  - box3d_transform
  - ptarray_transform
  - lwgeom_transform
  source_file: /src/postgis/liblwgeom/lwgeom_transform.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - YY_SC_TO_UI
  - YY_STATE_EOF
  - yyless
  - unput
  - yy_set_interactive
  - yy_set_bol
  - YY_AT_BOL
  - yymore
  - wkt_lexer_unknown
  - YY_INPUT
  - yyterminate
  - YY_FATAL_ERROR
  - yy_get_next_buffer
  - yy_get_previous_state
  - yy_try_NUL_trans
  - input
  - yyrestart
  - yy_switch_to_buffer
  - yy_load_buffer_state
  - yy_create_buffer
  - yy_delete_buffer
  - yy_init_buffer
  - yy_flush_buffer
  - yypush_buffer_state
  - yypop_buffer_state
  - yyensure_buffer_stack
  - yy_scan_buffer
  - yy_scan_string
  - yy_scan_bytes
  - yy_fatal_error
  - yyless
  source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: YY_INT_ALIGNED
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: short int
    - item_type: preproc_def
      name: yy_create_buffer
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_create_buffer
    - item_type: preproc_def
      name: yy_delete_buffer
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_delete_buffer
    - item_type: preproc_def
      name: yy_scan_buffer
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_buffer
    - item_type: preproc_def
      name: yy_scan_string
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_string
    - item_type: preproc_def
      name: yy_scan_bytes
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_bytes
    - item_type: preproc_def
      name: yy_init_buffer
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_init_buffer
    - item_type: preproc_def
      name: yy_flush_buffer
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_flush_buffer
    - item_type: preproc_def
      name: yy_load_buffer_state
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_load_buffer_state
    - item_type: preproc_def
      name: yy_switch_to_buffer
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_switch_to_buffer
    - item_type: preproc_def
      name: yypush_buffer_state
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yypush_buffer_state
    - item_type: preproc_def
      name: yypop_buffer_state
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yypop_buffer_state
    - item_type: preproc_def
      name: yyensure_buffer_stack
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyensure_buffer_stack
    - item_type: preproc_def
      name: yy_flex_debug
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_flex_debug
    - item_type: preproc_def
      name: yyin
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyin
    - item_type: preproc_def
      name: yyleng
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyleng
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylex
    - item_type: preproc_def
      name: yylineno
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylineno
    - item_type: preproc_def
      name: yyout
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyout
    - item_type: preproc_def
      name: yyrestart
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyrestart
    - item_type: preproc_def
      name: yytext
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yytext
    - item_type: preproc_def
      name: yywrap
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yywrap
    - item_type: preproc_def
      name: yyalloc
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyalloc
    - item_type: preproc_def
      name: yyrealloc
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyrealloc
    - item_type: preproc_def
      name: yyfree
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyfree
    - item_type: preproc_def
      name: YY_FLEX_MAJOR_VERSION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_FLEX_MINOR_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '6'
    - item_type: preproc_def
      name: YY_FLEX_SUBMINOR_VERSION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '4'
    - item_type: preproc_def
      name: yy_create_buffer
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_create_buffer
    - item_type: preproc_def
      name: yy_delete_buffer
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_delete_buffer
    - item_type: preproc_def
      name: yy_scan_buffer
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_buffer
    - item_type: preproc_def
      name: yy_scan_string
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_string
    - item_type: preproc_def
      name: yy_scan_bytes
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_scan_bytes
    - item_type: preproc_def
      name: yy_init_buffer
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_init_buffer
    - item_type: preproc_def
      name: yy_flush_buffer
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_flush_buffer
    - item_type: preproc_def
      name: yy_load_buffer_state
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_load_buffer_state
    - item_type: preproc_def
      name: yy_switch_to_buffer
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_switch_to_buffer
    - item_type: preproc_def
      name: yypush_buffer_state
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yypush_buffer_state
    - item_type: preproc_def
      name: yypop_buffer_state
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yypop_buffer_state
    - item_type: preproc_def
      name: yyensure_buffer_stack
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyensure_buffer_stack
    - item_type: preproc_def
      name: yylex
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylex
    - item_type: preproc_def
      name: yyrestart
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyrestart
    - item_type: preproc_def
      name: yylex_init
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylex_init
    - item_type: preproc_def
      name: yylex_init_extra
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylex_init_extra
    - item_type: preproc_def
      name: yylex_destroy
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylex_destroy
    - item_type: preproc_def
      name: yyget_debug
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_debug
    - item_type: preproc_def
      name: yyset_debug
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyset_debug
    - item_type: preproc_def
      name: yyget_extra
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_extra
    - item_type: preproc_def
      name: yyset_extra
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyset_extra
    - item_type: preproc_def
      name: yyget_in
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_in
    - item_type: preproc_def
      name: yyset_in
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyset_in
    - item_type: preproc_def
      name: yyget_out
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_out
    - item_type: preproc_def
      name: yyset_out
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyset_out
    - item_type: preproc_def
      name: yyget_leng
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_leng
    - item_type: preproc_def
      name: yyget_text
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_text
    - item_type: preproc_def
      name: yyget_lineno
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyget_lineno
    - item_type: preproc_def
      name: yyset_lineno
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyset_lineno
    - item_type: preproc_def
      name: yywrap
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yywrap
    - item_type: preproc_def
      name: yyalloc
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyalloc
    - item_type: preproc_def
      name: yyrealloc
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyrealloc
    - item_type: preproc_def
      name: yyfree
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyfree
    - item_type: preproc_def
      name: yytext
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yytext
    - item_type: preproc_def
      name: yyleng
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyleng
    - item_type: preproc_def
      name: yyin
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyin
    - item_type: preproc_def
      name: yyout
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yyout
    - item_type: preproc_def
      name: yy_flex_debug
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yy_flex_debug
    - item_type: preproc_def
      name: yylineno
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: wkt_yylineno
    - item_type: preproc_def
      name: __STDC_LIMIT_MACROS
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INT8_MIN
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (-128)
    - item_type: preproc_def
      name: INT16_MIN
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (-32767-1)
    - item_type: preproc_def
      name: INT32_MIN
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (-2147483647-1)
    - item_type: preproc_def
      name: INT8_MAX
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (127)
    - item_type: preproc_def
      name: INT16_MAX
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (32767)
    - item_type: preproc_def
      name: INT32_MAX
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (2147483647)
    - item_type: preproc_def
      name: UINT8_MAX
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (255U)
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (65535U)
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (4294967295U)
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (~(size_t)0)
    - item_type: preproc_def
      name: yyconst
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: const
    - item_type: preproc_def
      name: yynoreturn
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: YY_NULL
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BEGIN
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (yy_start) = 1 + 2 *
    - item_type: preproc_def
      name: YY_START
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (((yy_start) - 1) / 2)
    - item_type: preproc_def
      name: YYSTATE
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: YY_START
    - item_type: preproc_def
      name: YY_NEW_FILE
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: yyrestart( yyin  )
    - item_type: preproc_def
      name: YY_END_OF_BUFFER_CHAR
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_BUF_SIZE
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '32768'
    - item_type: preproc_def
      name: YY_BUF_SIZE
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: YY_STATE_BUF_SIZE
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
    - item_type: preproc_def
      name: EOB_ACT_CONTINUE_SCAN
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EOB_ACT_END_OF_FILE
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EOB_ACT_LAST_MATCH
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_BUFFER_NEW
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_BUFFER_NORMAL
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YY_BUFFER_EOF_PENDING
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '2'
    - item_type: preproc_def
      name: YY_CURRENT_BUFFER
      pos:
        line_end: 521
        line_start: 518
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: "( (yy_buffer_stack) \\\n                          ? (yy_buffer_stack)[(yy_buffer_stack_top)]
        \\\n                          : NULL)"
    - item_type: preproc_def
      name: YY_CURRENT_BUFFER_LVALUE
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: (yy_buffer_stack)[(yy_buffer_stack_top)]
    - item_type: preproc_def
      name: YY_FLUSH_BUFFER
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: yy_flush_buffer( YY_CURRENT_BUFFER )
    - item_type: preproc_def
      name: yy_new_buffer
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: yy_create_buffer
    - item_type: preproc_def
      name: yytext_ptr
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: yytext
    - item_type: preproc_def
      name: YY_DO_BEFORE_ACTION
      pos:
        line_end: 616
        line_start: 610
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: "(yytext_ptr) = yy_bp; \\\n\tyyleng = (int) (yy_cp - yy_bp);
        \\\n\t(yy_hold_char) = *yy_cp; \\\n\t*yy_cp = '\\0'; \\\n\t(yy_c_buf_p) =
        yy_cp;"
    - item_type: preproc_def
      name: YY_NUM_RULES
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '27'
    - item_type: preproc_def
      name: YY_END_OF_BUFFER
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '28'
    - item_type: preproc_def
      name: REJECT
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: reject_used_but_not_detected
    - item_type: preproc_def
      name: YY_MORE_ADJ
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_USER_ACTION
      pos:
        line_end: 892
        line_start: 886
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: "do { \\\n\twkt_yylloc.first_line = wkt_yylloc.last_line = yylineno;
        \\\n\twkt_yylloc.first_column = wkt_yylloc.last_column; \\\n\twkt_yylloc.last_column
        += yyleng; \\\n\tLWDEBUGF(5,\"lex: %s\", wkt_yytext); \\\n\t} while (0);"
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: 0.0/0.0
    - item_type: preproc_def
      name: YY_NO_INPUT
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INITIAL
      pos:
        line_end: 911
        line_start: 910
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '0'
    - item_type: preproc_def
      name: YY_EXTRA_TYPE
      pos:
        line_end: 922
        line_start: 921
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: void *
    - item_type: preproc_def
      name: YY_READ_BUF_SIZE
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '16384'
    - item_type: preproc_def
      name: YY_READ_BUF_SIZE
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: ECHO
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while
        (0)
    - item_type: preproc_def
      name: YY_START_STACK_INCR
      pos:
        line_end: 1053
        line_start: 1052
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '25'
    - item_type: preproc_def
      name: YY_DECL_IS_OURS
      pos:
        line_end: 1067
        line_start: 1066
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '1'
    - item_type: preproc_def
      name: YY_DECL
      pos:
        line_end: 1071
        line_start: 1070
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: int yylex (void)
    - item_type: preproc_def
      name: YY_BREAK
      pos:
        line_end: 1083
        line_start: 1082
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: break;
    - item_type: preproc_def
      name: YY_RULE_SETUP
      pos:
        line_end: 1087
        line_start: 1085
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: YY_USER_ACTION
    - item_type: preproc_def
      name: YY_EXIT_FAILURE
      pos:
        line_end: 2103
        line_start: 2102
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*yy_input_file'
        type: FILE
      - name: '*yy_ch_buf'
        type: char
      - name: '*yy_buf_pos'
        type: char
      - name: yy_buf_size
        type: int
      - name: yy_n_chars
        type: int
      - name: yy_is_our_buffer
        type: int
      - name: yy_is_interactive
        type: int
      - name: yy_at_bol
        type: int
      - name: yy_bs_lineno
        type: int
      - name: yy_bs_column
        type: int
      - name: yy_fill_buffer
        type: int
      - name: yy_buffer_status
        type: int
      item_type: struct
      name: yy_buffer_state
      pos:
        line_end: 504
        line_start: 444
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
    - fields:
      - name: yy_verify
        type: flex_int32_t
      - name: yy_nxt
        type: flex_int32_t
      item_type: struct
      name: yy_trans_info
      pos:
        line_end: 624
        line_start: 620
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
    typedefs:
    - item_type: typedef
      name: flex_int8_t
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: int8_t
    - item_type: typedef
      name: flex_uint8_t
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: uint8_t
    - item_type: typedef
      name: flex_int16_t
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: int16_t
    - item_type: typedef
      name: flex_uint16_t
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: uint16_t
    - item_type: typedef
      name: flex_int32_t
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: int32_t
    - item_type: typedef
      name: flex_uint32_t
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: uint32_t
    - item_type: typedef
      name: flex_int8_t
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: signed char
    - item_type: typedef
      name: flex_int16_t
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: short int
    - item_type: typedef
      name: flex_int32_t
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: int
    - item_type: typedef
      name: flex_uint8_t
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: unsigned char
    - item_type: typedef
      name: flex_uint16_t
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: unsigned short int
    - item_type: typedef
      name: flex_uint32_t
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: unsigned int
    - item_type: typedef
      name: yy_size_t
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: size_t
    - item_type: typedef
      name: YY_CHAR
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
    - item_type: typedef
      name: yy_state_type
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/postgis/liblwgeom/lwin_wkt_lex.c
      type: int
    union: []
- function_names:
  - lwgeom_force_clockwise
  - lwgeom_is_clockwise
  - lwgeom_reverse
  - lwgeom_reverse_in_place
  - lwgeom_as_lwline
  - lwgeom_as_lwcircstring
  - lwgeom_as_lwcompound
  - lwgeom_as_lwcurvepoly
  - lwgeom_as_lwpoly
  - lwgeom_as_lwtriangle
  - lwgeom_as_lwcollection
  - lwgeom_as_lwmpoint
  - lwgeom_as_lwmline
  - lwgeom_as_lwmpoly
  - lwgeom_as_lwpsurface
  - lwgeom_as_lwtin
  - lwtin_as_lwgeom
  - lwpsurface_as_lwgeom
  - lwmpoly_as_lwgeom
  - lwmline_as_lwgeom
  - lwmpoint_as_lwgeom
  - lwcollection_as_lwgeom
  - lwcircstring_as_lwgeom
  - lwcurvepoly_as_lwgeom
  - lwcompound_as_lwgeom
  - lwpoly_as_lwgeom
  - lwtriangle_as_lwgeom
  - lwline_as_lwgeom
  - lwpoint_as_lwgeom
  - lwtype_multitype
  - lwgeom_as_multi
  - lwgeom_as_curve
  - lwgeom_release
  - lwgeom_clone
  - lwgeom_clone_deep
  - lwgeom_to_ewkt
  - lwgeom_same
  - lwpoint_inside_circle
  - lwgeom_drop_bbox
  - lwgeom_add_bbox
  - lwgeom_refresh_bbox
  - lwgeom_add_bbox_deep
  - lwgeom_get_bbox
  - lwgeom_calculate_gbox
  - lwgeom_drop_srid
  - lwgeom_segmentize2d
  - lwgeom_force_2d
  - lwgeom_force_3dz
  - lwgeom_force_3dm
  - lwgeom_force_4d
  - lwgeom_force_dims
  - lwgeom_force_sfs
  - lwgeom_get_srid
  - lwgeom_has_z
  - lwgeom_has_m
  - lwgeom_is_solid
  - lwgeom_ndims
  - lwgeom_set_geodetic
  - lwgeom_longitude_shift
  - lwgeom_is_closed
  - lwgeom_is_collection
  - lwgeom_is_unitary
  - lwgeom_has_rings
  - lwtype_is_collection
  - lwtype_get_collectiontype
  - lwgeom_free
  - lwgeom_needs_bbox
  - lwgeom_count_vertices
  - lwgeom_dimension
  - lwgeom_count_rings
  - lwgeom_has_srid
  - lwcollection_dimensionality
  - lwgeom_dimensionality
  - lwgeom_remove_repeated_points
  - lwgeom_swap_ordinates
  - lwgeom_set_srid
  - cmp_point_x
  - cmp_point_y
  - lwgeom_remove_repeated_points_in_place
  - lwgeom_simplify_in_place
  - lwgeom_simplify
  - lwgeom_area
  - lwgeom_perimeter
  - lwgeom_perimeter_2d
  - lwgeom_length
  - lwgeom_length_2d
  - lwgeom_affine
  - lwgeom_scale
  - lwgeom_construct_empty
  - lwgeom_startpoint
  - snap_to_int
  - condition_gridspec_scale
  - lwgeom_grid_in_place
  - lwgeom_grid
  - lwgeom_subdivide_recursive
  - lwgeom_subdivide_prec
  - lwgeom_subdivide
  - lwgeom_is_trajectory
  - STATIC_ASSERT
  - trim_preserve_decimal_digits
  - lwgeom_trim_bits_in_place
  - lwgeom_boundary
  - lwgeom_isfinite
  source_file: /src/postgis/liblwgeom/lwgeom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: out_stack_size
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postgis/liblwgeom/lwgeom.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/optionlist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _OPTIONLIST_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/optionlist.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OPTION_LIST_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/liblwgeom/optionlist.h
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - coordinate_to_geojson
  - pointArray_to_geojson
  - asgeojson_srs
  - asgeojson_bbox
  - asgeojson_point_coords
  - asgeojson_line_coords
  - asgeojson_poly_coords
  - asgeojson_point
  - asgeojson_triangle
  - asgeojson_line
  - asgeojson_poly
  - asgeojson_multipoint
  - asgeojson_multiline
  - asgeojson_multipolygon
  - asgeojson_collection
  - asgeojson_geometry
  - lwgeom_to_geojson
  source_file: /src/postgis/liblwgeom/lwout_geojson.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*srs'
        type: char
      - name: '*bbox'
        type: GBOX
      - name: precision
        type: int
      - name: hasz
        type: int
      - name: isCollectionElement
        type: int
      item_type: struct
      name: geojson_opts
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/postgis/liblwgeom/lwout_geojson.c
    typedefs: []
    union: []
- function_names:
  - lwgeom_from_encoded_polyline
  source_file: /src/postgis/liblwgeom/lwin_encoded_polyline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/varint.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LIBLWGEOM_VARINT_H
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/liblwgeom/varint.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwout_x3d.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwunionfind.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWUNIONFIND
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/lwunionfind.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '* clusters'
        type: uint32_t
      - name: '* cluster_sizes'
        type: uint32_t
      - name: num_clusters
        type: uint32_t
      - name: N
        type: uint32_t
      item_type: struct
      name: UNIONFIND
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/postgis/liblwgeom/lwunionfind.h
    typedefs: []
    union: []
- function_names:
  - lwgeom_twkb_type
  - sizeof_bbox
  - write_bbox
  - ptarray_to_twkb_buf
  - lwpoint_to_twkb_buf
  - lwline_to_twkb_buf
  - lwtriangle_to_twkb_buf
  - lwpoly_to_twkb_buf
  - lwmulti_to_twkb_buf
  - lwcollection_to_twkb_buf
  - lwgeom_to_twkb_buf
  - lwgeom_write_to_buffer
  - lwgeom_to_twkb_with_idlist
  - lwgeom_to_twkb
  source_file: /src/postgis/liblwgeom/lwout_twkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - twkb_parse_state_advance
  - twkb_parse_state_varint
  - twkb_parse_state_uvarint
  - twkb_parse_state_double
  - twkb_parse_state_varint_skip
  - lwtype_from_twkb_type
  - byte_from_twkb_state
  - ptarray_from_twkb_state
  - lwpoint_from_twkb_state
  - lwline_from_twkb_state
  - lwpoly_from_twkb_state
  - lwmultipoint_from_twkb_state
  - lwmultiline_from_twkb_state
  - lwmultipoly_from_twkb_state
  - lwcollection_from_twkb_state
  - header_from_twkb_state
  - lwgeom_from_twkb_state
  - lwgeom_from_twkb
  source_file: /src/postgis/liblwgeom/lwin_twkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TWKB_IN_MAXCOORDS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/liblwgeom/lwin_twkb.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*twkb'
        type: uint8_t
      - name: '*twkb_end'
        type: uint8_t
      - name: '*pos'
        type: uint8_t
      - name: check
        type: uint32_t
      - name: lwtype
        type: uint32_t
      - name: has_bbox
        type: uint8_t
      - name: has_size
        type: uint8_t
      - name: has_idlist
        type: uint8_t
      - name: has_z
        type: uint8_t
      - name: has_m
        type: uint8_t
      - name: is_empty
        type: uint8_t
      - name: factor
        type: double
      - name: factor_z
        type: double
      - name: factor_m
        type: double
      - name: size
        type: uint64_t
      - name: magic_byte
        type: uint8_t
      - name: ndims
        type: int
      - name: '*coords'
        type: int64_t
      item_type: struct
      name: twkb_parse_state
      pos:
        line_end: 66
        line_start: 35
        source_file: /src/postgis/liblwgeom/lwin_twkb.c
    typedefs: []
    union: []
- function_names:
  - ptarray_chaikin
  - lwline_chaikin
  - lwpoly_chaikin
  - lwcollection_chaikin
  - lwgeom_chaikin
  source_file: /src/postgis/liblwgeom/lwchaikins.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringlist_capacity_in_bytes
  - stringlist_init_with_size
  - stringlist_init
  - stringlist_release
  - stringlist_create_with_size
  - stringlist_create
  - stringlist_destroy
  - stringlist_cmp
  - stringlist_add_string_internal
  - stringlist_add_string
  - stringlist_add_string_nosort
  - stringlist_sort
  - stringlist_find
  - stringlist_length
  - stringlist_get
  source_file: /src/postgis/liblwgeom/stringlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - distance2d_sqr_pt_pt
  - distance3d_sqr_pt_pt
  - ptarray_point_size
  - getPoint_internal
  - getPoint2d_cp
  - getPoint3d_cp
  - getPoint4d_cp
  - lwgeom_as_lwpoint
  - lwgeom_get_type
  - lwpoint_is_empty
  - lwline_is_empty
  - lwcircstring_is_empty
  - lwpoly_is_empty
  - lwtriangle_is_empty
  - lwcollection_is_empty
  - lwgeom_is_empty
  - uint64_interleave_2
  - uint32_hilbert
  - POSTGIS_FREE_IF_COPY_P
  source_file: /src/postgis/liblwgeom/lwinline.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - itree_free
  - itree_num_nodes_pointarray
  - itree_num_nodes_polygon
  - itree_num_nodes_multipolygon
  - itree_num_rings
  - itree_new_node
  - itree_merge_nodes
  - itree_edge_invalid
  - itree_add_pointarray
  - itree_add_polygon
  - itree_add_multipolygon
  - itree_from_lwgeom
  - itree_segment_side
  - itree_point_on_segment
  - itree_point_in_ring_recursive
  - itree_point_in_ring
  - itree_point_in_multipolygon
  source_file: /src/postgis/liblwgeom/intervaltree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_closest_line
  - lwgeom_furthest_line
  - lwgeom_closest_point
  - lwgeom_furthest_point
  - lw_dist2d_distpts_init
  - lw_dist2d_distanceline
  - lw_dist2d_distancepoint
  - lwgeom_maxdistance2d
  - lwgeom_maxdistance2d_tolerance
  - lwgeom_mindistance2d
  - lwgeom_mindistance2d_tolerance
  - lw_dist2d_comp
  - lw_dist2d_is_collection
  - lw_dist2d_recursive
  - lw_dist2d_distribute_bruteforce
  - lw_dist2d_check_overlap
  - lw_dist2d_distribute_fast
  - lw_dist2d_point_point
  - lw_dist2d_point_line
  - lw_dist2d_point_tri
  - lw_dist2d_point_circstring
  - lw_dist2d_point_poly
  - lw_dist2d_point_curvepoly
  - lw_dist2d_line_line
  - lw_dist2d_line_tri
  - lw_dist2d_line_circstring
  - lw_dist2d_line_poly
  - lw_dist2d_line_curvepoly
  - lw_dist2d_tri_tri
  - lw_dist2d_tri_poly
  - lw_curvering_getfirstpoint2d_cp
  - lw_dist2d_tri_curvepoly
  - lw_dist2d_tri_circstring
  - lw_dist2d_poly_poly
  - lw_dist2d_poly_curvepoly
  - lw_dist2d_circstring_poly
  - lw_dist2d_circstring_curvepoly
  - lw_dist2d_circstring_circstring
  - lw_dist2d_curvepoly_curvepoly
  - lw_dist2d_pt_ptarray
  - lw_dist2d_pt_ptarrayarc
  - lw_dist2d_ptarray_ptarray
  - lw_dist2d_ptarray_ptarrayarc
  - lw_dist2d_ptarrayarc_ptarrayarc
  - lw_dist2d_seg_arc
  - lw_dist2d_pt_arc
  - lw_dist2d_arc_arc
  - lw_dist2d_arc_arc_concentric
  - lw_dist2d_seg_seg
  - lw_dist2d_fast_ptarray_ptarray
  - struct_cmp_by_measure
  - lw_dist2d_pre_seg_seg
  - lw_dist2d_selected_seg_seg
  - lw_dist2d_pt_seg
  - lw_dist2d_pt_pt
  - distance2d_pt_pt
  - distance2d_sqr_pt_seg
  - azimuth_pt_pt
  - project_pt
  - project_pt_pt
  source_file: /src/postgis/liblwgeom/measures.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - point3d_equals
  - longitude_radians_normalize
  - latitude_radians_normalize
  - longitude_degrees_normalize
  - latitude_degrees_normalize
  - point_shift
  - geographic_point_equals
  - geographic_point_init
  - gbox_angular_height
  - gbox_angular_width
  - gbox_centroid
  - gbox_check_poles
  - geog2cart
  - cart2geog
  - ll2cart
  - dot_product
  - cross_product
  - vector_sum
  - vector_difference
  - vector_scale
  - vector_angle
  - normalize2d
  - unit_normal
  - vector_rotate
  - normalize
  - robust_cross_product
  - x_to_z
  - y_to_z
  - crosses_dateline
  - edge_point_side
  - edge_point_on_plane
  - edge_point_in_cone
  - edge_contains_coplanar_point
  - sphere_distance
  - sphere_distance_cartesian
  - sphere_direction
  - sphere_excess
  - edge_contains_point
  - z_to_latitude
  - clairaut_cartesian
  - clairaut_geographic
  - edge_intersection
  - edge_distance_to_point
  - edge_distance_to_edge
  - sphere_project
  - edge_calculate_gbox_slow
  - edge_calculate_gbox
  - lwpoly_pt_outside_hack
  - lwpoly_pt_outside
  - gbox_pt_outside
  - ptarray_segmentize_sphere_edge_recursive
  - ptarray_segmentize_sphere
  - lwgeom_segmentize_sphere
  - ptarray_distance_spheroid
  - lwgeom_area_sphere
  - lwgeom_project_spheroid
  - lwgeom_project_spheroid_lwpoint
  - lwgeom_azumith_spheroid
  - lwgeom_distance_spheroid
  - lwgeom_covers_lwgeom_sphere
  - lwpoly_covers_point2d
  - lwpoly_covers_lwpoly
  - lwpoly_covers_lwline
  - lwpoly_covers_pointarray
  - lwpoly_intersects_line
  - lwline_covers_lwpoint
  - lwline_covers_lwline
  - ptarray_calculate_gbox_geodetic
  - lwpoint_calculate_gbox_geodetic
  - lwline_calculate_gbox_geodetic
  - lwpolygon_calculate_gbox_geodetic
  - lwtriangle_calculate_gbox_geodetic
  - lwcollection_calculate_gbox_geodetic
  - lwgeom_calculate_gbox_geodetic
  - ptarray_check_geodetic
  - lwpoint_check_geodetic
  - lwline_check_geodetic
  - lwpoly_check_geodetic
  - lwtriangle_check_geodetic
  - lwcollection_check_geodetic
  - lwgeom_check_geodetic
  - ptarray_force_geodetic
  - lwpoint_force_geodetic
  - lwline_force_geodetic
  - lwpoly_force_geodetic
  - lwcollection_force_geodetic
  - lwgeom_force_geodetic
  - ptarray_length_spheroid
  - lwgeom_length_spheroid
  - ptarray_nudge_geodetic
  - lwgeom_nudge_geodetic
  - point_in_cone
  - dot_product_side
  - edge_intersects
  - ptarray_contains_point_sphere
  - gbox_geocentric_get_gbox_cartesian
  - CORNER_SET
  source_file: /src/postgis/liblwgeom/lwgeodetic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encodeToBits
  - encodeToBitsStraight
  - removePoints
  - lwgeom_remove_irrelevant_points_for_view
  source_file: /src/postgis/liblwgeom/lwgeom_remove_irrelevant_points_for_view.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - spheroid_init
  - spheroid_mu2
  - spheroid_big_a
  - spheroid_big_b
  - spheroid_distance
  - spheroid_direction
  - spheroid_project
  - ptarray_area_spheroid
  - spheroid_distance
  - spheroid_direction
  - spheroid_project
  - spheroid_prime_vertical_radius_of_curvature
  - spheroid_parallel_arc_length
  - spheroid_boundingbox_area
  - spheroid_striparea
  - ptarray_area_spheroid
  - lwgeom_area_spheroid
  source_file: /src/postgis/liblwgeom/lwspheroid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/stringlist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _STRINGLIST_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/stringlist.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGLIST_STARTSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/stringlist.h
      type_or_value: '8'
    structs:
    - fields:
      - name: capacity
        type: size_t
      - name: length
        type: size_t
      - name: '**data'
        type: char
      item_type: struct
      name: stringlist_t
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/postgis/liblwgeom/stringlist.h
    typedefs: []
    union: []
- function_names:
  - lwtin_add_lwtriangle
  - lwtin_free
  - printLWTIN
  - lwtin_is_closed
  source_file: /src/postgis/liblwgeom/lwtin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ax
        type: double
      - name: bx
        type: double
      - name: cnt
        type: uint32_t
      item_type: struct
      name: struct_tin_arcs
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/postgis/liblwgeom/lwtin.c
    typedefs: []
    union: []
- function_names:
  - GFLAGS_GET_VERSION
  - gserialized_get_lwflags
  - gserialized_set_gbox
  - gserialized_get_version
  - gserialized_drop_gbox
  - gserialized_get_gbox_p
  - gserialized_fast_gbox_p
  - gserialized_get_type
  - gserialized_max_header_size
  - gserialized_hash
  - gserialized_get_srid
  - gserialized_set_srid
  - gserialized_is_empty
  - gserialized_has_bbox
  - gserialized_has_z
  - gserialized_has_m
  - gserialized_is_geodetic
  - gserialized_ndims
  - gserialized_from_lwgeom
  - gserialized_from_lwgeom_size
  - lwgeom_from_gserialized
  - gserialized_get_float_box_p
  - gserialized_peek_first_point
  - gserialized_header_size
  - gserialized_cmp_srid
  - gserialized_cmp
  - gserialized_get_sortable_hash
  - gserialized_error_if_srid_mismatch
  - gserialized_error_if_srid_mismatch_reference
  source_file: /src/postgis/liblwgeom/gserialized.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GFLAG_Z
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: GFLAG_M
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: GFLAG_BBOX
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: GFLAG_GEODETIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: GFLAG_VER_0
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: G2FLAG_EXTENDED
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/postgis/liblwgeom/gserialized.c
      type_or_value: '0x10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - G2FLAGS_GET_VERSION
  - G2FLAGS_GET_Z
  - G2FLAGS_GET_M
  - G2FLAGS_GET_BBOX
  - G2FLAGS_GET_GEODETIC
  - G2FLAGS_GET_EXTENDED
  - G2FLAGS_GET_UNUSED
  - G2FLAGS_SET_Z
  - G2FLAGS_SET_M
  - G2FLAGS_SET_BBOX
  - G2FLAGS_SET_GEODETIC
  - G2FLAGS_SET_EXTENDED
  - G2FLAGS_SET_VERSION
  - G2FLAGS_NDIMS
  - G2FLAGS_GET_ZM
  - G2FLAGS_NDIMS_BOX
  source_file: /src/postgis/liblwgeom/gserialized2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G2FLAG_Z
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: G2FLAG_M
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: G2FLAG_BBOX
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: G2FLAG_GEODETIC
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: G2FLAG_EXTENDED
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: G2FLAG_RESERVED1
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: G2FLAG_VER_0
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: G2FLAG_RESERVED2
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: G2FLAG_X_SOLID
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: G2FLAG_X_CHECKED_VALID
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: 0x00000002 // To Be Implemented?
    - item_type: preproc_def
      name: G2FLAG_X_IS_VALID
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: 0x00000004 // To Be Implemented?
    - item_type: preproc_def
      name: G2FLAG_X_HAS_HASH
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/liblwgeom/gserialized2.h
      type_or_value: 0x00000008 // To Be Implemented?
    structs: []
    typedefs: []
    union: []
- function_names:
  - initiate_effectivearea
  - destroy_effectivearea
  - initiate_minheap
  - destroy_minheap
  - triarea2d
  - triarea3d
  - cmpfunc
  - down
  - up
  - minheap_pop
  - minheap_update
  - tune_areas
  - ptarray_calc_areas
  - ptarray_set_effective_area
  - lwline_set_effective_area
  - lwpoly_set_effective_area
  - lwcollection_set_effective_area
  - lwgeom_set_effective_area
  source_file: /src/postgis/liblwgeom/effectivearea.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwprint_normalize_latlon
  - lwdouble_to_dms
  - lwdoubles_to_latlon
  - lwpoint_to_latlon
  - lwprint_double
  source_file: /src/postgis/liblwgeom/lwprint.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_PIECES
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postgis/liblwgeom/lwprint.c
      type_or_value: '9'
    - item_type: preproc_def
      name: WORK_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postgis/liblwgeom/lwprint.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - lwgeom_version
  - next_float_down
  - next_float_up
  - getPoint4d
  - getPoint4d_p
  - getPoint3dz
  - getPoint3dm
  - getPoint3dz_p
  - getPoint3dm_p
  - getPoint2d
  - getPoint2d_p
  - ptarray_set_point4d
  - ptarray_copy_point
  - printBOX3D
  - printPA
  - parse_hex
  - deparse_hex
  - interpolate_point4d
  - lwgeom_request_interrupt
  - lwgeom_cancel_interrupt
  - lwgeom_register_interrupt_callback
  source_file: /src/postgis/liblwgeom/lwgeom_api.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - asgml2_ptarray
  - asgml2_gbox
  - asgml3_ptarray
  - asgml3_gbox
  - asgml2_point
  - asgml2_line
  - asgml2_poly
  - asgml2_multi
  - asgml2_collection
  - asgml3_point
  - asgml3_line
  - asgml3_poly
  - asgml3_circstring
  - asgml3_compound
  - asgml3_curvepoly
  - asgml3_triangle
  - asgml3_multi
  - asgml3_tin
  - asgml3_psurface
  - asgml3_collection
  - asgml3_multicurve
  - asgml3_multisurface
  - lwgeom_to_gml2
  - lwgeom_to_gml3
  - lwgeom_extent_to_gml2
  - lwgeom_extent_to_gml3
  source_file: /src/postgis/liblwgeom/lwout_gml.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*srs'
        type: char
      - name: precision
        type: int
      - name: opts
        type: int
      - name: is_patch
        type: int
      - name: '*prefix'
        type: char
      - name: '*id'
        type: char
      item_type: struct
      name: GML_Options
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/postgis/liblwgeom/lwout_gml.c
    typedefs: []
    union: []
- function_names:
  - interpolate_point4d_spheroid
  - geography_substring
  - geography_interpolate_points
  - ptarray_locate_point_spheroid
  source_file: /src/postgis/liblwgeom/lwgeodetic_measures.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_to_x3d3
  - lwgeom_to_x3d3_sb
  - asx3d3_point_sb
  - asx3d3_line_coords_sb
  - asx3d3_mline_coordindex_sb
  - asx3d3_mpoly_coordindex_sb
  - asx3d3_line_sb
  - asx3d3_poly_sb
  - asx3d3_triangle_sb
  - asx3d3_multi_sb
  - asx3d3_psurface_sb
  - asx3d3_tin_sb
  - asx3d3_collection_sb
  - ptarray_to_x3d3_sb
  source_file: /src/postgis/liblwgeom/lwout_x3d.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_flagchars
  - lwpoint_summary
  - lwline_summary
  - lwcollection_summary
  - lwpoly_summary
  - lwgeom_summary
  source_file: /src/postgis/liblwgeom/lwgeom_debug.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gserialized1_get_lwflags
  - lwflags_get_g1flags
  - gserialized1_box_size
  - gserialized1_get_uint32_t
  - g1flags
  - gserialized1_has_bbox
  - gserialized1_has_z
  - gserialized1_has_m
  - gserialized1_ndims
  - gserialized1_is_geodetic
  - gserialized1_max_header_size
  - gserialized1_header_size
  - gserialized1_get_type
  - gserialized1_get_srid
  - gserialized1_set_srid
  - gserialized1_is_empty_recurse
  - gserialized1_is_empty
  - gserialized1_hash
  - gserialized1_read_gbox_p
  - gserialized1_peek_gbox_p
  - gserialized1_copy_point
  - gserialized1_peek_first_point
  - gserialized1_get_gbox_p
  - gserialized1_fast_gbox_p
  - gserialized1_from_lwpoint_size
  - gserialized1_from_lwline_size
  - gserialized1_from_lwtriangle_size
  - gserialized1_from_lwpoly_size
  - gserialized1_from_lwcircstring_size
  - gserialized1_from_lwcollection_size
  - gserialized1_from_any_size
  - gserialized1_from_lwgeom_size
  - gserialized1_from_lwpoint
  - gserialized1_from_lwline
  - gserialized1_from_lwpoly
  - gserialized1_from_lwtriangle
  - gserialized1_from_lwcircstring
  - gserialized1_from_lwcollection
  - gserialized1_from_lwgeom_any
  - gserialized1_from_gbox
  - gserialized1_from_lwgeom
  - lwpoint_from_gserialized1_buffer
  - lwline_from_gserialized1_buffer
  - lwpoly_from_gserialized1_buffer
  - lwtriangle_from_gserialized1_buffer
  - lwcircstring_from_gserialized1_buffer
  - lwcollection_from_gserialized1_buffer
  - lwgeom_from_gserialized1_buffer
  - lwgeom_from_gserialized1
  - gserialized1_get_float_box_p
  - gserialized1_set_gbox
  - gserialized1_drop_gbox
  source_file: /src/postgis/liblwgeom/gserialized1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - circ_node_is_leaf
  - circ_tree_free
  - circ_node_leaf_new
  - circ_node_leaf_point_new
  - circ_node_compare
  - circ_center_spherical
  - circ_center_cartesian
  - circ_node_internal_new
  - circ_tree_new
  - circ_nodes_sort
  - circ_nodes_merge
  - circ_tree_get_point
  - circ_tree_get_point_outside
  - circ_tree_contains_point
  - circ_node_min_distance
  - circ_node_max_distance
  - circ_tree_distance_tree
  - circ_nodes_sort_cmp
  - circ_internal_nodes_sort
  - circ_tree_distance_tree_internal
  - circ_tree_print
  - lwpoint_calculate_circ_tree
  - lwline_calculate_circ_tree
  - lwpoly_calculate_circ_tree
  - lwcollection_calculate_circ_tree
  - lwgeom_calculate_circ_tree
  - geography_tree_closestpoint
  - geography_tree_shortestline
  source_file: /src/postgis/liblwgeom/lwgeodetic_tree.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*node'
        type: CIRC_NODE
      - name: d
        type: double
      item_type: struct
      name: sort_node
      pos:
        line_end: 638
        line_start: 635
        source_file: /src/postgis/liblwgeom/lwgeodetic_tree.c
    typedefs: []
    union: []
- function_names:
  - lwcompound_num_curves
  - lwcollection_getsubcurve
  - lwcompound_is_closed
  - lwcompound_is_valid
  - lwcompound_length
  - lwcompound_length_2d
  - lwcompound_add_lwgeom
  - lwcompound_construct_empty
  - lwgeom_contains_point
  - lwcompound_contains_point
  - lwcompound_construct_from_lwline
  - lwcompound_get_lwpoint
  - lwcompound_get_startpoint
  - lwcompound_get_endpoint
  source_file: /src/postgis/liblwgeom/lwcompound.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/bytebuffer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BYTEBUFFER_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/bytebuffer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BYTEBUFFER_STARTSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/liblwgeom/bytebuffer.h
      type_or_value: '512'
    - item_type: preproc_def
      name: BYTEBUFFER_STATICSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/liblwgeom/bytebuffer.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: capacity
        type: size_t
      - name: '*buf_start'
        type: uint8_t
      - name: '*writecursor'
        type: uint8_t
      - name: '*readcursor'
        type: uint8_t
      - name: buf_static[BYTEBUFFER_STATICSIZE]
        type: uint8_t
      item_type: struct
      name: bytebuffer_t
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/postgis/liblwgeom/bytebuffer.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwmsurface.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwin_wkt.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flags
        type: lwflags_t
      - name: x
        type: double
      - name: y
        type: double
      - name: z
        type: double
      - name: m
        type: double
      item_type: struct
      name: POINT
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/postgis/liblwgeom/lwin_wkt.h
    typedefs: []
    union: []
- function_names:
  - FP_IS_ZERO
  - FP_MAX
  - FP_MIN
  - FP_ABS
  - FP_EQUALS
  - FP_NEQUALS
  - FP_LT
  - FP_LTEQ
  - FP_GT
  - FP_GTEQ
  - FP_CONTAINS_TOP
  - FP_CONTAINS_BOTTOM
  - FP_CONTAINS_INCL
  - FP_CONTAINS_EXCL
  - FP_CONTAINS
  - STR_EQUALS
  - STR_IEQUALS
  - STR_ISTARTS
  - SIGNUM
  - P2D_SAME_STRICT
  - P3DZ_SAME_STRICT
  - P3DM_SAME_STRICT
  - P4D_SAME_STRICT
  - LW_ON_INTERRUPT
  source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
  types:
    enum:
    - enumerators:
      - name: SEG_ERROR
        value: '-1'
      - name: SEG_CROSS_RIGHT
        value: '3'
      - name: SEG_CROSS_LEFT
        value: '2'
      - name: SEG_COLINEAR
        value: '1'
      - name: SEG_NO_INTERSECTION
        value: '0'
      - name: SEG_TOUCH_LEFT
        value: '4'
      - name: SEG_TOUCH_RIGHT
        value: '5'
      item_type: enum
      name: CG_SEGMENT_INTERSECTION_TYPE
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: _LIBLWGEOM_INTERNAL_H
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FP_TOLERANCE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 1e-12
    - item_type: preproc_def
      name: NO_VALUE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0.0'
    - item_type: preproc_def
      name: NO_Z_VALUE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: NO_VALUE
    - item_type: preproc_def
      name: NO_M_VALUE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: NO_VALUE
    - item_type: preproc_def
      name: WKT_NO_TYPE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: WKT_NO_PARENS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: WKT_IS_CHILD
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: WKB_DOUBLE_SIZE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: WKB_INT_SIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: WKB_BYTE_SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: WKB_POINT_TYPE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WKB_LINESTRING_TYPE
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WKB_POLYGON_TYPE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '3'
    - item_type: preproc_def
      name: WKB_MULTIPOINT_TYPE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WKB_MULTILINESTRING_TYPE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '5'
    - item_type: preproc_def
      name: WKB_MULTIPOLYGON_TYPE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '6'
    - item_type: preproc_def
      name: WKB_GEOMETRYCOLLECTION_TYPE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '7'
    - item_type: preproc_def
      name: WKB_CIRCULARSTRING_TYPE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '8'
    - item_type: preproc_def
      name: WKB_COMPOUNDCURVE_TYPE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '9'
    - item_type: preproc_def
      name: WKB_CURVEPOLYGON_TYPE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '10'
    - item_type: preproc_def
      name: WKB_MULTICURVE_TYPE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '11'
    - item_type: preproc_def
      name: WKB_MULTISURFACE_TYPE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '12'
    - item_type: preproc_def
      name: WKB_CURVE_TYPE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: WKB_SURFACE_TYPE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: WKB_POLYHEDRALSURFACE_TYPE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '15'
    - item_type: preproc_def
      name: WKB_TIN_TYPE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: WKB_TRIANGLE_TYPE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '17'
    - item_type: preproc_def
      name: EPSILON_SQLMM
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 1e-8
    - item_type: preproc_def
      name: OUT_MIN_DOUBLE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 1E-8
    - item_type: preproc_def
      name: OUT_MAX_DOUBLE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 1E15
    - item_type: preproc_def
      name: OUT_DEFAULT_DECIMAL_DIGITS
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '15'
    - item_type: preproc_def
      name: OUT_MAX_DIGITS
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 17 + 8
    - item_type: preproc_def
      name: OUT_MAX_BYTES_DOUBLE
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '(1 '
    - item_type: preproc_def
      name: OUT_DOUBLE_BUFFER_SIZE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: 'OUT_MAX_BYTES_DOUBLE + 1 '
    - item_type: preproc_def
      name: LW_INSIDE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LW_BOUNDARY
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LW_OUTSIDE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: XDR
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: NDR
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postgis/liblwgeom/liblwgeom_internal.h
      type_or_value: '1 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - hashsize
  - hashmask
  - rot
  - mix
  - final
  - hashword
  - hashword2
  - hashlittle
  - hashlittle2
  - hashbig
  source_file: /src/postgis/liblwgeom/lookup3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SELF_TEST
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/postgis/liblwgeom/lookup3.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*ptr'
        type: void
      - name: i
        type: size_t
      item_type: union
      name: u
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/postgis/liblwgeom/lookup3.c
    - fields:
      - name: '*ptr'
        type: void
      - name: i
        type: size_t
      item_type: union
      name: u
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/postgis/liblwgeom/lookup3.c
    - fields:
      - name: '*ptr'
        type: void
      - name: i
        type: size_t
      item_type: union
      name: u
      pos:
        line_end: 663
        line_start: 663
        source_file: /src/postgis/liblwgeom/lookup3.c
- function_names:
  - lwgeom_ngeoms
  - lwgeom_subgeom
  - lwgeom_collect_endpoints
  - lwgeom_extract_endpoints
  - lwgeom_extract_unique_endpoints
  - lwgeom_node
  source_file: /src/postgis/liblwgeom/lwgeom_geos_node.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwline_split_by_line
  - lwline_split_by_point
  - lwline_split_by_mpoint
  - lwline_split_by_point_to
  - lwline_split
  - lwpoly_split_by_line
  - lwcollection_split
  - lwpoly_split
  - lwgeom_split
  source_file: /src/postgis/liblwgeom/lwgeom_geos_split.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwmpoly_release
  - lwmpoly_construct_empty
  - lwmpoly_add_lwpoly
  - lwmpoly_free
  source_file: /src/postgis/liblwgeom/lwmpoly.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - supporting_points_create
  - supporting_points_destroy
  - num_supporting_points
  - add_supporting_point
  - point_inside_circle
  - det
  - circumcenter
  - calculate_mbc_1
  - calculate_mbc_2
  - calculate_mbc_3
  - calculate_mbc_from_support
  - calculate_mbc
  - lwboundingcircle_create
  - lwboundingcircle_destroy
  - lwgeom_calculate_mbc
  source_file: /src/postgis/liblwgeom/lwboundingcircle.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* p1'
        type: POINT2D
      - name: '* p2'
        type: POINT2D
      - name: '* p3'
        type: POINT2D
      item_type: struct
      name: SUPPORTING_POINTS
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/postgis/liblwgeom/lwboundingcircle.c
    typedefs: []
    union: []
- function_names:
  - lwtriangle_construct
  - lwtriangle_construct_empty
  - lwtriangle_free
  - printLWTRIANGLE
  - lwtriangle_clone
  - lwtriangle_force_clockwise
  - lwtriangle_is_clockwise
  - lwtriangle_release
  - lwtriangle_same
  - lwtriangle_is_repeated_points
  - lwtriangle_from_lwline
  - lwtriangle_area
  - lwtriangle_perimeter
  - lwtriangle_perimeter_2d
  source_file: /src/postgis/liblwgeom/lwtriangle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwcurvepoly_construct_empty
  - lwcurvepoly_construct_from_lwpoly
  - lwcurvepoly_add_ring
  - lwcurvepoly_area
  - lwcurvepoly_perimeter
  - lwcurvepoly_perimeter_2d
  source_file: /src/postgis/liblwgeom/lwcurvepoly.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _varint_u64_encode_buf
  - varint_u64_encode_buf
  - varint_u32_encode_buf
  - varint_s64_encode_buf
  - varint_s32_encode_buf
  - varint_s64_decode
  - varint_u64_decode
  - varint_size
  - zigzag64
  - zigzag32
  - zigzag8
  - unzigzag64
  - unzigzag32
  - unzigzag8
  source_file: /src/postgis/liblwgeom/varint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DOT
  - VECTORLENGTH
  source_file: /src/postgis/liblwgeom/measures3d.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MEASURES3D_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/measures3d.h
      type_or_value: '1'
    structs:
    - fields:
      - name: distance
        type: double
      - name: p1
        type: POINT3DZ
      - name: p2
        type: POINT3DZ
      - name: mode
        type: int
      - name: twisted
        type: int
      - name: tolerance
        type: double
      item_type: struct
      name: DISTPTS3D
      pos:
        line_end: 47
        line_start: 37
        source_file: /src/postgis/liblwgeom/measures3d.h
    - fields:
      - name: x
        type: double
      item_type: struct
      name: VECTOR3D
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/postgis/liblwgeom/measures3d.h
    - fields:
      - name: pop
        type: POINT3DZ
      - name: pv
        type: VECTOR3D
      item_type: struct
      name: PLANE3D
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/postgis/liblwgeom/measures3d.h
    typedefs: []
    union: []
- function_names:
  - lwgeom_split_wrapx
  - lwcollection_wrapx
  - lwgeom_wrapx
  source_file: /src/postgis/liblwgeom/lwgeom_wrapx.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWDEBUGGEOS
  - LWDEBUGGEOS
  source_file: /src/postgis/liblwgeom/lwgeom_geos.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*GEOSMessageHandler)(const char *fmt, ...)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/postgis/liblwgeom/lwgeom_geos.h
      type: void
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/lwrandom.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_geojson_test
  - in_geojson_test_srid
  - in_geojson_test_bbox
  - in_geojson_test_geoms
  - in_geojson_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_in_geojson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_lwgeom_effectivearea
  - do_test_lwgeom_effectivearea_lines
  - do_test_lwgeom_effectivearea_polys
  - effectivearea_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_effectivearea.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - triangle_parse
  - tin_parse
  - polyhedralsurface_parse
  - check_dimension
  - surface_dimension
  - surface_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_surface.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/cunit/cu_geodetic_data.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_all_results_found
  - LWGEOMARRAY2GEOS
  - GEOSARRAY2LWGEOM
  - WKTARRAY2LWGEOM
  - perform_cluster_intersecting_test
  - perform_cluster_within_distance_test
  - init_geos_cluster_suite
  - clean_geos_cluster_suite
  - basic_test
  - basic_distance_test
  - nonsequential_test
  - single_input_test
  - empty_inputs_test
  - multipoint_test
  - do_dbscan_test
  - dbscan_test
  - dbscan_test_3612a
  - dbscan_test_3612b
  - dbscan_test_3612c
  - geos_cluster_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: eps
        type: double
      - name: min_points
        type: uint32_t
      - name: num_geoms
        type: uint32_t
      - name: '** wkt_inputs'
        type: char
      - name: '* expected_ids'
        type: uint32_t
      - name: '* expected_in_cluster'
        type: int
      item_type: struct
      name: dbscan_test_info
      pos:
        line_end: 266
        line_start: 259
        source_file: /src/postgis/liblwgeom/cunit/cu_geos_cluster.c
    typedefs: []
    union: []
- function_names:
  - init_cg_suite
  - clean_cg_suite
  - test_lw_segment_side
  - test_lw_arc_center
  - test_lw_segment_intersects
  - setpoint
  - test_lwline_crossing_short_lines
  - test_lwline_crossing_long_lines
  - test_lwline_crossing_bugs
  - test_lwpoint_set_ordinate
  - test_lwpoint_get_ordinate
  - test_point_interpolate
  - test_lwline_interpolate_points
  - test_lwline_interpolate_point_3d
  - test_lwline_clip
  - test_lwpoly_clip
  - test_lwtriangle_clip
  - test_lwmline_clip
  - test_lwline_clip_big
  - test_geohash_precision
  - test_geohash_point
  - test_geohash
  - test_isclosed
  - test_geohash_point_as_int
  - test_geohash_bbox
  - test_lwgeom_remove_repeated_points
  - test_lwgeom_simplify
  - do_median_dims_check
  - test_median_handles_3d_correctly
  - test_weighted_distance
  - do_median_test
  - test_median_robustness
  - test_point_density
  - test_lwpoly_construct_circle
  - test_kmeans
  - test_trim_bits
  - test_ptarray_simplify
  - algorithms_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_algorithm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_chaikin
  - do_test_chaikin_lines
  - do_test_chaikin_polygons
  - chaikin_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_chaikin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_force_2d
  - test_force_3dm
  - test_force_3dz
  - test_force_4d
  - force_dims_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_force_dims.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_wkb_out_suite
  - clean_wkb_out_suite
  - cu_wkb_from_hexwkb
  - cu_wkb
  - cu_wkb_empty_point_check
  - test_wkb_out_point
  - test_wkb_out_linestring
  - test_wkb_out_polygon
  - test_wkb_out_multipoint
  - test_wkb_out_multilinestring
  - test_wkb_out_multipolygon
  - test_wkb_out_collection
  - test_wkb_out_circularstring
  - test_wkb_out_compoundcurve
  - test_wkb_out_curvpolygon
  - test_wkb_out_multicurve
  - test_wkb_out_multisurface
  - test_wkb_out_polyhedralsurface
  - wkb_out_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_wkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_misc_simplify
  - test_misc_startpoint
  - test_misc_count_vertices
  - test_misc_area
  - test_misc_wkb
  - test_grid
  - do_grid_test
  - test_grid_in_place
  - test_clone
  - test_lwmpoint_from_lwgeom
  - test_gbox_serialized_size
  - test_optionlist
  - test_stringlist
  - misc_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_wkt_out_suite
  - clean_wkt_out_suite
  - cu_wkt
  - test_wkt_out_point
  - test_wkt_out_linestring
  - test_wkt_out_polygon
  - test_wkt_out_multipoint
  - test_wkt_out_multilinestring
  - test_wkt_out_multipolygon
  - test_wkt_out_collection
  - test_wkt_out_circularstring
  - test_wkt_out_compoundcurve
  - test_wkt_out_curvpolygon
  - test_wkt_out_multicurve
  - test_wkt_out_multisurface
  - wkt_out_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_wkt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_sfcgal_noop
  - sfcgal_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_sfcgal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwgeom_wrapx
  - clean_geos_wrapx_suite
  - wrapx_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_wrapx.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_geom_equal
  - test_lwgeom_make_valid
  - clean_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_clean.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_filterm
  - do_test_filterm_single_geometries
  - do_test_filterm_collections
  - filterm_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_filterm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_geom_equal
  - buildarea1
  - buildarea2
  - buildarea3
  - buildarea4
  - buildarea4b
  - buildarea5
  - buildarea6
  - buildarea7
  - buildarea_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_buildarea.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_svg_test
  - do_svg_unsupported
  - out_svg_test_precision
  - out_svg_test_dims
  - out_svg_test_geoms
  - out_svg_test_relative
  - out_svg_test_srid
  - out_svg_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_svg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_twkb_in_suite
  - clean_twkb_in_suite
  - cu_twkb_in
  - test_twkb_in_point
  - test_twkb_in_linestring
  - test_twkb_in_polygon
  - test_twkb_in_multipoint
  - test_twkb_in_multilinestring
  - test_twkb_in_multipolygon
  - test_twkb_in_collection
  - test_twkb_in_precision
  - twkb_in_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_in_twkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_encoded_polyline_test
  - in_encoded_polyline_test_geoms
  - in_encoded_polyline_test_precision
  - in_encoded_polyline_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_in_encoded_polyline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_from_text
  - DIST2DTEST
  - DIST3DTEST
  - do_test_mindistance_tolerance
  - test_mindistance2d_tolerance
  - test_mindistance3d_tolerance
  - tree_pt
  - test_rect_tree_contains_point
  - tree_inter
  - test_rect_tree_intersects_tree
  - test_rect_tree_distance_tree_case
  - TDT
  - test_rect_tree_distance_tree
  - test_lwgeom_segmentize2d
  - test_lwgeom_locate_along
  - test_lw_dist2d_pt_arc
  - test_lw_dist2d_seg_arc
  - test_lw_dist2d_arc_arc
  - test_lw_arc_length
  - test_lw_dist2d_pt_ptarrayarc
  - test_lw_dist2d_ptarray_ptarrayarc
  - test_lwgeom_tcpa
  - test_lwgeom_is_trajectory
  - measures_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_measures.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbc_test
  - basic_test
  - test_empty
  - minimum_bounding_circle_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_minimum_bounding_circle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_encoded_polyline_test
  - out_encoded_polyline_test_geoms
  - out_encoded_polyline_test_srid
  - out_encoded_polyline_test_precision
  - out_encoded_polyline_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_encoded_polyline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PG_ADD_TEST
  - ASSERT_DOUBLE_EQUAL
  - ASSERT_DOUBLE_EQUAL_TOLERANCE
  - ASSERT_INT_EQUAL
  - ASSERT_NORMALIZED_GEOM_SAME
  - assert_string_equal_impl
  - ASSERT_STRING_EQUAL
  - ASSERT_VARLENA_EQUAL
  - ASSERT_LWGEOM_EQUAL
  - ASSERT_INTARRAY_EQUAL
  - ASSERT_POINT2D_EQUAL
  - ASSERT_POINT4D_EQUAL
  source_file: /src/postgis/liblwgeom/cunit/cu_tester.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CU_TESTER_H
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postgis/liblwgeom/cunit/cu_tester.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_CUNIT_ERROR_LENGTH
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/liblwgeom/cunit/cu_tester.h
      type_or_value: '512'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*PG_SuiteSetup)(void)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/postgis/liblwgeom/cunit/cu_tester.h
      type: void
    union: []
- function_names:
  - test_unionfind_create
  - test_unionfind_union
  - test_unionfind_ordered_by_cluster
  - test_unionfind_path_compression
  - test_unionfind_collapse_cluster_ids
  - unionfind_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_unionfind.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_wkb_in_suite
  - clean_wkb_in_suite
  - cu_wkb_malformed_in
  - cu_wkb_in
  - test_wkb_in_point
  - test_wkb_in_linestring
  - test_wkb_in_polygon
  - test_wkb_in_multipoint
  - test_wkb_in_multilinestring
  - test_wkb_in_multipolygon
  - test_wkb_in_collection
  - test_wkb_in_circularstring
  - test_wkb_in_compoundcurve
  - test_wkb_in_curvpolygon
  - test_wkb_in_multicurve
  - test_wkb_in_multisurface
  - test_wkb_in_malformed
  - test_wkb_fuzz
  - wkb_in_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_in_wkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwgeom_delaunay_triangulation
  - test_lwgeom_voronoi_diagram
  - test_lwgeom_voronoi_diagram_custom_envelope
  - assert_empty_diagram
  - test_lwgeom_voronoi_diagram_expected_empty
  - clean_geos_triangulate_suite
  - triangulate_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_triangulate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwgeom_remove_irrelevant_points_for_view
  - remove_irrelevant_points_for_view_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_remove_irrelevant_points_for_view.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_geom_test
  - do_type_test
  - test_sqlmm
  - test_sfs_12
  - test_sfs_11
  - force_sfs_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_force_sfs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_wkt_in_suite
  - clean_wkt_in_suite
  - cu_wkt_in
  - cu_strtolower
  - test_wkt_in_point
  - test_wkt_in_linestring
  - test_wkt_in_polygon
  - test_wkt_in_multipoint
  - test_wkt_in_multilinestring
  - test_wkt_in_multipolygon
  - test_wkt_in_collection
  - test_wkt_in_circularstring
  - test_wkt_in_compoundcurve
  - test_wkt_in_curvpolygon
  - test_wkt_in_multicurve
  - test_wkt_in_multisurface
  - test_wkt_in_tin
  - test_wkt_in_polyhedralsurface
  - test_wkt_in_errlocation
  - test_wkt_double
  - test_wkt_leak
  - wkt_in_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_in_wkt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/cunit/cu_surface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_u32_varint
  - do_test_s32_varint
  - do_test_u64_varint
  - do_test_s64_varint
  - test_varint
  - do_test_u64_roundtrip
  - do_test_s64_roundtrip
  - test_varint_roundtrip
  - test_zigzag
  - varint_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_varint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwgeom_clip_by_rect
  - clip_by_rect_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_clip_by_rect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_from_text
  - lwgeom_to_text
  - test_ptarray_append_point
  - test_ptarray_insert_point
  - test_ptarray_append_ptarray
  - test_ptarray_locate_point
  - test_ptarray_isccw
  - test_ptarray_signed_area
  - test_ptarray_contains_point
  - test_ptarrayarc_contains_point
  - test_ptarray_scale
  - test_ptarray_scroll
  - test_ptarray_closest_vertex_2d
  - test_ptarray_closest_segment_2d
  - test_ptarray_closest_point_on_segment
  - ptarray_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_ptarray.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_twkb_out_suite
  - clean_twkb_out_suite
  - cu_twkb
  - cu_twkb_idlist
  - test_twkb_out_point
  - test_twkb_out_linestring
  - test_twkb_out_polygon
  - test_twkb_out_multipoint
  - test_twkb_out_multilinestring
  - test_twkb_out_multipolygon
  - test_twkb_out_collection
  - test_twkb_out_idlist
  - twkb_out_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_twkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BOUNDARY_TEST
  - boundary_point
  - boundary_line
  - boundary_polygon
  - boundary_triangle
  - boundary_tin
  - boundary_collection
  - boundary_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_boundary.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwgeom_from_text
  - lwgeom_to_text
  - test_lwcurve_linearize
  - test_unstroke
  - lwstroke_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_lwstroke.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_tree_circ_create
  - test_tree_circ_pip
  - test_tree_circ_pip2
  - test_tree_circ_distance
  - test_tree_circ_distance_threshold
  - test_itree_once
  - test_itree_square
  - test_itree_hole
  - test_itree_hole_spike
  - test_itree_multipoly_empty
  - test_itree_degenerate_poly
  - test_geography_tree_closestpoint
  - tree_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_tree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_bytebuffer_append
  source_file: /src/postgis/liblwgeom/cunit/cu_bytebuffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_typmod_macros
  - test_flags_macros
  - test_serialized1_srid
  - test_gserialized1_from_lwgeom_size
  - test_lwgeom_calculate_gbox
  - test_lwgeom_from_gserialized
  - test_gserialized1_is_empty
  - test_geometry_type_from_string
  - test_lwgeom_count_vertices
  - test_on_gser_lwgeom_count_vertices
  - test_lwcollection_extract
  - test_lwgeom_free
  - do_lwgeom_swap_ordinates
  - test_lwgeom_swap_ordinates
  - test_f2d
  - test_lwgeom_clone
  - test_lwgeom_force_clockwise
  - test_lwgeom_is_empty
  - test_lwgeom_same
  - test_lwgeom_as_curve
  - test_lwline_from_lwmpoint
  - test_lwgeom_scale
  - test_gbox_same_2d
  - test_gserialized1_peek_gbox_p_no_box_when_empty
  - test_gserialized1_peek_gbox_p_gets_correct_box
  - test_gserialized1_peek_gbox_p_fails_for_unsupported_cases
  - test_signum_macro
  - peek1_point_helper
  - test_gserialized1_peek_first_point
  - gserialized1_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* wkt'
        type: char
      - name: isempty
        type: int
      item_type: struct
      name: gserialized_empty_cases
      pos:
        line_end: 305
        line_start: 302
        source_file: /src/postgis/liblwgeom/cunit/cu_gserialized1.c
    typedefs: []
    union: []
- function_names:
  - do_geojson_test
  - do_geojson_unsupported
  - out_geojson_test_precision
  - out_geojson_test_dims
  - out_geojson_test_srid
  - out_geojson_test_bbox
  - out_geojson_test_geoms
  - out_geojson_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_geojson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_geos_noop
  - test_geos_linemerge
  - test_geos_offsetcurve
  - test_geos_offsetcurve_crash
  - test_geos_makevalid
  - test_geos_subdivide
  - geos_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_geos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_x3d3_test
  - do_x3d3_unsupported
  - out_x3d3_test_precision
  - out_x3d3_test_geoms
  - out_x3d3_test_option
  - out_x3d_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_x3d.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwpoint_to_latlon_assert_format
  - test_lwpoint_to_latlon_assert_error
  - test_lwpoint_to_latlon_default_format
  - test_lwpoint_to_latlon_format_orders
  - test_lwpoint_to_latlon_optional_format
  - test_lwpoint_to_latlon_oddball_formats
  - test_lwpoint_to_latlon_bad_formats
  - assert_lwprint_equal
  - test_lwprint
  - assert_lwprint_roundtrip
  - test_lwprint_roundtrip
  - print_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - count_points_using_iterator
  - test_point_count
  - test_cannot_modify_read_only
  - test_modification
  - test_no_memory_leaked_when_iterator_is_partially_used
  - test_mixed_rw_access
  - test_ordering
  - iterator_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_iterator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwgeom_node
  - clean_geos_node_suite
  - node_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_node.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_geom_test
  - test_coll_point
  - test_coll_line
  - test_coll_poly
  - test_coll_coll
  - test_coll_curve
  - test_geom
  - homogenize_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_homogenize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_g2flags_macros
  - test_gserialized2_extended_flags
  - test_gserialized2_srid
  - test_gserialized2_from_lwgeom_size
  - test_lwgeom_from_gserialized2
  - test_gserialized2_is_empty
  - test_on_gser2_lwgeom_count_vertices
  - test_gserialized2_peek_gbox_p_no_box_when_empty
  - test_gserialized2_peek_gbox_p_gets_correct_box
  - test_gserialized2_peek_gbox_p_fails_for_unsupported_cases
  - peek2_point_helper
  - test_gserialized2_peek_first_point
  - gserialized2_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* wkt'
        type: char
      - name: isempty
        type: int
      item_type: struct
      name: gserialized_empty_cases
      pos:
        line_end: 275
        line_start: 272
        source_file: /src/postgis/liblwgeom/cunit/cu_gserialized2.c
    typedefs: []
    union: []
- function_names:
  - main
  - cu_errorreporter
  - cu_noticereporter
  - cu_debuglogger
  - cu_error_msg_reset
  - do_fn_test
  source_file: /src/postgis/liblwgeom/cunit/cu_tester.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CUNIT_MSG_LENGTH
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postgis/liblwgeom/cunit/cu_tester.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_gml2_test
  - do_gml2_test_prefix
  - do_gml3_test_opts
  - do_gml3_test
  - do_gml3_test_prefix
  - do_gml3_test_nodims
  - do_gml2_unsupported
  - do_gml2_extent_test
  - do_gml3_extent_test
  - out_gml_test_precision
  - out_gml_test_srid
  - out_gml_test_geodetic
  - out_gml_test_dims
  - out_gml_test_geoms
  - out_gml_test_geoms_prefix
  - out_gml_test_geoms_nodims
  - out_gml2_extent
  - out_gml3_extent
  - out_gml_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_gml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_stringbuffer_append
  - test_stringbuffer_aprintf
  - stringbuffer_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_stringbuffer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_lwline_split_by_point_to
  - test_lwgeom_split
  - clean_geos_split_suite
  - split_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_split.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - edge_deg2rad
  - point_deg2rad
  - point_rad2deg
  - test_sphere_direction
  - test_sphere_project
  - cross_product_stability
  - test_gbox_from_spherical_coordinates
  - test_gserialized_get_gbox_geocentric
  - edge_set
  - point_set
  - test_clairaut
  - test_edge_intersection
  - line2pts
  - test_edge_intersects
  - test_edge_distance_to_point
  - test_edge_distance_to_edge
  - lwgeom_over_gserialized
  - test_lwgeom_check_geodetic
  - test_gserialized_from_lwgeom
  - test_ptarray_contains_point_sphere
  - test_lwpoly_covers_point2d
  - test_ptarray_contains_point_sphere_iowa
  - test_lwgeom_distance_sphere
  - test_spheroid_distance
  - test_spheroid_area
  - test_gbox_utils
  - test_vector_angle
  - test_vector_rotate
  - test_lwgeom_segmentize_sphere
  - test_lwgeom_area_sphere
  - test_geography_substring
  - test_gbox_to_string_truncated
  - BOX3D_BOXLL_TEST
  - test_gbox_geocentric_get_gbox_cartesian
  - geodetic_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_geodetic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RANDOM_TEST
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/cunit/cu_geodetic.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_kml_test
  - do_kml_unsupported
  - do_kml_test_prefix
  - out_kml_test_precision
  - out_kml_test_dims
  - out_kml_test_geoms
  - out_kml_test_prefix
  - out_kml_suite_setup
  source_file: /src/postgis/liblwgeom/cunit/cu_out_kml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwt_CreateBackendIface
  - lwt_BackendIfaceRegisterCallbacks
  - lwt_FreeBackendIface
  - CHECKCB
  - CB0
  - CB1
  - CBT0
  - CBT1
  - CBT2
  - CBT3
  - CBT4
  - CBT5
  - CBT6
  - lwt_be_lastErrorMessage
  - lwt_be_loadTopologyByName
  - lwt_be_topoGetSRID
  - lwt_be_topoGetPrecision
  - lwt_be_topoHasZ
  - lwt_be_freeTopology
  - lwt_be_getNodeById
  - lwt_be_getNodeWithinDistance2D
  - lwt_be_getNodeWithinBox2D
  - lwt_be_getEdgeWithinBox2D
  - lwt_be_getFaceWithinBox2D
  - lwt_be_insertNodes
  - lwt_be_insertFaces
  - lwt_be_deleteFacesById
  - lwt_be_deleteNodesById
  - lwt_be_getNextEdgeId
  - lwt_be_getEdgeById
  - lwt_be_getFaceById
  - lwt_be_getEdgeByNode
  - lwt_be_getEdgeByFace
  - lwt_be_getNodeByFace
  - lwt_be_getEdgeWithinDistance2D
  - lwt_be_insertEdges
  - lwt_be_updateEdges
  - lwt_be_updateNodes
  - lwt_be_updateFacesById
  - lwt_be_updateEdgesById
  - lwt_be_updateNodesById
  - lwt_be_deleteEdges
  - lwt_be_updateTopoGeomEdgeSplit
  - lwt_be_updateTopoGeomFaceSplit
  - lwt_be_checkTopoGeomRemEdge
  - lwt_be_checkTopoGeomRemIsoEdge
  - lwt_be_checkTopoGeomRemNode
  - lwt_be_checkTopoGeomRemIsoNode
  - lwt_be_updateTopoGeomFaceHeal
  - lwt_be_updateTopoGeomEdgeHeal
  - lwt_be_getRingEdges
  - lwt_be_ExistsCoincidentNode
  - lwt_be_ExistsEdgeIntersectingPoint
  - lwt_be_getClosestEdge
  - lwt_be_computeFaceMBR
  - _lwt_toposnap
  - _lwt_release_faces
  - _lwt_release_edges
  - _lwt_release_nodes
  - lwt_LoadTopology
  - lwt_FreeTopology
  - _lwt_AddIsoNode
  - lwt_AddIsoNode
  - _lwt_CheckEdgeCrossing
  - lwt_AddIsoEdge
  - _lwt_EdgeSplit
  - lwt_ModEdgeSplit
  - lwt_NewEdgesSplit
  - _lwt_FirstDistinctVertex2D
  - _lwt_InitEdgeEndByLine
  - _lwt_FindAdjacentEdges
  - _lwt_GetInteriorEdgePoint
  - _lwt_MakeRingShell
  - _lwt_AddFaceSplit
  - _lwt_AddEdge
  - lwt_AddEdgeModFace
  - lwt_AddEdgeNewFaces
  - _lwt_FaceByEdges
  - lwt_GetFaceGeometry
  - _lwt_FindNextRingEdge
  - _lwt_ReverseElemidArray
  - _lwt_RotateElemidArray
  - lwt_GetFaceEdges
  - lwt_ChangeEdgeGeom
  - _lwt_GetIsoNode
  - lwt_MoveIsoNode
  - lwt_RemoveIsoNode
  - lwt_RemIsoEdge
  - _lwt_UpdateEdgeFaceRef
  - _lwt_UpdateNodeFaceRef
  - _lwt_RemEdge
  - lwt_RemEdgeModFace
  - lwt_RemEdgeNewFace
  - _lwt_HealEdges
  - lwt_ModEdgeHeal
  - lwt_NewEdgeHeal
  - lwt_GetNodeByPoint
  - lwt_GetEdgeByPoint
  - lwt_GetFaceByPoint
  - _lwt_minToleranceDouble
  - _lwt_minTolerance
  - _LWT_MINTOLERANCE
  - compare_scored_pointer
  - _lwt_GetEqualEdge
  - _lwt_SnapEdge_checkMotion
  - _lwt_SnapEdgeToExistingNode
  - _lwt_SplitAllEdgesToNewNode
  - _lwt_AddPoint
  - lwt_AddPoint
  - _lwt_AddLineEdge
  - _lwt_split_by_nodes
  - _lwt_AddLine
  - lwt_AddLine
  - lwt_AddLineNoFace
  - lwt_LoadPoint
  - lwt_LoadLine
  - lwt_LoadPolygon
  - lwt_AddPolygon
  - lwt_GetFaceContainingPoint
  - _lwt_LoadGeometryRecursive
  - lwt_LoadGeometry
  source_file: /src/postgis/liblwgeom/topo/lwgeom_topo.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nextCW
        type: LWT_ELEMID
      - name: cwFace
        type: LWT_ELEMID
      - name: nextCCW
        type: LWT_ELEMID
      - name: ccwFace
        type: LWT_ELEMID
      - name: was_isolated
        type: int
      - name: myaz
        type: double
      item_type: struct
      name: edgeend_t
      pos:
        line_end: 1415
        line_start: 1404
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    - fields:
      - name: '*ptr'
        type: void
      - name: score
        type: double
      item_type: struct
      name: scored_pointer_t
      pos:
        line_end: 5065
        line_start: 5062
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo.c
    typedefs: []
    union: []
- function_names:
  - compare_iso_edges_by_id
  - _lwt_getIsoEdgeById
  - LWT_EDGERING_INIT
  - LWT_EDGERING_PUSH
  - LWT_EDGERING_CLEAN
  - LWT_EDGERING_ARRAY_INIT
  - LWT_EDGERING_ARRAY_CLEAN
  - LWT_EDGERING_ARRAY_PUSH
  - _lwt_EdgeRingIterator_next
  - _lwt_EdgeRingIterator_begin
  - _lwt_FetchNextUnvisitedEdge
  - _lwt_FetchAllEdges
  - _lwt_UpdateEdgeRingSideFace
  - _lwt_BuildEdgeRing
  - _lwt_EdgeRingSignedArea
  - _lwt_EdgeRingIsCCW
  - _lwt_EdgeRingCrossingCount
  - _lwt_EdgeRingContainsPoint
  - _lwt_EdgeRingGetBbox
  - _lwt_EdgeRingGetFace
  - _lwt_RegisterFaceOnEdgeSide
  - _lwt_AccumulateCanditates
  - _lwt_FindFaceContainingRing
  - _lwt_CheckFacesExist
  - lwt_Polygonize
  source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LWT_HOLES_FACE_PLACEHOLDER
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
      type_or_value: INT32_MIN
    structs:
    - fields:
      - name: '*edges'
        type: LWT_ISO_EDGE
      - name: size
        type: int
      item_type: struct
      name: LWT_ISO_EDGE_TABLE_T
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    - fields:
      - name: '*edge'
        type: LWT_ISO_EDGE
      - name: left
        type: int
      item_type: struct
      name: LWT_EDGERING_ELEM_T
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    - fields:
      - name: '**elems'
        type: LWT_EDGERING_ELEM
      - name: size
        type: int
      - name: capacity
        type: int
      - name: '*env'
        type: GBOX
      - name: '*genv'
        type: GEOSGeometry
      item_type: struct
      name: LWT_EDGERING_T
      pos:
        line_end: 89
        line_start: 77
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    - fields:
      - name: '**rings'
        type: LWT_EDGERING
      - name: size
        type: int
      - name: capacity
        type: int
      - name: '* tree'
        type: GEOSSTRtree
      item_type: struct
      name: LWT_EDGERING_ARRAY_T
      pos:
        line_end: 128
        line_start: 123
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    - fields:
      - name: '*ring'
        type: LWT_EDGERING
      - name: '*curelem'
        type: LWT_EDGERING_ELEM
      - name: curelemidx
        type: int
      - name: curidx
        type: int
      item_type: struct
      name: LWT_EDGERING_POINT_ITERATOR_T
      pos:
        line_end: 163
        line_start: 158
        source_file: /src/postgis/liblwgeom/topo/lwgeom_topo_polygonizer.c
    typedefs: []
    union: []
- function_names:
  - lwt_edgeEnd_release
  - _lwt_DistinctVertexes2D
  - lwt_edgeEnd_fromEdge
  source_file: /src/postgis/liblwgeom/topo/lwt_edgeend.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/topo/lwt_node_edges.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: numEdges
        type: uint64_t
      - name: fields
        type: int
      - name: '*edges'
        type: LWT_ISO_EDGE
      item_type: struct
      name: LWT_NODE_EDGES_t
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/postgis/liblwgeom/topo/lwt_node_edges.h
    typedefs: []
    union: []
- function_names:
  - PGTOPO_BE_ERROR
  - PGTOPO_BE_ERRORF
  source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBLWGEOM_TOPO_INTERNAL_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LWTFMT_ELEMID
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: LWTFMT_ELEMID
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
      type_or_value: PRId64
    structs:
    - fields:
      - name: '*data'
        type: LWT_BE_DATA
      - name: '*cb'
        type: LWT_BE_CALLBACKS
      item_type: struct
      name: LWT_BE_IFACE_T
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
    - fields:
      - name: '*be_iface'
        type: LWT_BE_IFACE
      - name: '*be_topo'
        type: LWT_BE_TOPOLOGY
      - name: srid
        type: int32_t
      - name: precision
        type: double
      - name: hasZ
        type: int
      item_type: struct
      name: LWT_TOPOLOGY_T
      pos:
        line_end: 130
        line_start: 123
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo_internal.h
    typedefs: []
    union: []
- function_names:
  - lwt_edgeEndStar_init
  - lwt_edgeEndStar_release
  - lwt_edgeEndStar_addEdge
  - lwt_edgeEnd_compare
  - lwt_edgeEndStar_ensureSorted
  - lwt_EdgeEndStar_debugPrint
  - lwt_edgeEndStar_getNextCW
  - lwt_edgeEndStar_getNextCCW
  source_file: /src/postgis/liblwgeom/topo/lwt_edgeend_star.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwt_nodeEdges_release
  - lwt_nodeEdges_loadFromDB
  source_file: /src/postgis/liblwgeom/topo/lwt_node_edges.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
  types:
    enum:
    - enumerators:
      - name: LWT_PUNTAL
        value: '0'
      - name: LWT_COLLECTION
        value: '3'
      - name: LWT_LINEAL
        value: '1'
      - name: LWT_AREAL
        value: '2'
      item_type: enum
      name: LWT_SPATIALTYPE_T
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - enumerators:
      - name: LWT_TOPOERR_EDGE_CROSSES_NODE
      - name: LWT_TOPOERR_EDGE_NOT_SIMPLE
      - name: LWT_TOPOERR_EDGE_CROSSES_EDGE
      - name: LWT_TOPOERR_EDGE_STARTNODE_MISMATCH
      - name: LWT_TOPOERR_EDGE_INVALID
      - name: LWT_TOPOERR_EDGE_ENDNODE_MISMATCH
      - name: LWT_TOPOERR_FACE_WITHOUT_EDGES
      - name: LWT_TOPOERR_FACE_HAS_NO_RINGS
      - name: LWT_TOPOERR_FACE_OVERLAPS_FACE
      - name: LWT_TOPOERR_FACE_WITHIN_FACE
      item_type: enum
      name: LWT_TOPOERR_TYPE_T
      pos:
        line_end: 909
        line_start: 898
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    preproc_defs:
    - item_type: preproc_def
      name: LIBLWGEOM_TOPO_H
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LWT_COL_NODE_NODE_ID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<0
    - item_type: preproc_def
      name: LWT_COL_NODE_CONTAINING_FACE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<1
    - item_type: preproc_def
      name: LWT_COL_NODE_GEOM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<2
    - item_type: preproc_def
      name: LWT_COL_NODE_ALL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: (1<<3)-1
    - item_type: preproc_def
      name: LWT_COL_EDGE_EDGE_ID
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<0
    - item_type: preproc_def
      name: LWT_COL_EDGE_START_NODE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<1
    - item_type: preproc_def
      name: LWT_COL_EDGE_END_NODE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<2
    - item_type: preproc_def
      name: LWT_COL_EDGE_FACE_LEFT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<3
    - item_type: preproc_def
      name: LWT_COL_EDGE_FACE_RIGHT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<4
    - item_type: preproc_def
      name: LWT_COL_EDGE_NEXT_LEFT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<5
    - item_type: preproc_def
      name: LWT_COL_EDGE_NEXT_RIGHT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<6
    - item_type: preproc_def
      name: LWT_COL_EDGE_GEOM
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<7
    - item_type: preproc_def
      name: LWT_COL_EDGE_ALL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: (1<<8)-1
    - item_type: preproc_def
      name: LWT_COL_FACE_FACE_ID
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<0
    - item_type: preproc_def
      name: LWT_COL_FACE_MBR
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: 1<<1
    - item_type: preproc_def
      name: LWT_COL_FACE_ALL
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type_or_value: (1<<2)-1
    structs:
    - fields:
      - name: node_id
        type: LWT_ELEMID
      - name: containing_face
        type: LWT_ELEMID
      - name: '*geom'
        type: LWPOINT
      item_type: struct
      name: LWT_ISO_NODE
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - fields:
      - name: edge_id
        type: LWT_ELEMID
      - name: start_node
        type: LWT_ELEMID
      - name: end_node
        type: LWT_ELEMID
      - name: face_left
        type: LWT_ELEMID
      - name: face_right
        type: LWT_ELEMID
      - name: next_left
        type: LWT_ELEMID
      - name: next_right
        type: LWT_ELEMID
      - name: '*geom'
        type: LWLINE
      item_type: struct
      name: LWT_ISO_EDGE
      pos:
        line_end: 68
        line_start: 58
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - fields:
      - name: face_id
        type: LWT_ELEMID
      - name: '*mbr'
        type: GBOX
      item_type: struct
      name: LWT_ISO_FACE
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - fields:
      - name: '* (*lastErrorMessage) (const LWT_BE_DATA* be)'
        type: char
      - name: '*(*createTopology)(const LWT_BE_DATA *be, const char *name, int32_t
          srid, double precision, int hasZ)'
        type: LWT_BE_TOPOLOGY
      - name: "* (*loadTopologyByName) (\n    const LWT_BE_DATA* be,\n    const char*
          name\n  )"
        type: LWT_BE_TOPOLOGY
      - name: (*freeTopology) (LWT_BE_TOPOLOGY* topo)
        type: int
      - name: '*(*getNodeById)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t *numelems, int fields)'
        type: LWT_ISO_NODE
      - name: "*(*getNodeWithinDistance2D)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t\t
          \  const LWPOINT *pt,\n\t\t\t\t\t   double dist,\n\t\t\t\t\t   uint64_t
          *numelems,\n\t\t\t\t\t   int fields,\n\t\t\t\t\t   int64_t limit)"
        type: LWT_ISO_NODE
      - name: (*insertNodes)(const LWT_BE_TOPOLOGY *topo, LWT_ISO_NODE *nodes, uint64_t
          numelems)
        type: int
      - name: '*(*getEdgeById)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t *numelems, int fields)'
        type: LWT_ISO_EDGE
      - name: "*(*getEdgeWithinDistance2D)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t\t
          \  const LWPOINT *pt,\n\t\t\t\t\t   double dist,\n\t\t\t\t\t   uint64_t
          *numelems,\n\t\t\t\t\t   int fields,\n\t\t\t\t\t   int64_t limit)"
        type: LWT_ISO_EDGE
      - name: "(*getNextEdgeId) (\n      const LWT_BE_TOPOLOGY* topo\n  )"
        type: LWT_ELEMID
      - name: (*insertEdges)(const LWT_BE_TOPOLOGY *topo, LWT_ISO_EDGE *edges, uint64_t
          numelems)
        type: int
      - name: "(*updateEdges) (\n      const LWT_BE_TOPOLOGY* topo,\n      const LWT_ISO_EDGE*
          sel_edge, int sel_fields,\n      const LWT_ISO_EDGE* upd_edge, int upd_fields,\n
          \     const LWT_ISO_EDGE* exc_edge, int exc_fields\n  )"
        type: int
      - name: '*(*getFaceById)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t *numelems, int fields)'
        type: LWT_ISO_FACE
      - name: "(*updateTopoGeomEdgeSplit) (\n      const LWT_BE_TOPOLOGY* topo,\n
          \     LWT_ELEMID split_edge, LWT_ELEMID new_edge1, LWT_ELEMID new_edge2\n
          \ )"
        type: int
      - name: "(*deleteEdges) (\n      const LWT_BE_TOPOLOGY* topo,\n      const LWT_ISO_EDGE*
          sel_edge, int sel_fields\n  )"
        type: int
      - name: "*(\n      *getNodeWithinBox2D)(const LWT_BE_TOPOLOGY *topo, const GBOX
          *box, uint64_t *numelems, int fields, int limit)"
        type: LWT_ISO_NODE
      - name: "*(\n      *getEdgeWithinBox2D)(const LWT_BE_TOPOLOGY *topo, const GBOX
          *box, uint64_t *numelems, int fields, int limit)"
        type: LWT_ISO_EDGE
      - name: '*(*getEdgeByNode)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t *numelems, int fields)'
        type: LWT_ISO_EDGE
      - name: "(*updateNodes) (\n      const LWT_BE_TOPOLOGY* topo,\n      const LWT_ISO_NODE*
          sel_node, int sel_fields,\n      const LWT_ISO_NODE* upd_node, int upd_fields,\n
          \     const LWT_ISO_NODE* exc_node, int exc_fields\n  )"
        type: int
      - name: "(*updateTopoGeomFaceSplit) (\n      const LWT_BE_TOPOLOGY* topo,\n
          \     LWT_ELEMID split_face, LWT_ELEMID new_face1, LWT_ELEMID new_face2\n
          \ )"
        type: int
      - name: (*insertFaces)(const LWT_BE_TOPOLOGY *topo, LWT_ISO_FACE *faces, uint64_t
          numelems)
        type: int
      - name: "(*updateFacesById) (\n      const LWT_BE_TOPOLOGY* topo,\n      const
          LWT_ISO_FACE* faces, uint64_t numfaces\n  )"
        type: uint64_t
      - name: '*(*getRingEdges)(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID edge, uint64_t
          *numedges, int limit)'
        type: LWT_ELEMID
      - name: (*updateEdgesById)(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_EDGE *edges,
          uint64_t numedges, int upd_fields)
        type: int
      - name: "*(*getEdgeByFace)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t const LWT_ELEMID
          *ids,\n\t\t\t\t uint64_t *numelems,\n\t\t\t\t int fields,\n\t\t\t\t const
          GBOX *box)"
        type: LWT_ISO_EDGE
      - name: "*(*getNodeByFace)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t const LWT_ELEMID
          *faces,\n\t\t\t\t uint64_t *numelems,\n\t\t\t\t int fields,\n\t\t\t\t const
          GBOX *box)"
        type: LWT_ISO_NODE
      - name: (*updateNodesById)(const LWT_BE_TOPOLOGY *topo, const LWT_ISO_NODE *nodes,
          uint64_t numnodes, int upd_fields)
        type: int
      - name: (*deleteFacesById)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t numelems)
        type: int
      - name: "(*topoGetSRID) (\n      const LWT_BE_TOPOLOGY* topo\n  )"
        type: int
      - name: "(*topoGetPrecision) (\n      const LWT_BE_TOPOLOGY* topo\n  )"
        type: double
      - name: "(*topoHasZ) (\n      const LWT_BE_TOPOLOGY* topo\n  )"
        type: int
      - name: (*deleteNodesById)(const LWT_BE_TOPOLOGY *topo, const LWT_ELEMID *ids,
          uint64_t numelems)
        type: int
      - name: "(*checkTopoGeomRemEdge) (\n      const LWT_BE_TOPOLOGY* topo,\n      LWT_ELEMID
          rem_edge,\n      LWT_ELEMID face_left,\n      LWT_ELEMID face_right\n  )"
        type: int
      - name: "(*updateTopoGeomFaceHeal) (\n      const LWT_BE_TOPOLOGY* topo,\n      LWT_ELEMID
          face1, LWT_ELEMID face2, LWT_ELEMID newface\n  )"
        type: int
      - name: "(*checkTopoGeomRemNode) (\n      const LWT_BE_TOPOLOGY* topo,\n      LWT_ELEMID
          rem_node,\n      LWT_ELEMID e1,\n      LWT_ELEMID e2\n  )"
        type: int
      - name: "(*updateTopoGeomEdgeHeal) (\n      const LWT_BE_TOPOLOGY* topo,\n      LWT_ELEMID
          edge1, LWT_ELEMID edge2, LWT_ELEMID newedge\n  )"
        type: int
      - name: "*(*getFaceWithinBox2D)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t      const
          GBOX *box,\n\t\t\t\t      uint64_t *numelems,\n\t\t\t\t      int fields,\n\t\t\t\t
          \     int limit)"
        type: LWT_ISO_FACE
      - name: "(*checkTopoGeomRemIsoNode) (\n      const LWT_BE_TOPOLOGY* topo,\n
          \     LWT_ELEMID rem_node\n  )"
        type: int
      - name: "(*checkTopoGeomRemIsoEdge) (\n      const LWT_BE_TOPOLOGY* topo,\n
          \     LWT_ELEMID rem_edge\n  )"
        type: int
      - name: "*(*getClosestEdge)(const LWT_BE_TOPOLOGY *topo,\n\t\t\t\t\t   const
          LWPOINT *pt,\n\t\t\t\t\t   uint64_t *numelems,\n\t\t\t\t\t   int fields)"
        type: LWT_ISO_EDGE
      - name: '*(*computeFaceMBR)(const LWT_BE_TOPOLOGY *topo, LWT_ELEMID face)'
        type: GBOX
      item_type: struct
      name: LWT_BE_CALLBACKS_T
      pos:
        line_end: 866
        line_start: 139
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - fields:
      - name: err
        type: LWT_TOPOERR_TYPE
      - name: elem1
        type: LWT_ELEMID
      - name: elem2
        type: LWT_ELEMID
      item_type: struct
      name: LWT_TOPOERR_T
      pos:
        line_end: 919
        line_start: 912
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    typedefs:
    - item_type: typedef
      name: LWT_INT64
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
      type: int64_t
    - item_type: typedef
      name: LWT_ELEMID
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - item_type: typedef
      name: LWT_SPATIALTYPE
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    - item_type: typedef
      name: LWT_TOPOERR_TYPE
      pos:
        line_end: 909
        line_start: 898
        source_file: /src/postgis/liblwgeom/topo/liblwgeom_topo.h
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/topo/lwt_edgeend.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWT_EDGEEND_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/liblwgeom/topo/lwt_edgeend.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*edge'
        type: LWT_ISO_EDGE
      - name: p0
        type: POINT2D
      - name: p1
        type: POINT2D
      - name: outgoing
        type: int
      - name: azimuth
        type: double
      item_type: struct
      name: LWT_EDGEEND_t
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/postgis/liblwgeom/topo/lwt_edgeend.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/liblwgeom/topo/lwt_edgeend_star.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWT_EDGEEND_STAR_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/liblwgeom/topo/lwt_edgeend_star.h
      type_or_value: '1'
    structs:
    - fields:
      - name: numEdgeEnds
        type: uint64_t
      - name: edgeEndsCapacity
        type: uint64_t
      - name: '**edgeEnds'
        type: LWT_EDGEEND
      - name: nodeID
        type: LWT_ELEMID
      - name: sorted
        type: int
      item_type: struct
      name: LWT_EDGEEND_STAR_t
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/postgis/liblwgeom/topo/lwt_edgeend_star.h
    typedefs: []
    union: []
- function_names:
  - ABS
  - cberror
  - _lwtype_upper_name
  - _box2d_to_lwgeom
  - _box2d_to_hexwkb
  - cb_lastErrorMessage
  - cb_loadTopologyByName
  - cb_topoGetSRID
  - cb_topoHasZ
  - cb_topoGetPrecision
  - cb_freeTopology
  - addEdgeFields
  - addEdgeValues
  - addEdgeUpdate
  - addNodeUpdate
  - addNodeFields
  - addFaceFields
  - addNodeValues
  - addFaceValues
  - fillEdgeFields
  - fillNodeFields
  - fillFaceFields
  - getNotNullInt32
  - cb_getEdgeById
  - cb_getEdgeByNode
  - cb_getEdgeByFace
  - cb_getFacesById
  - cb_getRingEdges
  - cb_getNodeById
  - cb_getNodeByFace
  - cb_getEdgeWithinDistance2D
  - cb_getNodeWithinDistance2D
  - cb_insertNodes
  - cb_insertEdges
  - cb_insertFaces
  - cb_updateEdges
  - cb_updateNodes
  - cb_updateNodesById
  - cb_updateFacesById
  - cb_updateEdgesById
  - cb_deleteEdges
  - cb_getNextEdgeId
  - cb_updateTopoGeomEdgeSplit
  - cb_updateTopoGeomFaceSplit
  - cb_checkTopoGeomRemEdge
  - cb_checkTopoGeomRemIsoEdge
  - cb_checkTopoGeomRemNode
  - cb_checkTopoGeomRemIsoNode
  - cb_updateTopoGeomFaceHeal
  - cb_updateTopoGeomEdgeHeal
  - cb_getClosestEdge
  - cb_computeFaceMBR
  - cb_deleteFacesById
  - cb_deleteNodesById
  - cb_getNodeWithinBox2D
  - cb_getEdgeWithinBox2D
  - cb_getFaceWithinBox2D
  - xact_callback
  - _PG_init
  - _PG_fini
  - ST_ModEdgeSplit
  - ST_NewEdgesSplit
  - ST_AddIsoNode
  - ST_AddIsoEdge
  - ST_AddEdgeModFace
  - ST_AddEdgeNewFaces
  - ST_GetFaceGeometry
  - ST_GetFaceEdges
  - ST_ChangeEdgeGeom
  - ST_RemoveIsoNode
  - ST_RemIsoEdge
  - ST_MoveIsoNode
  - ST_RemEdgeModFace
  - ST_RemEdgeNewFace
  - ST_ModEdgeHeal
  - ST_NewEdgeHeal
  - GetNodeByPoint
  - GetEdgeByPoint
  - GetFaceByPoint
  - TopoGeo_AddPoint
  - TopoGeo_AddLinestring
  - TopoGeo_AddLinestringNoFace
  - TopoGeo_AddPolygon
  - GetRingEdges
  - GetFaceContainingPoint
  - RegisterMissingFaces
  - TopoGeo_LoadGeometry
  source_file: /src/postgis/topology/postgis_topology.c
  types:
    enum:
    - enumerators:
      - name: updSet
      - name: updNot
      - name: updSel
      item_type: enum
      name: UpdateType
      pos:
        line_end: 414
        line_start: 409
        source_file: /src/postgis/topology/postgis_topology.c
    preproc_defs:
    - item_type: preproc_def
      name: __attribute__
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/topology/postgis_topology.c
      type_or_value: (x)
    - item_type: preproc_def
      name: LWTFMT_ELEMID
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/topology/postgis_topology.c
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: LWTFMT_ELEMID
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/topology/postgis_topology.c
      type_or_value: PRId64
    - item_type: preproc_def
      name: MAXERRLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postgis/topology/postgis_topology.c
      type_or_value: '256'
    structs:
    - fields:
      - name: lastErrorMsg[MAXERRLEN]
        type: char
      - name: data_changed
        type: bool
      - name: topoLoadFailMessageFlavor
        type: int
      item_type: struct
      name: LWT_BE_DATA_T
      pos:
        line_end: 75
        line_start: 60
        source_file: /src/postgis/topology/postgis_topology.c
    - fields:
      - name: '* be_data'
        type: LWT_BE_DATA
      - name: '*name'
        type: char
      - name: id
        type: int
      - name: srid
        type: int32_t
      - name: precision
        type: double
      - name: hasZ
        type: int
      - name: geometryOID
        type: Oid
      item_type: struct
      name: LWT_BE_TOPOLOGY_T
      pos:
        line_end: 88
        line_start: 79
        source_file: /src/postgis/topology/postgis_topology.c
    - fields:
      - name: '*elems'
        type: LWT_ELEMID
      - name: nelems
        type: int
      - name: curr
        type: int
      item_type: struct
      name: FACEEDGESSTATE
      pos:
        line_end: 4119
        line_start: 4114
        source_file: /src/postgis/topology/postgis_topology.c
    typedefs: []
    union: []
- function_names:
  - gtk_dialog_get_content_area
  - pgui_log_va
  - pgui_logf
  - pgui_seterr_va
  - pgui_seterr
  - pgui_raise_error_dialogue
  - pgui_exec
  - pgui_copy_start
  - pgui_copy_write
  - pgui_copy_end
  - update_filename_field_width
  - connection_test
  - pgui_event_popup_delete
  - pgui_action_progress_cancel
  - pgui_action_progress_delete
  - update_loader_config_globals_from_options_ui
  - update_options_ui_from_loader_config_globals
  - pgui_set_loader_configs_from_options_ui
  - update_table_chooser_from_database
  - table_chooser_visibility_func
  - update_dumper_config_globals_from_options_ui
  - update_options_ui_from_dumper_config_globals
  - pgui_set_dumper_configs_from_options_ui
  - pgui_action_chooser_toggle_show_geocolumn
  - pgui_action_dumper_options_open
  - pgui_action_dumper_options_close
  - create_new_file_config
  - add_loader_file_config_to_list
  - free_loader_config
  - create_new_table_config
  - add_dumper_table_config_to_list
  - free_dumper_config
  - validate_shape_column_against_pg_column
  - validate_remote_loader_columns
  - pgui_quit
  - pgui_action_about_open
  - pgui_action_cancel
  - pgui_action_loader_options_open
  - pgui_action_loader_options_close
  - pgui_action_open_file_dialog
  - pgui_action_open_table_dialog
  - pgui_action_handle_table_remove
  - pgui_action_import
  - pgui_action_export
  - process_single_uri
  - update_loader_file_config_from_listview_iter
  - pgui_action_handle_file_drop
  - pgui_action_handle_tree_combo
  - pgui_action_handle_loader_edit
  - pgui_action_handle_file_remove
  - update_dumper_table_config_from_listview_iter
  - pgui_action_handle_table_geocol_combo
  - pgui_action_handle_dumper_edit
  - update_conn_ui_from_conn_config
  - update_conn_config_from_conn_ui
  - pgui_action_connection_details
  - pgui_validate_connection
  - pgui_sanitize_connection_string
  - pgui_action_connection_okay
  - pgui_create_about_dialog
  - pgui_create_filechooser_dialog
  - pgui_create_folderchooser_dialog
  - pgui_create_progress_dialog
  - pgui_create_options_dialog_add_label
  - pgui_create_loader_options_dialog
  - pgui_create_dumper_options_dialog
  - pgui_create_tablechooser_dialog
  - pgui_create_import_file_table
  - pgui_create_export_table_table
  - pgui_create_connection_window
  - pgui_create_main_window
  - usage
  - main
  source_file: /src/postgis/loader/shp2pgsql-gui.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GUI_RCSID
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/loader/shp2pgsql-gui.c
      type_or_value: '"shp2pgsql-gui $Revision$"'
    - item_type: preproc_def
      name: SHAPEFIELDMAXWIDTH
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/loader/shp2pgsql-gui.c
      type_or_value: '60'
    - item_type: preproc_def
      name: GUIMSG_LINE_MAXLEN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/postgis/loader/shp2pgsql-gui.c
      type_or_value: '256'
    - item_type: preproc_def
      name: MAXLEN
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/postgis/loader/shp2pgsql-gui.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MAXLEN
      pos:
        line_end: 2185
        line_start: 2184
        source_file: /src/postgis/loader/shp2pgsql-gui.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/getopt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - usage
  - main
  source_file: /src/postgis/loader/shp2pgsql-cli.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERR
  - pgis_getopt
  source_file: /src/postgis/loader/getopt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/pgsql2shp-core.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: P2S_RCSID
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postgis/loader/pgsql2shp-core.h
      type_or_value: '"$Id$"'
    - item_type: preproc_def
      name: SHPDUMPERMSGLEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/loader/pgsql2shp-core.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: SHPDUMPEROK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postgis/loader/pgsql2shp-core.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: SHPDUMPERERR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postgis/loader/pgsql2shp-core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHPDUMPERWARN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/loader/pgsql2shp-core.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*conn'
        type: SHPCONNECTIONCONFIG
      - name: '*table'
        type: char
      - name: '*schema'
        type: char
      - name: '*usrquery'
        type: char
      - name: binary
        type: int
      - name: '*shp_file'
        type: char
      - name: dswitchprovided
        type: int
      - name: includegid
        type: int
      - name: unescapedattrs
        type: int
      - name: '*geo_col_name'
        type: char
      - name: keep_fieldname_case
        type: int
      - name: fetchsize
        type: int
      - name: '*column_map_filename'
        type: char
      - name: quiet
        type: int
      item_type: struct
      name: shp_dumper_config
      pos:
        line_end: 93
        line_start: 49
        source_file: /src/postgis/loader/pgsql2shp-core.h
    - fields:
      - name: '*config'
        type: SHPDUMPERCONFIG
      - name: '*conn'
        type: PGconn
      - name: pgis_major_version
        type: int
      - name: geom_oid
        type: int
      - name: geog_oid
        type: int
      - name: '*schema'
        type: char
      - name: '*table'
        type: char
      - name: '*geo_col_name'
        type: char
      - name: '**dbffieldnames'
        type: char
      - name: '*dbffieldtypes'
        type: int
      - name: '**pgfieldnames'
        type: char
      - name: '*pgfieldlens'
        type: int
      - name: '*pgfieldtypmods'
        type: int
      - name: fieldcount
        type: int
      - name: num_records
        type: int
      - name: '*shp_file'
        type: char
      - name: dbf
        type: DBFHandle
      - name: shp
        type: SHPHandle
      - name: outtype
        type: char
      - name: outshptype
        type: int
      - name: rowcount
        type: int
      - name: '*main_scan_query'
        type: char
      - name: currow
        type: int
      - name: '*fetchres'
        type: PGresult
      - name: curresrow
        type: int
      - name: currescount
        type: int
      - name: '*fetch_query'
        type: char
      - name: message[SHPDUMPERMSGLEN]
        type: char
      - name: column_map
        type: colmap
      item_type: struct
      name: shp_dumper_state
      pos:
        line_end: 189
        line_start: 100
        source_file: /src/postgis/loader/pgsql2shp-core.h
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - usage
  - main
  source_file: /src/postgis/loader/pgsql2shp-cli.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STRCASECMP
  - STRCASECMP
  - CPL_IGNORE_RET_VAL_INT
  - CPL_IGNORE_RET_VAL_INT
  - STATIC_CAST
  - REINTERPRET_CAST
  - CONST_CAST
  - STATIC_CAST
  - REINTERPRET_CAST
  - CONST_CAST
  - SfRealloc
  - DBFWriteHeader
  - DBFFlushRecord
  - DBFLoadRecord
  - SHPAPI_CALL::DBFUpdateHeader
  - SHPAPI_CALL::DBFSetLastModifiedDate
  - SHPAPI_CALL::DBFOpen
  - DBFGetLenWithoutExtension
  - SHPAPI_CALL::DBFOpenLL
  - SHPAPI_CALL::DBFClose
  - SHPAPI_CALL::DBFCreate
  - SHPAPI_CALL::DBFCreateEx
  - SHPAPI_CALL::DBFCreateLL
  - SHPAPI_CALL::DBFAddField
  - DBFGetNullCharacter
  - SHPAPI_CALL::DBFAddNativeFieldType
  - DBFReadAttribute
  - SHPAPI_CALL::DBFReadIntegerAttribute
  - SHPAPI_CALL::DBFReadDoubleAttribute
  - SHPAPI_CALL1
  - DBFIsValueNULL
  - SHPAPI_CALL::DBFIsAttributeNULL
  - SHPAPI_CALL::DBFGetFieldCount
  - SHPAPI_CALL::DBFGetRecordCount
  - SHPAPI_CALL::DBFGetFieldInfo
  - DBFWriteAttribute
  - SHPAPI_CALL::DBFWriteAttributeDirectly
  - SHPAPI_CALL::DBFWriteDoubleAttribute
  - SHPAPI_CALL::DBFWriteIntegerAttribute
  - SHPAPI_CALL::DBFWriteStringAttribute
  - SHPAPI_CALL::DBFWriteNULLAttribute
  - SHPAPI_CALL::DBFWriteLogicalAttribute
  - SHPAPI_CALL::DBFWriteTuple
  - SHPAPI_CALL1
  - SHPAPI_CALL::DBFGetNativeFieldType
  - SHPAPI_CALL::DBFGetFieldIndex
  - SHPAPI_CALL::DBFIsRecordDeleted
  - SHPAPI_CALL::DBFMarkRecordDeleted
  - SHPAPI_CALL1
  - SHPAPI_CALL::DBFReorderFields
  - SHPAPI_CALL::DBFAlterFieldDefn
  - SHPAPI_CALL::DBFSetWriteEndOfFileChar
  source_file: /src/postgis/loader/dbfopen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CPLsprintf
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: sprintf
    - item_type: preproc_def
      name: CPLsnprintf
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: snprintf
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: '1'
    - item_type: preproc_def
      name: XBASE_FILEHDR_SZ
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HEADER_RECORD_TERMINATOR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: '0x0D'
    - item_type: preproc_def
      name: END_OF_FILE_CHARACTER
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: '0x1A'
    - item_type: preproc_def
      name: SHPLIB_NULLPTR
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: SHPLIB_NULLPTR
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postgis/loader/dbfopen.c
      type_or_value: 'NULL'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SADFOpen
  - SADFRead
  - SADFWrite
  - SADFSeek
  - SADFTell
  - SADFFlush
  - SADFClose
  - SADRemove
  - SADError
  - SASetupDefaultHooks
  - Utf8ToWideChar
  - SAUtf8WFOpen
  - SAUtf8WRemove
  - SASetupUtf8Hooks
  source_file: /src/postgis/loader/safileio.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - _
  source_file: /src/postgis/loader/shpcommon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postgis/loader/shpcommon.h
      type_or_value: '"shp2pgsql"'
    structs:
    - fields:
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*database'
        type: char
      - name: '*port'
        type: char
      - name: '*host'
        type: char
      item_type: struct
      name: shp_connection_state
      pos:
        line_end: 45
        line_start: 28
        source_file: /src/postgis/loader/shpcommon.h
    - fields:
      - name: '**pgfieldnames'
        type: char
      - name: '**dbffieldnames'
        type: char
      - name: size
        type: int
      item_type: struct
      name: colmap_t
      pos:
        line_end: 62
        line_start: 51
        source_file: /src/postgis/loader/shpcommon.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/shp2pgsql-core.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: S2P_RCSID
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '"$Id$"'
    - item_type: preproc_def
      name: WKT_PRECISION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '15'
    - item_type: preproc_def
      name: POLICY_NULL_ABORT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: POLICY_NULL_INSERT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: POLICY_NULL_SKIP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: FORCE_OUTPUT_DISABLE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: FORCE_OUTPUT_2D
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: FORCE_OUTPUT_3DZ
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: FORCE_OUTPUT_3DM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: FORCE_OUTPUT_4D
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: SHPLOADERMSGLEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: SHPLOADEROK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: SHPLOADERERR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHPLOADERWARN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHPLOADERRECDELETED
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SHPLOADERRECISNULL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAXFIELDNAMELEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAXVALUELEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: GEOMETRY_DEFAULT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '"geom"'
    - item_type: preproc_def
      name: GEOGRAPHY_DEFAULT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '"geog"'
    - item_type: preproc_def
      name: ENCODING_DEFAULT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/loader/shp2pgsql-core.h
      type_or_value: '"UTF-8"'
    structs:
    - fields:
      - name: opt
        type: char
      - name: '*table'
        type: char
      - name: '*schema'
        type: char
      - name: '*geo_col'
        type: char
      - name: '*shp_file'
        type: char
      - name: dump_format
        type: int
      - name: simple_geometries
        type: int
      - name: geography
        type: int
      - name: quoteidentifiers
        type: int
      - name: forceint4
        type: int
      - name: createindex
        type: int
      - name: analyze
        type: int
      - name: readshape
        type: int
      - name: force_output
        type: int
      - name: '*encoding'
        type: char
      - name: '*tablespace'
        type: char
      - name: '*idxtablespace'
        type: char
      - name: null_policy
        type: int
      - name: sr_id
        type: int
      - name: shp_sr_id
        type: int
      - name: use_wkt
        type: int
      - name: usetransaction
        type: int
      - name: '*column_map_filename'
        type: char
      item_type: struct
      name: shp_loader_config
      pos:
        line_end: 152
        line_start: 81
        source_file: /src/postgis/loader/shp2pgsql-core.h
    - fields:
      - name: '*config'
        type: SHPLOADERCONFIG
      - name: hSHPHandle
        type: SHPHandle
      - name: shpfiletype
        type: int
      - name: hDBFHandle
        type: DBFHandle
      - name: num_entities
        type: int
      - name: num_fields
        type: int
      - name: num_records
        type: int
      - name: '**field_names'
        type: char
      - name: '*types'
        type: DBFFieldType
      - name: '*widths'
        type: int
      - name: '*precisions'
        type: int
      - name: '**pgfieldtypes'
        type: char
      - name: '*col_names'
        type: char
      - name: '*pgtype'
        type: char
      - name: has_z
        type: int
      - name: has_m
        type: int
      - name: pgdims
        type: int
      - name: message[SHPLOADERMSGLEN]
        type: char
      - name: from_srid
        type: int
      - name: to_srid
        type: int
      - name: '*geo_col'
        type: char
      - name: column_map
        type: colmap
      item_type: struct
      name: shp_loader_state
      pos:
        line_end: 225
        line_start: 158
        source_file: /src/postgis/loader/shp2pgsql-core.h
    typedefs: []
    union: []
- function_names:
  - SHPAPI_CALL1
  - SHPAPI_CALL1
  - SHPAPI_CALL1
  - SHP_CVSID
  - SHP_CVSID
  source_file: /src/postgis/loader/shapefil.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHPAPI_CALL
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SHPAPI_CALL
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: __attribute__ ((visibility("default")))
    - item_type: preproc_def
      name: SHPT_NULL
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHPT_POINT
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHPT_ARC
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SHPT_POLYGON
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SHPT_MULTIPOINT
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '8'
    - item_type: preproc_def
      name: SHPT_POINTZ
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '11'
    - item_type: preproc_def
      name: SHPT_ARCZ
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '13'
    - item_type: preproc_def
      name: SHPT_POLYGONZ
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '15'
    - item_type: preproc_def
      name: SHPT_MULTIPOINTZ
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '18'
    - item_type: preproc_def
      name: SHPT_POINTM
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '21'
    - item_type: preproc_def
      name: SHPT_ARCM
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '23'
    - item_type: preproc_def
      name: SHPT_POLYGONM
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '25'
    - item_type: preproc_def
      name: SHPT_MULTIPOINTM
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '28'
    - item_type: preproc_def
      name: SHPT_MULTIPATCH
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '31'
    - item_type: preproc_def
      name: SHPP_TRISTRIP
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SHPP_TRIFAN
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHPP_OUTERRING
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SHPP_INNERRING
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SHPP_FIRSTRING
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SHPP_RING
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MAX_SUBNODE
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_DEFAULT_TREE_DEPTH
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/postgis/loader/shapefil.h
      type_or_value: '12'
    structs:
    - fields:
      - name: (*FOpen) ( const char *filename, const char *access)
        type: SAFile
      - name: (*FRead) ( void *p, SAOffset size, SAOffset nmemb, SAFile file)
        type: SAOffset
      - name: (*FWrite)( void *p, SAOffset size, SAOffset nmemb, SAFile file)
        type: SAOffset
      - name: (*FSeek) ( SAFile file, SAOffset offset, int whence )
        type: SAOffset
      - name: (*FTell) ( SAFile file )
        type: SAOffset
      - name: (*FFlush)( SAFile file )
        type: int
      - name: (*FClose)( SAFile file )
        type: int
      - name: (*Remove) ( const char *filename )
        type: int
      - name: (*Error) ( const char *message )
        type: void
      - name: (*Atof)  ( const char *str )
        type: double
      item_type: struct
      name: SAHooks
      pos:
        line_end: 300
        line_start: 288
        source_file: /src/postgis/loader/shapefil.h
    - fields:
      - name: sHooks
        type: SAHooks
      - name: fpSHP
        type: SAFile
      - name: fpSHX
        type: SAFile
      - name: nShapeType
        type: int
      - name: nFileSize
        type: unsigned int
      - name: nRecords
        type: int
      - name: nMaxRecords
        type: int
      - name: '*panRecOffset'
        type: unsigned int
      - name: '*panRecSize'
        type: unsigned int
      - name: adBoundsMin[4]
        type: double
      - name: adBoundsMax[4]
        type: double
      - name: bUpdated
        type: int
      - name: '*pabyRec'
        type: unsigned char
      - name: nBufSize
        type: int
      - name: bFastModeReadObject
        type: int
      - name: '*pabyObjectBuf'
        type: unsigned char
      - name: nObjectBufSize
        type: int
      - name: '*     psCachedObject'
        type: SHPObject
      item_type: struct
      name: SHPInfo
      pos:
        line_end: 340
        line_start: 312
        source_file: /src/postgis/loader/shapefil.h
    - fields:
      - name: nSHPType
        type: int
      - name: nShapeId
        type: int
      - name: nParts
        type: int
      - name: '*panPartStart'
        type: int
      - name: '*panPartType'
        type: int
      - name: nVertices
        type: int
      - name: '*padfX'
        type: double
      - name: '*padfY'
        type: double
      - name: '*padfZ'
        type: double
      - name: '*padfM'
        type: double
      - name: dfXMin
        type: double
      - name: dfYMin
        type: double
      - name: dfZMin
        type: double
      - name: dfMMin
        type: double
      - name: dfXMax
        type: double
      - name: dfYMax
        type: double
      - name: dfZMax
        type: double
      - name: dfMMax
        type: double
      - name: bMeasureIsUsed
        type: int
      - name: bFastModeReadObject
        type: int
      item_type: struct
      name: tagSHPObject
      pos:
        line_end: 406
        line_start: 378
        source_file: /src/postgis/loader/shapefil.h
    - fields:
      - name: adfBoundsMin[4]
        type: double
      - name: adfBoundsMax[4]
        type: double
      - name: nShapeCount
        type: int
      - name: '*panShapeIds'
        type: int
      - name: '**papsShapeObj'
        type: SHPObject
      - name: nSubNodes
        type: int
      - name: '*apsSubNode[MAX_SUBNODE]'
        type: struct shape_tree_node
      item_type: struct
      name: shape_tree_node
      pos:
        line_end: 499
        line_start: 484
        source_file: /src/postgis/loader/shapefil.h
    - fields:
      - name: hSHP
        type: SHPHandle
      - name: nMaxDepth
        type: int
      - name: nDimension
        type: int
      - name: nTotalCount
        type: int
      - name: '*psRoot'
        type: SHPTreeNode
      item_type: struct
      name: SHPTree
      pos:
        line_end: 510
        line_start: 501
        source_file: /src/postgis/loader/shapefil.h
    typedefs:
    - item_type: typedef
      name: '*SAFile'
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/postgis/loader/shapefil.h
      type: int
    - item_type: typedef
      name: SAOffset
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/postgis/loader/shapefil.h
      type: unsigned long
    - item_type: typedef
      name: '* SHPHandle'
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/postgis/loader/shapefil.h
    union:
    - fields:
      - name: dfDoubleField
        type: double
      - name: nIntField
        type: int
      item_type: union
      name: fieldValue
      pos:
        line_end: 621
        line_start: 617
        source_file: /src/postgis/loader/shapefil.h
- function_names:
  - utf8
  - escape_copy_string
  - escape_insert_string
  - GeneratePointGeometry
  - GenerateLineStringGeometry
  - PIP
  - FindPolygons
  - ReleasePolygons
  - GeneratePolygonGeometry
  - strtolower
  - set_loader_config_defaults
  - ShpLoaderCreate
  - ShpLoaderOpenShape
  - ShpLoaderGetSQLHeader
  - ShpLoaderGetSQLCopyStatement
  - ShpLoaderGetRecordCount
  - ShpLoaderGenerateSQLRowStatement
  - ShpLoaderGetSQLFooter
  - ShpLoaderDestroy
  source_file: /src/postgis/loader/shp2pgsql-core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTF8_GOOD_RESULT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/loader/shp2pgsql-core.c
      type_or_value: '0'
    - item_type: preproc_def
      name: UTF8_BAD_RESULT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/loader/shp2pgsql-core.c
      type_or_value: '1'
    - item_type: preproc_def
      name: UTF8_NO_RESULT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/loader/shp2pgsql-core.c
      type_or_value: '2'
    structs:
    - fields:
      - name: x
        type: double
      item_type: struct
      name: struct_point
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/postgis/loader/shp2pgsql-core.c
    - fields:
      - name: '*list'
        type: Point
      - name: '*next'
        type: struct struct_ring
      - name: n
        type: int
      - name: linked
        type: unsigned int
      item_type: struct
      name: struct_ring
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/postgis/loader/shp2pgsql-core.c
    typedefs: []
    union: []
- function_names:
  - ByteCopy
  - MIN
  - MAX
  - STATIC_CAST
  - STATIC_CAST
  - SwapWord
  - SfRealloc
  - SHPAPI_CALL::SHPWriteHeader
  - SHPAPI_CALL::SHPOpen
  - SHPGetLenWithoutExtension
  - SHPAPI_CALL::SHPOpenLL
  - SHPAPI_CALL::SHPOpenLLEx
  - SHPAPI_CALL::SHPRestoreSHX
  - SHPAPI_CALL::SHPClose
  - SHPAPI_CALL::SHPSetFastModeReadObject
  - SHPAPI_CALL::SHPGetInfo
  - SHPAPI_CALL::SHPCreate
  - SHPAPI_CALL::SHPCreateLL
  - _SHPSetBounds
  - SHPAPI_CALL::SHPComputeExtents
  - SHPCreateSimpleObject
  - SHPAPI_CALL::SHPWriteObject
  - SHPAllocBuffer
  - SHPReallocObjectBufIfNecessary
  - SHPTypeName
  - SHPGetPartVertexCount
  - SHPRewindIsInnerRing
  - SHPAPI_CALL::SHPRewindObject
  source_file: /src/postgis/loader/shpopen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: '0'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: '1'
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: _snprintf
    - item_type: preproc_def
      name: CPL_UNUSED
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: __attribute((__unused__))
    - item_type: preproc_def
      name: bBigEndian
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: 'FALSE'
    - item_type: preproc_def
      name: bBigEndian
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: 'TRUE'
    - item_type: preproc_def
      name: SHPLIB_NULLPTR
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: nullptr
    - item_type: preproc_def
      name: SHPLIB_NULLPTR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postgis/loader/shpopen.c
      type_or_value: 'NULL'
    structs: []
    typedefs:
    - item_type: typedef
      name: uchar
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/postgis/loader/shpopen.c
      type: unsigned char
    - item_type: typedef
      name: int32
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/postgis/loader/shpopen.c
      type: unsigned long
    - item_type: typedef
      name: int32
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/postgis/loader/shpopen.c
      type: unsigned int
    union: []
- function_names:
  - escape_connection_string
  - colmap_init
  - colmap_clean
  - colmap_dbf_by_pg
  - colmap_pg_by_dbf
  - colmap_read
  - codepage2encoding
  - encoding2codepage
  source_file: /src/postgis/loader/shpcommon.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ldid
        type: int
      - name: cpg
        type: int
      - name: '*desc'
        type: char
      - name: '*iconv'
        type: char
      - name: '*pg'
        type: char
      item_type: struct
      name: code_page_entry
      pos:
        line_end: 32
        line_start: 25
        source_file: /src/postgis/loader/shpcommon.c
    typedefs: []
    union: []
- function_names:
  - core_asprintf
  - create_point_empty
  - create_point
  - create_multipoint
  - create_polygon
  - create_multipolygon
  - create_linestring
  - create_multilinestring
  - reverse_points
  - is_clockwise
  - getMaxFieldSize
  - shapetypename
  - nullDBFValue
  - goodDBFValue
  - convert_bytes_to_hex
  - projFileCreate
  - getTableInfo
  - set_dumper_config_defaults
  - ShpDumperCreate
  - ShpDumperGetConnectionStringFromConn
  - ShpDumperConnectDatabase
  - ShpDumperOpenTable
  - ShpLoaderGenerateShapeRow
  - ShpDumperGetRecordCount
  - ShpDumperCloseTable
  - ShpDumperDestroy
  - quote_identifier
  source_file: /src/postgis/loader/pgsql2shp-core.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DBF_FIELD_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/loader/pgsql2shp-core.c
      type_or_value: '254'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/cunit/cu_pgsql2shp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - register_pgsql2shp_suite
  - init_pgsql2shp_suite
  - clean_pgsql2shp_suite
  - test_ShpDumperCreate
  - test_ShpDumperDestroy
  source_file: /src/postgis/loader/cunit/cu_pgsql2shp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/cunit/cu_shp2pgsql.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/loader/cunit/cu_tester.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - register_shp2pgsql_suite
  - init_shp2pgsql_suite
  - clean_shp2pgsql_suite
  - test_ShpLoaderCreate
  - test_ShpLoaderDestroy
  source_file: /src/postgis/loader/cunit/cu_shp2pgsql.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postgis/loader/cunit/cu_tester.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - noticereporter
  - debuglogger
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/postgis/fuzzers/geojson_import_fuzzer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocator
  - freeor
  - reallocator
  - noticereporter
  - errorreporter
  - debuglogger
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/postgis/fuzzers/wkb_import_fuzzer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - allocator
  - freeor
  - reallocator
  - noticereporter
  - errorreporter
  - debuglogger
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/postgis/fuzzers/wkt_import_fuzzer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/postgis/fuzzers/fuzzingengine.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geod_init
  - geod_inverse
  - geod_direct
  - geod_polygon_init
  - geod_polygon_addpoint
  - geod_polygon_compute
  source_file: /src/postgis/fuzzers/proj_stub.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GEOSCoordSeq_destroy
  - GEOSClipByRect
  - GEOSUnion
  - GEOSCoordSeq_getDimensions
  - GEOSPreparedCovers
  - GEOSPreparedContains
  - GEOSSymDifference
  - GEOSUnionCascaded
  - GEOSGetExteriorRing
  - GEOSCoordSeq_setX
  - GEOSGeom_createLineString
  - GEOSCoordSeq_getY
  - GEOSEquals
  - GEOSRelatePatternMatch
  - GEOSGeom_createCollection
  - GEOSGeom_extractUniquePoints
  - GEOSNormalize
  - GEOSVoronoiDiagram
  - GEOSArea
  - GEOSLineMerge
  - GEOSGeom_createPolygon
  - GEOSGetCentroid
  - GEOSCoordSeq_create
  - GEOSFree
  - initGEOS
  - GEOSIntersection
  - GEOSEnvelope
  - GEOSGetGeometryN
  - GEOSSTRtree_insert
  - GEOSGeomTypeId
  - GEOSBoundary
  - GEOSversion
  - GEOSGetInteriorRingN
  - GEOSCoordSeq_setY
  - GEOSGetSRID
  - GEOSGeom_destroy
  - GEOSGeom_createEmptyPolygon
  - GEOSPolygonize
  - GEOSCoordSeq_getX
  - GEOSSharedPaths
  - GEOSSTRtree_create
  - GEOSGeom_clone
  - GEOSRelateBoundaryNodeRule
  - GEOSSnap
  - GEOSRelatePattern
  - GEOSSetSRID
  - GEOSisValid
  - GEOSContains
  - GEOSPreparedGeom_destroy
  - GEOSCoordSeq_setZ
  - GEOSOffsetCurve
  - GEOSUnaryUnion
  - GEOSPrepare
  - GEOSCoordSeq_getSize
  - GEOSGetNumInteriorRings
  - GEOSGetNumGeometries
  - GEOSisSimple
  - GEOSDifference
  - GEOSPreparedIntersects
  - GEOSisEmpty
  - GEOSPointOnSurface
  - GEOSSTRtree_query
  - GEOSGeom_createPoint
  - GEOSSTRtree_destroy
  - GEOSIntersects
  - GEOSHasZ
  - GEOSGeom_getCoordSeq
  - GEOSCoordSeq_getZ
  - GEOSGeom_createLinearRing
  - GEOSGeomType
  - GEOSDelaunayTriangulation
  - GEOSNode
  - GEOSGeom_createEmptyPoint
  - GEOSCoordSeq_setXY
  - GEOSCoordSeq_getXY
  - GEOSCoordSeq_setXYZ
  - GEOSCoordSeq_getXYZ
  - GEOSGeom_getXY
  - GEOSBuildArea
  - GEOSMakeValid
  - GEOSGeom_getXYZ
  - GEOSGeom_setXY
  - GEOSGeom_setXYZ
  - GEOSGeom_createPointFromXY
  source_file: /src/postgis/fuzzers/geos_stub.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extras/wkb_reader/wkbtest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/postgis/extras/wkb_reader/wkbtest.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postgis/extras/wkb_reader/wkbtest.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: int32
      pos:
        line_end: 8
        line_start: 8
        source_file: /src/postgis/extras/wkb_reader/wkbtest.h
      type: signed int
    - item_type: typedef
      name: uint32
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/postgis/extras/wkb_reader/wkbtest.h
      type: unsigned int
    - item_type: typedef
      name: bool
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/postgis/extras/wkb_reader/wkbtest.h
      type: char
    union: []
- function_names:
  - exit_nicely
  - dump_bytes
  - find_WKB_typeid
  - main
  source_file: /src/postgis/extras/wkb_reader/readwkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - swap_char
  - flip_endian_double
  - flip_endian_int32
  - decode_wkb_collection
  - decode_wkb
  source_file: /src/postgis/extras/wkb_reader/printwkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WKBZOFFSET
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/postgis/extras/wkb_reader/printwkb.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: WKBMOFFSET
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/postgis/extras/wkb_reader/printwkb.c
      type_or_value: '0x40000000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/libpgcommon/lwgeom_transform.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROJ_CACHE_ITEMS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '128'
    - item_type: preproc_def
      name: SRID_RESERVE_OFFSET
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999000'
    - item_type: preproc_def
      name: SRID_WORLD_MERCATOR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999000'
    - item_type: preproc_def
      name: SRID_NORTH_UTM_START
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999001'
    - item_type: preproc_def
      name: SRID_NORTH_UTM_END
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999060'
    - item_type: preproc_def
      name: SRID_NORTH_LAMBERT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999061'
    - item_type: preproc_def
      name: SRID_NORTH_STEREO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999062'
    - item_type: preproc_def
      name: SRID_SOUTH_UTM_START
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999101'
    - item_type: preproc_def
      name: SRID_SOUTH_UTM_END
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999160'
    - item_type: preproc_def
      name: SRID_SOUTH_LAMBERT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999161'
    - item_type: preproc_def
      name: SRID_SOUTH_STEREO
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999162'
    - item_type: preproc_def
      name: SRID_LAEA_START
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999163'
    - item_type: preproc_def
      name: SRID_LAEA_END
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
      type_or_value: '999283'
    structs:
    - fields:
      - name: srid_from
        type: int32_t
      - name: srid_to
        type: int32_t
      - name: hits
        type: uint64_t
      - name: '*projection'
        type: LWPROJ
      item_type: struct
      name: struct_PROJSRSCacheItem
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
    - fields:
      - name: PROJSRSCache[PROJ_CACHE_ITEMS]
        type: PROJSRSCacheItem
      - name: PROJSRSCacheCount
        type: uint32_t
      - name: PROJSRSCacheContext
        type: MemoryContext
      item_type: struct
      name: struct_PROJSRSCache
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
    - fields:
      - name: precision_xy
        type: int
      - name: precision_z
        type: int
      - name: precision_m
        type: int
      item_type: struct
      name: srs_precision
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/postgis/libpgcommon/lwgeom_transform.h
    typedefs: []
    union: []
- function_names:
  - shared_gserialized_new_nocache
  - shared_gserialized_new_cached
  - shared_gserialized_equal
  - shared_gserialized_get
  source_file: /src/postgis/libpgcommon/shared_gserialized.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TypenameNspGetTypid
  - postgis_get_extension_schema
  - postgis_get_full_version_schema
  - getPostgisConstants
  - postgis_oid
  - postgis_initialize_cache
  - postgis_spatial_ref_sys
  - pg_parser_errhint
  - pg_unparser_errhint
  - pg_alloc
  - pg_realloc
  - pg_free
  - pg_error
  - pg_warning
  - pg_notice
  - pg_debug
  - pg_install_lwgeom_handlers
  - geography_serialize
  - geometry_serialize
  - lwpgnotice
  - lwpgwarning
  - lwpgerror
  - postgis_guc_name_compare
  - postgis_guc_var_compare
  - postgis_guc_find_option
  - CallerFInfoFunctionCall3
  source_file: /src/postgis/libpgcommon/lwgeom_pg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PGC_ERRMSG_MAXLEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/libpgcommon/lwgeom_pg.c
      type_or_value: 2048 //256
    structs: []
    typedefs: []
    union: []
- function_names:
  - FLAGS_NDIMS_GIDX
  - gidx_to_string
  - gidx_new
  - gidx_from_gbox_p
  - gbox_from_gidx
  - gserialized_datum_get_gidx_p
  source_file: /src/postgis/libpgcommon/gserialized_gist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/libpgcommon/common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/libpgcommon/lwgeom_cache.h
  types:
    enum:
    - enumerators:
      - name: TOAST_CACHE_ENTRY
        value: '0'
      - name: PREP_CACHE_ENTRY
        value: '1'
      - name: CIRC_CACHE_ENTRY
        value: '3'
      - name: RECT_CACHE_ENTRY
        value: '4'
      - name: ITREE_CACHE_ENTRY
        value: '2'
      - name: SRSDESC_CACHE_ENTRY
        value: '5'
      - name: SRID_CACHE_ENTRY
        value: '6'
      item_type: enum
      name: CacheEntryEnum
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    preproc_defs:
    - item_type: preproc_def
      name: NUM_CACHE_ENTRIES
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
      type_or_value: '7'
    - item_type: preproc_def
      name: ToastCacheSize
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SRSDescCacheSize
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SRIDCacheSize
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*geom'
        type: GSERIALIZED
      - name: count
        type: uint32_t
      item_type: struct
      name: SHARED_GSERIALIZED
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: type
        type: uint32_t
      - name: argnum
        type: uint32
      - name: '*geom1'
        type: SHARED_GSERIALIZED
      - name: '*geom2'
        type: SHARED_GSERIALIZED
      item_type: struct
      name: GeomCache
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: entry_number
        type: uint32_t
      - name: (*GeomIndexBuilder)(const LWGEOM* lwgeom, GeomCache* cache)
        type: int
      - name: (*GeomIndexFreer)(GeomCache* cache)
        type: int
      - name: '* (*GeomCacheAllocator)(void)'
        type: GeomCache
      item_type: struct
      name: GeomCacheMethods
      pos:
        line_end: 78
        line_start: 72
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: valueid
        type: Oid
      - name: toastrelid
        type: Oid
      - name: '*geom'
        type: SHARED_GSERIALIZED
      item_type: struct
      name: ToastCacheArgument
      pos:
        line_end: 97
        line_start: 92
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: type
        type: int
      - name: arg[ToastCacheSize]
        type: ToastCacheArgument
      item_type: struct
      name: ToastCache
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: srid
        type: int32_t
      - name: short_mode
        type: bool
      - name: '*srs'
        type: char
      item_type: struct
      name: SRSDescCacheArgument
      pos:
        line_end: 114
        line_start: 110
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: type
        type: int
      - name: arg[SRSDescCacheSize]
        type: SRSDescCacheArgument
      item_type: struct
      name: SRSDescCache
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: '*srs'
        type: char
      - name: srid
        type: int32_t
      item_type: struct
      name: SRIDCacheArgument
      pos:
        line_end: 129
        line_start: 126
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    - fields:
      - name: type
        type: int
      - name: arg[SRIDCacheSize]
        type: SRIDCacheArgument
      item_type: struct
      name: SRIDCache
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/postgis/libpgcommon/lwgeom_cache.h
    typedefs: []
    union: []
- function_names:
  - PROJSRSDestroyPJ
  - PROJSRSDestroyPortalCache
  - GetPROJSRSCache
  - GetProjectionFromPROJCache
  - SPI_pstrdup
  - GetProjStringsSPI
  - GetProjStrings
  - pjstrs_has_entry
  - pjstrs_pfree
  - pgstrs_get_entry
  - AddToPROJSRSCache
  - DeleteFromPROJSRSCache
  - lwproj_lookup
  - lwproj_is_latlong
  - srid_is_latlong
  - srid_check_latlong
  - srid_axis_precision
  - spheroid_init_from_srid
  source_file: /src/postgis/libpgcommon/lwgeom_transform.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: maxprojlen
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/libpgcommon/lwgeom_transform.c
      type_or_value: '512'
    - item_type: preproc_def
      name: spibufferlen
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/libpgcommon/lwgeom_transform.c
      type_or_value: '512'
    - item_type: preproc_def
      name: PROJ_BACKEND_HASH_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/libpgcommon/lwgeom_transform.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '* authtext'
        type: char
      - name: '* srtext'
        type: char
      - name: '* proj4text'
        type: char
      item_type: struct
      name: PjStrs
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/postgis/libpgcommon/lwgeom_transform.c
    typedefs: []
    union: []
- function_names:
  - PostgisCacheContext
  - GetGenericCacheCollection
  - GetGeomCache
  - ToastCacheGet
  - ToastCacheGetGeometry
  - getSRSbySRID
  - SRSDescCacheGet
  - GetSRSCacheBySRID
  - getSRIDbySRS
  - SRIDCacheGet
  - GetSRIDCacheBySRS
  source_file: /src/postgis/libpgcommon/lwgeom_cache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: int
      - name: data[1]
        type: char
      item_type: struct
      name: GenericCache
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/postgis/libpgcommon/lwgeom_cache.c
    - fields:
      - name: '* entry[NUM_CACHE_ENTRIES]'
        type: GenericCache
      item_type: struct
      name: GenericCacheCollection
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/postgis/libpgcommon/lwgeom_cache.c
    typedefs: []
    union: []
- function_names:
  - PG_GETARG_GSERIALIZED_P
  - PG_GETARG_GSERIALIZED_P_COPY
  - PG_GSERIALIZED_DATUM_NEEDS_DETOAST
  - PG_GETARG_GSERIALIZED_HEADER
  - POSTGIS_DEBUG
  - POSTGIS_DEBUGF
  - POSTGIS_DEBUG
  - POSTGIS_DEBUGF
  - PG_PARSER_ERROR
  - PG_UNPARSER_ERROR
  - LWGEOM_INIT
  - DatumGetBox3DP
  - Box3DPGetDatum
  - PG_GETARG_BOX3D_P
  - PG_RETURN_BOX3D_P
  source_file: /src/postgis/libpgcommon/lwgeom_pg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWGEOM_PG_H
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postgis/libpgcommon/lwgeom_pg.h
      type_or_value: '1'
    structs:
    - fields:
      - name: geometry_oid
        type: Oid
      - name: geography_oid
        type: Oid
      - name: box2df_oid
        type: Oid
      - name: box3d_oid
        type: Oid
      - name: gidx_oid
        type: Oid
      - name: raster_oid
        type: Oid
      - name: install_nsp_oid
        type: Oid
      - name: '*install_nsp'
        type: char
      - name: '*spatial_ref_sys'
        type: char
      item_type: struct
      name: postgisConstants
      pos:
        line_end: 56
        line_start: 45
        source_file: /src/postgis/libpgcommon/lwgeom_pg.h
    typedefs:
    - item_type: typedef
      name: postgisType
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/postgis/libpgcommon/lwgeom_pg.h
    union: []
- function_names:
  - GIDX_NDIMS
  - GIDX_GET_MIN
  - GIDX_GET_MAX
  - GIDX_SET_MIN
  - GIDX_SET_MAX
  - GIDX_SIZE
  source_file: /src/postgis/libpgcommon/gserialized_gist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GIDX_MAX_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/libpgcommon/gserialized_gist.h
      type_or_value: '36'
    - item_type: preproc_def
      name: GIDX_MAX_DIM
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/libpgcommon/gserialized_gist.h
      type_or_value: '4'
    structs:
    - fields:
      - name: varsize
        type: int32
      - name: c[1]
        type: float
      item_type: struct
      name: GIDX
      pos:
        line_end: 15
        line_start: 11
        source_file: /src/postgis/libpgcommon/gserialized_gist.h
    - fields:
      - name: xmin
        type: float
      item_type: struct
      name: BOX2DF
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/postgis/libpgcommon/gserialized_gist.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/wagyu/lwgeom_wagyu.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptarray_to_wglinearring
  - lwpoly_to_vwgpoly
  - lwmpoly_to_vwgpoly
  - lwgeom_to_vwgpoly
  - wglinearring_to_ptarray
  - wgpoly_to_lwgeom
  - wgmpoly_to_lwgeom
  - __lwgeom_wagyu_clip_by_box
  - lwgeom_wagyu_clip_by_box
  - libwagyu_version
  - lwgeom_wagyu_interruptRequest
  - lwgeom_wagyu_interruptReset
  source_file: /src/postgis/deps/wagyu/lwgeom_wagyu.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& operator<<(std::ostream& os, const empty&)'
  - '& operator<<(std::ostream& os, const point<T>& point)'
  - '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
  - '& operator<<(std::ostream& os, const line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
  - '& operator<<(std::ostream& os, const polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_point<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
  - '& operator<<(std::ostream& os, const empty&)'
  - '& operator<<(std::ostream& os, const point<T>& point)'
  - '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
  - '& operator<<(std::ostream& os, const line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
  - '& operator<<(std::ostream& os, const polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_point<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
  - '& operator<<(std::ostream& os, const null_value_t&)'
  - '& operator<<(std::ostream& os, const null_value_t&)'
  - '& operator<<(std::ostream& os, const empty&)'
  - '& operator<<(std::ostream& os, const point<T>& point)'
  - '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
  - '& operator<<(std::ostream& os, const line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
  - '& operator<<(std::ostream& os, const polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_point<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
  - '& operator<<(std::ostream& os, const empty&)'
  - '& operator<<(std::ostream& os, const point<T>& point)'
  - '& operator<<(std::ostream& os, const C<T, Args...>& cont)'
  - '& operator<<(std::ostream& os, const line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const linear_ring<T>& geom)'
  - '& operator<<(std::ostream& os, const polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_point<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_line_string<T>& geom)'
  - '& operator<<(std::ostream& os, const multi_polygon<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry<T>& geom)'
  - '& operator<<(std::ostream& os, const geometry_collection<T>& geom)'
  - '& operator<<(std::ostream& os, const null_value_t&)'
  - '& operator<<(std::ostream& os, const null_value_t&)'
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry_io.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const null_value_t&, const null_value_t&)
  - operator!=(const null_value_t&, const null_value_t&)
  - operator<(const null_value_t&, const null_value_t&)
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - operator==(feature<T> const& lhs, feature<T> const& rhs)
  - operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - mapbox::feature::feature_collection
  - mapbox::feature::feature_collection
  - operator==(const null_value_t&, const null_value_t&)
  - operator!=(const null_value_t&, const null_value_t&)
  - operator<(const null_value_t&, const null_value_t&)
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - operator==(feature<T> const& lhs, feature<T> const& rhs)
  - operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - mapbox::feature::feature_collection
  - mapbox::feature::feature_collection
  - operator==(const null_value_t&, const null_value_t&)
  - operator!=(const null_value_t&, const null_value_t&)
  - operator<(const null_value_t&, const null_value_t&)
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - operator==(feature<T> const& lhs, feature<T> const& rhs)
  - operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - mapbox::feature::feature_collection
  - mapbox::feature::feature_collection
  - operator==(const null_value_t&, const null_value_t&)
  - operator!=(const null_value_t&, const null_value_t&)
  - operator<(const null_value_t&, const null_value_t&)
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - mapbox::feature::feature
  - operator==(feature<T> const& lhs, feature<T> const& rhs)
  - operator!=(feature<T> const& lhs, feature<T> const& rhs)
  - mapbox::feature::feature_collection
  - mapbox::feature::feature_collection
  source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: null_value_t
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: value
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields:
      - name: geometry
        type: geometry_type
      - name: properties
        type: property_map
      - name: id
        type: identifier
      item_type: struct
      name: feature
      pos:
        line_end: 81
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: feature_collection
      pos:
        line_end: 109
        line_start: 96
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: null_value_t
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: value
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields:
      - name: geometry
        type: geometry_type
      - name: properties
        type: property_map
      - name: id
        type: identifier
      item_type: struct
      name: feature
      pos:
        line_end: 81
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: feature_collection
      pos:
        line_end: 109
        line_start: 96
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: null_value_t
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: value
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields:
      - name: geometry
        type: geometry_type
      - name: properties
        type: property_map
      - name: id
        type: identifier
      item_type: struct
      name: feature
      pos:
        line_end: 81
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: feature_collection
      pos:
        line_end: 109
        line_start: 96
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: null_value_t
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: value
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields:
      - name: geometry
        type: geometry_type
      - name: properties
        type: property_map
      - name: id
        type: identifier
      item_type: struct
      name: feature
      pos:
        line_end: 81
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    - fields: []
      item_type: struct
      name: feature_collection
      pos:
        line_end: 109
        line_start: 96
        source_file: /src/postgis/deps/wagyu/include/mapbox/feature.hpp
    typedefs: []
    union: []
- function_names:
  - operator+(point<T> const& lhs, point<T> const& rhs)
  - operator+(point<T> const& lhs, T const& rhs)
  - operator-(point<T> const& lhs, point<T> const& rhs)
  - operator-(point<T> const& lhs, T const& rhs)
  - operator*(point<T> const& lhs, point<T> const& rhs)
  - operator*(point<T> const& lhs, T const& rhs)
  - operator/(point<T> const& lhs, point<T> const& rhs)
  - operator/(point<T> const& lhs, T const& rhs)
  - '& operator+=(point<T>& lhs, point<T> const& rhs)'
  - '& operator+=(point<T>& lhs, T const& rhs)'
  - '& operator-=(point<T>& lhs, point<T> const& rhs)'
  - '& operator-=(point<T>& lhs, T const& rhs)'
  - '& operator*=(point<T>& lhs, point<T> const& rhs)'
  - '& operator*=(point<T>& lhs, T const& rhs)'
  - '& operator/=(point<T>& lhs, point<T> const& rhs)'
  - '& operator/=(point<T>& lhs, T const& rhs)'
  - operator+(point<T> const& lhs, point<T> const& rhs)
  - operator+(point<T> const& lhs, T const& rhs)
  - operator-(point<T> const& lhs, point<T> const& rhs)
  - operator-(point<T> const& lhs, T const& rhs)
  - operator*(point<T> const& lhs, point<T> const& rhs)
  - operator*(point<T> const& lhs, T const& rhs)
  - operator/(point<T> const& lhs, point<T> const& rhs)
  - operator/(point<T> const& lhs, T const& rhs)
  - '& operator+=(point<T>& lhs, point<T> const& rhs)'
  - '& operator+=(point<T>& lhs, T const& rhs)'
  - '& operator-=(point<T>& lhs, point<T> const& rhs)'
  - '& operator-=(point<T>& lhs, T const& rhs)'
  - '& operator*=(point<T>& lhs, point<T> const& rhs)'
  - '& operator*=(point<T>& lhs, T const& rhs)'
  - '& operator/=(point<T>& lhs, point<T> const& rhs)'
  - '& operator/=(point<T>& lhs, T const& rhs)'
  - operator+(point<T> const& lhs, point<T> const& rhs)
  - operator+(point<T> const& lhs, T const& rhs)
  - operator-(point<T> const& lhs, point<T> const& rhs)
  - operator-(point<T> const& lhs, T const& rhs)
  - operator*(point<T> const& lhs, point<T> const& rhs)
  - operator*(point<T> const& lhs, T const& rhs)
  - operator/(point<T> const& lhs, point<T> const& rhs)
  - operator/(point<T> const& lhs, T const& rhs)
  - '& operator+=(point<T>& lhs, point<T> const& rhs)'
  - '& operator+=(point<T>& lhs, T const& rhs)'
  - '& operator-=(point<T>& lhs, point<T> const& rhs)'
  - '& operator-=(point<T>& lhs, T const& rhs)'
  - '& operator*=(point<T>& lhs, point<T> const& rhs)'
  - '& operator*=(point<T>& lhs, T const& rhs)'
  - '& operator/=(point<T>& lhs, point<T> const& rhs)'
  - '& operator/=(point<T>& lhs, T const& rhs)'
  - operator+(point<T> const& lhs, point<T> const& rhs)
  - operator+(point<T> const& lhs, T const& rhs)
  - operator-(point<T> const& lhs, point<T> const& rhs)
  - operator-(point<T> const& lhs, T const& rhs)
  - operator*(point<T> const& lhs, point<T> const& rhs)
  - operator*(point<T> const& lhs, T const& rhs)
  - operator/(point<T> const& lhs, point<T> const& rhs)
  - operator/(point<T> const& lhs, T const& rhs)
  - '& operator+=(point<T>& lhs, point<T> const& rhs)'
  - '& operator+=(point<T>& lhs, T const& rhs)'
  - '& operator-=(point<T>& lhs, point<T> const& rhs)'
  - '& operator-=(point<T>& lhs, T const& rhs)'
  - '& operator*=(point<T>& lhs, point<T> const& rhs)'
  - '& operator*=(point<T>& lhs, T const& rhs)'
  - '& operator/=(point<T>& lhs, point<T> const& rhs)'
  - '& operator/=(point<T>& lhs, T const& rhs)'
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point_arithmetic.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::envelope
  - mapbox::geometry::envelope
  - mapbox::geometry::envelope
  - mapbox::geometry::envelope
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/envelope.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  - mapbox::geometry::line_string
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    - fields: []
      item_type: struct
      name: line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    - fields: []
      item_type: struct
      name: line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    - fields: []
      item_type: struct
      name: line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/line_string.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::linear_ring
  - mapbox::geometry::linear_ring
  - mapbox::geometry::polygon
  - mapbox::geometry::polygon
  - mapbox::geometry::linear_ring
  - mapbox::geometry::linear_ring
  - mapbox::geometry::polygon
  - mapbox::geometry::polygon
  - mapbox::geometry::linear_ring
  - mapbox::geometry::linear_ring
  - mapbox::geometry::polygon
  - mapbox::geometry::polygon
  - mapbox::geometry::linear_ring
  - mapbox::geometry::linear_ring
  - mapbox::geometry::polygon
  - mapbox::geometry::polygon
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: linear_ring
      pos:
        line_end: 25
        line_start: 12
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: polygon
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: linear_ring
      pos:
        line_end: 25
        line_start: 12
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: polygon
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: linear_ring
      pos:
        line_end: 25
        line_start: 12
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: polygon
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: linear_ring
      pos:
        line_end: 25
        line_start: 12
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    - fields: []
      item_type: struct
      name: polygon
      pos:
        line_end: 41
        line_start: 28
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/polygon.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  - mapbox::geometry::multi_point
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: multi_point
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    - fields: []
      item_type: struct
      name: multi_point
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    - fields: []
      item_type: struct
      name: multi_point
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    - fields: []
      item_type: struct
      name: multi_point
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_point.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::point
  - mapbox::geometry::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - mapbox::geometry::point
  - mapbox::geometry::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - mapbox::geometry::point
  - mapbox::geometry::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - mapbox::geometry::point
  - mapbox::geometry::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: x
        type: T
      - name: y
        type: T
      item_type: struct
      name: point
      pos:
        line_end: 21
        line_start: 6
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    - fields:
      - name: x
        type: T
      - name: y
        type: T
      item_type: struct
      name: point
      pos:
        line_end: 21
        line_start: 6
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    - fields:
      - name: x
        type: T
      - name: y
        type: T
      item_type: struct
      name: point
      pos:
        line_end: 21
        line_start: 6
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    - fields:
      - name: x
        type: T
      - name: y
        type: T
      item_type: struct
      name: point
      pos:
        line_end: 21
        line_start: 6
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/point.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  - mapbox::geometry::geometry_collection
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: geometry
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry_collection
      pos:
        line_end: 52
        line_start: 39
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry_collection
      pos:
        line_end: 52
        line_start: 39
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry_collection
      pos:
        line_end: 52
        line_start: 39
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    - fields: []
      item_type: struct
      name: geometry_collection
      pos:
        line_end: 52
        line_start: 39
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/geometry.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  - mapbox::geometry::for_each_point
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/for_each_point.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  - mapbox::geometry::multi_polygon
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: multi_polygon
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    - fields: []
      item_type: struct
      name: multi_polygon
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    - fields: []
      item_type: struct
      name: multi_polygon
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    - fields: []
      item_type: struct
      name: multi_polygon
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_polygon.hpp
    typedefs: []
    union: []
- function_names:
  - operator==(empty, empty)
  - operator!=(empty, empty)
  - operator<(empty, empty)
  - operator>(empty, empty)
  - operator<=(empty, empty)
  - operator>=(empty, empty)
  - operator==(empty, empty)
  - operator!=(empty, empty)
  - operator<(empty, empty)
  - operator>(empty, empty)
  - operator<=(empty, empty)
  - operator>=(empty, empty)
  - operator==(empty, empty)
  - operator!=(empty, empty)
  - operator<(empty, empty)
  - operator>(empty, empty)
  - operator<=(empty, empty)
  - operator>=(empty, empty)
  - operator==(empty, empty)
  - operator!=(empty, empty)
  - operator<(empty, empty)
  - operator>(empty, empty)
  - operator<=(empty, empty)
  - operator>=(empty, empty)
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: empty
      pos:
        line_end: 7
        line_start: 5
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    - fields: []
      item_type: struct
      name: empty
      pos:
        line_end: 7
        line_start: 5
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    - fields: []
      item_type: struct
      name: empty
      pos:
        line_end: 7
        line_start: 5
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    - fields: []
      item_type: struct
      name: empty
      pos:
        line_end: 7
        line_start: 5
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/empty.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::box
  - operator==(box<T> const& lhs, box<T> const& rhs)
  - operator!=(box<T> const& lhs, box<T> const& rhs)
  - mapbox::geometry::box
  - operator==(box<T> const& lhs, box<T> const& rhs)
  - operator!=(box<T> const& lhs, box<T> const& rhs)
  - mapbox::geometry::box
  - operator==(box<T> const& lhs, box<T> const& rhs)
  - operator!=(box<T> const& lhs, box<T> const& rhs)
  - mapbox::geometry::box
  - operator==(box<T> const& lhs, box<T> const& rhs)
  - operator!=(box<T> const& lhs, box<T> const& rhs)
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: min
        type: point_type
      - name: max
        type: point_type
      item_type: struct
      name: box
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    - fields:
      - name: min
        type: point_type
      - name: max
        type: point_type
      item_type: struct
      name: box
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    - fields:
      - name: min
        type: point_type
      - name: max
        type: point_type
      item_type: struct
      name: box
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    - fields:
      - name: min
        type: point_type
      - name: max
        type: point_type
      item_type: struct
      name: box
      pos:
        line_end: 20
        line_start: 8
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/box.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  - mapbox::geometry::multi_line_string
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: multi_line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    - fields: []
      item_type: struct
      name: multi_line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    - fields: []
      item_type: struct
      name: multi_line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    - fields: []
      item_type: struct
      name: multi_line_string
      pos:
        line_end: 24
        line_start: 11
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/multi_line_string.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  - mapbox::geometry::wagyu::point_2_is_between_point_1_and_point_3
  - mapbox::geometry::wagyu::build_edge_list
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_edges.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  - mapbox::geometry::wagyu::wagyu::wagyu
  - '& operator=(wagyu const&)'
  - mapbox::geometry::wagyu::wagyu::wagyu
  - ~wagyu()
  - mapbox::geometry::wagyu::wagyu::add_ring
  - mapbox::geometry::wagyu::wagyu::add_polygon
  - mapbox::geometry::wagyu::wagyu::reverse_rings
  - mapbox::geometry::wagyu::wagyu::clear
  - mapbox::geometry::wagyu::wagyu::get_bounds
  - mapbox::geometry::wagyu::wagyu::execute
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WAGYU_MAJOR_VERSION
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: WAGYU_MINOR_VERSION
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
      type_or_value: '5'
    - item_type: preproc_def
      name: WAGYU_PATCH_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: WAGYU_VERSION
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/wagyu.hpp
      type_or_value: (WAGYU_MAJOR_VERSION * 100000) + (WAGYU_MINOR_VERSION * 100)
        + (WAGYU_PATCH_VERSION)
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  - mapbox::geometry::wagyu::execute_vatti
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/vatti.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    active_bound_list<T>& bnds)"
  - mapbox::geometry::wagyu::output_edges
  - mapbox::geometry::wagyu::is_even_odd_fill_type
  - mapbox::geometry::wagyu::is_even_odd_alt_fill_type
  - mapbox::geometry::wagyu::bound_insert_location
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::insert_bound_into_ABL
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_maxima
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::is_intermediate
  - mapbox::geometry::wagyu::current_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_is_horizontal
  - mapbox::geometry::wagyu::next_edge_in_bound
  - mapbox::geometry::wagyu::get_maxima_pair
  - mapbox::geometry::wagyu::set_winding_count
  - mapbox::geometry::wagyu::is_contributing
  - mapbox::geometry::wagyu::insert_lm_left_and_right_bound
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL
  - mapbox::geometry::wagyu::insert_horizontal_local_minima_into_ABL
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    - fields:
      - name: '& bound2'
        type: bound<T>
      item_type: struct
      name: bound_insert_location
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/active_bound_list.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  - mapbox::geometry::wagyu::intersect_node
  - '& operator=(intersect_node<T>&& n) noexcept'
  - mapbox::geometry::wagyu::intersect_node
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_node<T>& e)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    intersect_list<T>& ints)"
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    - fields:
      - name: bound1
        type: bound_ptr<T>
      - name: bound2
        type: bound_ptr<T>
      - name: pt
        type: mapbox::geometry::point<double>
      item_type: struct
      name: intersect_node
      pos:
        line_end: 37
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  - mapbox::geometry::wagyu::edge
  - '& operator=(edge<T>&& e) noexcept'
  - mapbox::geometry::wagyu::edge
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::is_horizontal
  - mapbox::geometry::wagyu::get_current_x
  - '& operator<<(std::basic_ostream<charT, traits>& out, const edge<T>& e)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     edge_list<T>
    const& edges)"
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    - fields:
      - name: bot
        type: mapbox::geometry::point<T>
      - name: top
        type: mapbox::geometry::point<T>
      - name: dx
        type: double
      item_type: struct
      name: edge
      pos:
        line_end: 57
        line_start: 25
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/edge.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  - mapbox::geometry::wagyu::set_hole_state
  - mapbox::geometry::wagyu::update_current_hp_itr
  - operator()(mapbox::geometry::point<T> const& pt1, mapbox::geometry::point<T> const&
    pt2)
  - mapbox::geometry::wagyu::round_towards_min
  - mapbox::geometry::wagyu::round_towards_max
  - mapbox::geometry::wagyu::get_edge_min_x
  - mapbox::geometry::wagyu::get_edge_max_x
  - mapbox::geometry::wagyu::hot_pixel_set_left_to_right
  - mapbox::geometry::wagyu::hot_pixel_set_right_to_left
  - mapbox::geometry::wagyu::sort_hot_pixels
  - mapbox::geometry::wagyu::insert_hot_pixels_in_path
  - mapbox::geometry::wagyu::add_to_hot_pixels
  - mapbox::geometry::wagyu::add_first_point
  - mapbox::geometry::wagyu::add_point_to_ring
  - mapbox::geometry::wagyu::add_point
  - mapbox::geometry::wagyu::add_local_minimum_point
  - mapbox::geometry::wagyu::get_dx
  - mapbox::geometry::wagyu::first_is_bottom_point
  - mapbox::geometry::wagyu::get_bottom_point
  - mapbox::geometry::wagyu::get_lower_most_ring
  - mapbox::geometry::wagyu::ring1_child_below_ring2
  - mapbox::geometry::wagyu::update_points_ring
  - mapbox::geometry::wagyu::append_ring
  - mapbox::geometry::wagyu::add_local_maximum_point
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::point_in_polygon
  - mapbox::geometry::wagyu::is_convex
  - mapbox::geometry::wagyu::centroid_of_points
  - mapbox::geometry::wagyu::inside_or_outside_special
  - mapbox::geometry::wagyu::box2_contains_box1
  - mapbox::geometry::wagyu::poly2_contains_poly1
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
  types:
    enum:
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - enumerators:
      - name: point_on_polygon
        value: '-1'
      - name: point_outside_polygon
        value: '1'
      - name: point_inside_polygon
        value: '0'
      item_type: enum
      name: point_in_polygon_result
      pos:
        line_end: 630
        line_start: 626
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    - fields: []
      item_type: struct
      name: hot_pixel_sorter
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring_util.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - mapbox::geometry::wagyu::point
  - operator==(point<T> const& lhs, point<T> const& rhs)
  - operator==(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator==(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - operator!=(point<T> const& lhs, point<T> const& rhs)
  - operator!=(mapbox::geometry::point<T> const& lhs, point<T> const& rhs)
  - operator!=(point<T> const& lhs, mapbox::geometry::point<T> const& rhs)
  - '& operator<<(std::basic_ostream<charT, traits>& out, const point<T>& p)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    mapbox::geometry::point<T>& p)"
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    - fields:
      - name: ring
        type: ring_ptr<T>
      - name: x
        type: T
      - name: y
        type: T
      - name: next
        type: point_ptr<T>
      - name: prev
        type: point_ptr<T>
      item_type: struct
      name: point
      pos:
        line_end: 54
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/point.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  - mapbox::geometry::wagyu::push_ring_to_polygon
  - mapbox::geometry::wagyu::build_result_polygons
  - mapbox::geometry::wagyu::build_result
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_result.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_reset
  - mapbox::geometry::wagyu::interrupt_request
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  - mapbox::geometry::wagyu::interrupt_check
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/interrupt.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPoint
  - mapbox::geometry::wagyu::util::FloatingPoint::ReinterpretBits
  - mapbox::geometry::wagyu::util::FloatingPoint::Infinity
  - '& bits() const'
  - mapbox::geometry::wagyu::util::FloatingPoint::exponent_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::fraction_bits
  - mapbox::geometry::wagyu::util::FloatingPoint::sign_bit
  - mapbox::geometry::wagyu::util::FloatingPoint::is_nan
  - mapbox::geometry::wagyu::util::FloatingPoint::AlmostEquals
  - mapbox::geometry::wagyu::util::FloatingPoint::FloatingPointUnion
  - mapbox::geometry::wagyu::util::FloatingPoint::SignAndMagnitudeToBiased
  - mapbox::geometry::wagyu::util::FloatingPoint::DistanceBetweenSignAndMagnitudeNumbers
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: void
    - item_type: typedef
      name: Int
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: int
    - item_type: typedef
      name: UInt
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned int
    - item_type: typedef
      name: Int
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - item_type: typedef
      name: UInt
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned __int64
    - item_type: typedef
      name: Int
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: long long
    - item_type: typedef
      name: UInt
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
      type: unsigned long long
    - item_type: typedef
      name: Bits
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    union:
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
    - fields:
      - name: value_
        type: RawType
      - name: bits_
        type: Bits
      item_type: union
      name: FloatingPointUnion
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/almost_equal.hpp
- function_names:
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  - mapbox::geometry::wagyu::reverse_horizontal
  - mapbox::geometry::wagyu::start_list_on_local_maximum
  - mapbox::geometry::wagyu::create_bound_towards_minimum
  - mapbox::geometry::wagyu::create_bound_towards_maximum
  - mapbox::geometry::wagyu::fix_horizontals
  - mapbox::geometry::wagyu::move_horizontals_on_left_to_right
  - mapbox::geometry::wagyu::add_ring_to_local_minima_list
  - mapbox::geometry::wagyu::initialize_lm
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum_util.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::quick_clip::intersect
  - mapbox::geometry::wagyu::quick_clip::inside
  - mapbox::geometry::wagyu::quick_clip::quick_lr_clip
  - mapbox::geometry::wagyu::clip
  - mapbox::geometry::wagyu::clip
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/quick_clip.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  - mapbox::geometry::wagyu::process_horizontal_left_to_right
  - mapbox::geometry::wagyu::process_horizontal_right_to_left
  - mapbox::geometry::wagyu::process_horizontal
  - mapbox::geometry::wagyu::process_horizontals
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_horizontal.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  - operator()(intersect_node<T> const& node1, intersect_node<T> const& node2)
  - mapbox::geometry::wagyu::round_point
  - mapbox::geometry::wagyu::swap_rings
  - mapbox::geometry::wagyu::swap_sides
  - mapbox::geometry::wagyu::get_edge_intersection
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::on_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::build_intersect_list
  - mapbox::geometry::wagyu::intersect_bounds
  - mapbox::geometry::wagyu::bounds_adjacent
  - mapbox::geometry::wagyu::find_first_bound
  - operator()(bound_ptr<T> const& b)
  - mapbox::geometry::wagyu::process_intersect_list
  - mapbox::geometry::wagyu::update_current_x
  - mapbox::geometry::wagyu::process_intersections
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersect_list_sorter
      pos:
        line_end: 26
        line_start: 17
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields: []
      item_type: struct
      name: intersection_compare
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: '& intersects'
        type: intersect_list<T>
      item_type: struct
      name: on_intersection_swap
      pos:
        line_end: 100
        line_start: 84
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    - fields:
      - name: b1
        type: bound_ptr<T>
      - name: b2
        type: bound_ptr<T>
      item_type: struct
      name: find_first_bound
      pos:
        line_end: 290
        line_start: 280
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/intersect_util.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  - mapbox::geometry::wagyu::bubble_sort
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bubble_sort.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::values_are_equal
  - mapbox::geometry::wagyu::value_is_zero
  - mapbox::geometry::wagyu::greater_than_or_equal
  - mapbox::geometry::wagyu::greater_than
  - mapbox::geometry::wagyu::less_than
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::slopes_equal
  - mapbox::geometry::wagyu::wround
  - mapbox::geometry::wagyu::wround
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/util.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  - mapbox::geometry::wagyu::insert_sorted_scanbeam
  - mapbox::geometry::wagyu::pop_from_scanbeam
  - mapbox::geometry::wagyu::setup_scanbeam
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/scanbeam.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  - mapbox::geometry::wagyu::add_linear_ring
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/build_local_minima_list.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  - mapbox::geometry::wagyu::hp_intersection_swap
  - operator()(bound_ptr<T> const& b1, bound_ptr<T> const& b2)
  - mapbox::geometry::wagyu::process_hot_pixel_intersections
  - mapbox::geometry::wagyu::horizontals_at_top_scanbeam
  - mapbox::geometry::wagyu::process_hot_pixel_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::insert_local_minima_into_ABL_hot_pixel
  - mapbox::geometry::wagyu::build_hot_pixels
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    - fields:
      - name: '& manager'
        type: ring_manager<T>
      item_type: struct
      name: hp_intersection_swap
      pos:
        line_end: 34
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/snap_rounding.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  - mapbox::geometry::wagyu::do_maxima
  - mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/process_maxima.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
  types:
    enum:
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: clip_type_intersection
        value: '0'
      - name: clip_type_x_or
      - name: clip_type_union
      - name: clip_type_difference
      item_type: enum
      name: clip_type
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: polygon_type_subject
        value: '0'
      - name: polygon_type_clip
      item_type: enum
      name: polygon_type
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: fill_type_even_odd
        value: '0'
      - name: fill_type_positive
      - name: fill_type_non_zero
      - name: fill_type_negative
      item_type: enum
      name: fill_type
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: right_to_left
        value: '0'
      - name: left_to_right
        value: '1'
      item_type: enum
      name: horizontal_direction
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: edge_left
        value: '0'
      - name: edge_right
      item_type: enum
      name: edge_side
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: join_type_square
        value: '0'
      - name: join_type_miter
      - name: join_type_round
      item_type: enum
      name: join_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    - enumerators:
      - name: end_type_closed_polygon
        value: '0'
      - name: end_type_closed_line
      - name: end_type_open_butt
      - name: end_type_open_square
      - name: end_type_open_round
      item_type: enum
      name: end_type
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/config.hpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  - mapbox::geometry::wagyu::local_minimum
  - operator()(local_minimum_ptr<T> const& locMin1, local_minimum_ptr<T> const& locMin2)
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum<T>& lm)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     const
    local_minimum_ptr_list<T>& lms)"
  - mapbox::geometry::wagyu::output_all_edges
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields:
      - name: left_bound
        type: bound<T>
      - name: right_bound
        type: bound<T>
      - name: y
        type: T
      - name: minimum_has_horizontal
        type: bool
      item_type: struct
      name: local_minimum
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    - fields: []
      item_type: struct
      name: local_minimum_sorter
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/local_minimum.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - mapbox::geometry::wagyu::bound
  - '& operator=(bound<T> const&)'
  - '& operator<<(std::basic_ostream<charT, traits>& out, const bound<T>& bnd)'
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    - fields:
      - name: edges
        type: edge_list<T>
      - name: current_edge
        type: edge_list_itr<T>
      - name: next_edge
        type: edge_list_itr<T>
      - name: last_point
        type: mapbox::geometry::point<T>
      - name: ring
        type: ring_ptr<T>
      - name: maximum_bound
        type: bound_ptr<T>
      - name: current_x
        type: double
      - name: pos
        type: std::size_t
      - name: winding_count
        type: std::int32_t
      - name: winding_count2
        type: std::int32_t
      - name: winding_delta
        type: std::int8_t
      - name: poly_type
        type: polygon_type
      - name: side
        type: edge_side
      item_type: struct
      name: bound
      pos:
        line_end: 69
        line_start: 19
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/bound.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  - mapbox::geometry::wagyu::area_from_point
  - mapbox::geometry::wagyu::ring
  - '& operator=(ring const&)'
  - mapbox::geometry::wagyu::ring
  - mapbox::geometry::wagyu::reset_stats
  - mapbox::geometry::wagyu::recalculate_stats
  - mapbox::geometry::wagyu::set_stats
  - mapbox::geometry::wagyu::area
  - mapbox::geometry::wagyu::is_hole
  - mapbox::geometry::wagyu::size
  - mapbox::geometry::wagyu::ring_manager
  - '& operator=(ring_manager const&)'
  - mapbox::geometry::wagyu::ring_manager
  - mapbox::geometry::wagyu::preallocate_point_memory
  - mapbox::geometry::wagyu::create_new_ring
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::create_new_point
  - mapbox::geometry::wagyu::set_to_children
  - mapbox::geometry::wagyu::remove_from_children
  - mapbox::geometry::wagyu::assign_as_child
  - mapbox::geometry::wagyu::reassign_as_child
  - mapbox::geometry::wagyu::assign_as_sibling
  - mapbox::geometry::wagyu::reassign_as_sibling
  - mapbox::geometry::wagyu::ring1_replaces_ring2
  - mapbox::geometry::wagyu::remove_points
  - mapbox::geometry::wagyu::remove_ring_and_points
  - mapbox::geometry::wagyu::remove_ring
  - mapbox::geometry::wagyu::ring_depth
  - mapbox::geometry::wagyu::ring_is_hole
  - mapbox::geometry::wagyu::set_next
  - mapbox::geometry::wagyu::get_next
  - mapbox::geometry::wagyu::get_prev
  - mapbox::geometry::wagyu::set_prev
  - mapbox::geometry::wagyu::init
  - mapbox::geometry::wagyu::link_before
  - mapbox::geometry::wagyu::link_after
  - mapbox::geometry::wagyu::transfer_point
  - mapbox::geometry::wagyu::reverse_ring
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring<T>& r)'
  - mapbox::geometry::wagyu::debug_ring_addresses
  - mapbox::geometry::wagyu::output_as_polygon
  - '& operator<<(std::basic_ostream<charT, traits>& out, ring_vector<T>& rings)'
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     std::deque<ring<T>>&
    rings)"
  - "& operator<<(std::basic_ostream<charT, traits>& out,\n                                                     hot_pixel_vector<T>&
    hp_vec)"
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: ring_index
        type: std::size_t
      - name: size_
        type: std::size_t
      - name: area_
        type: double
      - name: bbox
        type: mapbox::geometry::box<T>
      - name: parent
        type: ring_ptr<T>
      - name: children
        type: ring_vector<T>
      - name: points
        type: point_ptr<T>
      - name: bottom_point
        type: point_ptr<T>
      - name: is_hole_
        type: bool
      - name: corrected
        type: bool
      item_type: struct
      name: ring
      pos:
        line_end: 144
        line_start: 69
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    - fields:
      - name: children
        type: ring_vector<T>
      - name: all_points
        type: point_vector<T>
      - name: hot_pixels
        type: hot_pixel_vector<T>
      - name: current_hp_itr
        type: hot_pixel_itr<T>
      - name: points
        type: std::deque<point<T>>
      - name: rings
        type: std::deque<ring<T>>
      - name: storage
        type: std::vector<point<T>>
      - name: index
        type: std::size_t
      item_type: struct
      name: ring_manager
      pos:
        line_end: 180
        line_start: 156
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/ring.hpp
    typedefs: []
    union: []
- function_names:
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - mapbox::geometry::wagyu::point_ptr_pair
  - '& operator=(point_ptr_pair<T>&& p)'
  - "&\noperator<<(std::basic_ostream<charT, traits>& out,\n           const std::unordered_multimap<ring_ptr<T>,
    point_ptr_pair<T>>& dupe_ring)"
  - mapbox::geometry::wagyu::find_intersect_loop
  - operator()(point_ptr<T> op1, point_ptr<T> op2)
  - mapbox::geometry::wagyu::correct_orientations
  - mapbox::geometry::wagyu::sort_ring_points
  - mapbox::geometry::wagyu::correct_self_intersection
  - mapbox::geometry::wagyu::correct_repeated_points
  - mapbox::geometry::wagyu::find_and_correct_repeated_points
  - mapbox::geometry::wagyu::reassign_children_if_necessary
  - mapbox::geometry::wagyu::find_parent_in_tree
  - mapbox::geometry::wagyu::assign_new_ring_parents
  - mapbox::geometry::wagyu::correct_ring_self_intersections
  - mapbox::geometry::wagyu::process_single_intersection
  - mapbox::geometry::wagyu::correct_chained_repeats
  - mapbox::geometry::wagyu::correct_chained_rings
  - mapbox::geometry::wagyu::sort_rings_largest_to_smallest
  - mapbox::geometry::wagyu::sort_rings_smallest_to_largest
  - mapbox::geometry::wagyu::fix_collinear_path
  - mapbox::geometry::wagyu::find_start_and_end_of_collinear_edges
  - mapbox::geometry::wagyu::has_collinear_edge
  - mapbox::geometry::wagyu::process_collinear_edges_same_ring
  - mapbox::geometry::wagyu::process_collinear_edges_different_rings
  - mapbox::geometry::wagyu::remove_duplicate_points
  - mapbox::geometry::wagyu::process_collinear_edges
  - mapbox::geometry::wagyu::correct_collinear_repeats
  - mapbox::geometry::wagyu::correct_collinear_edges
  - mapbox::geometry::wagyu::correct_tree
  - mapbox::geometry::wagyu::correct_self_intersections
  - mapbox::geometry::wagyu::correct_topology
  source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: op1
        type: point_ptr<T>
      - name: op2
        type: point_ptr<T>
      item_type: struct
      name: point_ptr_pair
      pos:
        line_end: 43
        line_start: 26
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields: []
      item_type: struct
      name: point_ptr_cmp
      pos:
        line_end: 159
        line_start: 147
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: start_1
        type: point_ptr<T>
      - name: end_1
        type: point_ptr<T>
      - name: start_2
        type: point_ptr<T>
      - name: end_2
        type: point_ptr<T>
      item_type: struct
      name: collinear_path
      pos:
        line_end: 839
        line_start: 830
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    - fields:
      - name: pt1
        type: point_ptr<T>
      - name: pt2
        type: point_ptr<T>
      item_type: struct
      name: collinear_result
      pos:
        line_end: 845
        line_start: 842
        source_file: /src/postgis/deps/wagyu/include/mapbox/geometry/wagyu/topology_correction.hpp
    typedefs: []
    union: []
- function_names:
  - DECLTYPE
  - DECLTYPE
  - DECLTYPE_ASSIGN
  - DECLTYPE_ASSIGN
  - uthash_malloc
  - uthash_free
  - uthash_bzero
  - uthash_strlen
  - uthash_memcmp
  - HASH_KEYCMP
  - uthash_nonfatal_oom
  - HASH_RECORD_OOM
  - IF_HASH_NONFATAL_OOM
  - uthash_fatal
  - HASH_RECORD_OOM
  - ELMT_FROM_HH
  - HH_FROM_ELMT
  - HASH_ROLLBACK_BKT
  - HASH_VALUE
  - HASH_FIND_BYHASHVALUE
  - HASH_FIND
  - HASH_BLOOM_MAKE
  - HASH_BLOOM_FREE
  - HASH_BLOOM_BITSET
  - HASH_BLOOM_BITTEST
  - HASH_BLOOM_ADD
  - HASH_BLOOM_TEST
  - HASH_BLOOM_TEST
  - HASH_MAKE_TABLE
  - HASH_REPLACE_BYHASHVALUE_INORDER
  - HASH_REPLACE_BYHASHVALUE
  - HASH_REPLACE
  - HASH_REPLACE_INORDER
  - HASH_APPEND_LIST
  - HASH_AKBI_INNER_LOOP
  - HASH_AKBI_INNER_LOOP
  - HASH_ADD_TO_TABLE
  - HASH_ADD_TO_TABLE
  - HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
  - HASH_ADD_KEYPTR_INORDER
  - HASH_ADD_BYHASHVALUE_INORDER
  - HASH_ADD_INORDER
  - HASH_ADD_KEYPTR_BYHASHVALUE
  - HASH_ADD_KEYPTR
  - HASH_ADD_BYHASHVALUE
  - HASH_ADD
  - HASH_TO_BKT
  - HASH_DELETE
  - HASH_DELETE_HH
  - HASH_FIND_STR
  - HASH_ADD_STR
  - HASH_REPLACE_STR
  - HASH_FIND_INT
  - HASH_ADD_INT
  - HASH_REPLACE_INT
  - HASH_FIND_PTR
  - HASH_ADD_PTR
  - HASH_REPLACE_PTR
  - HASH_DEL
  - HASH_OOPS
  - HASH_FSCK
  - HASH_EMIT_KEY
  - HASH_BER
  - HASH_SAX
  - HASH_FNV
  - HASH_OAT
  - HASH_JEN_MIX
  - HASH_JEN
  - get16bits
  - get16bits
  - HASH_SFH
  - MUR_GETBLOCK
  - MUR_PLUS0_ALIGNED
  - MUR_PLUS1_ALIGNED
  - MUR_PLUS2_ALIGNED
  - MUR_PLUS3_ALIGNED
  - WP
  - MUR_THREE_ONE
  - MUR_TWO_TWO
  - MUR_ONE_THREE
  - MUR_THREE_ONE
  - MUR_TWO_TWO
  - MUR_ONE_THREE
  - MUR_GETBLOCK
  - MUR_ROTL32
  - MUR_FMIX
  - HASH_MUR
  - HASH_FIND_IN_BKT
  - HASH_ADD_TO_BKT
  - HASH_DEL_IN_BKT
  - HASH_EXPAND_BUCKETS
  - HASH_SORT
  - HASH_SRT
  - HASH_SELECT
  - HASH_CLEAR
  - HASH_OVERHEAD
  - HASH_ITER
  - HASH_ITER
  - HASH_COUNT
  - HASH_CNT
  source_file: /src/postgis/deps/uthash/include/uthash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTHASH_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: 2.1.0
    - item_type: preproc_def
      name: HASH_NONFATAL_OOM
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: '32U     '
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS_LOG2
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: '5U '
    - item_type: preproc_def
      name: HASH_BKT_CAPACITY_THRESH
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: '10U     '
    - item_type: preproc_def
      name: HASH_BLOOM_BITLEN
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: (1UL << HASH_BLOOM)
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: '(HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ?
        1UL : 0UL)'
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: 0U
    - item_type: preproc_def
      name: HASH_FCN
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: UTHASH_FUNCTION
    - item_type: preproc_def
      name: HASH_FCN
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: HASH_JEN
    - item_type: preproc_def
      name: HASH_SIGNATURE
      pos:
        line_end: 1180
        line_start: 1179
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: 0xa0111fe1u
    - item_type: preproc_def
      name: HASH_BLOOM_SIGNATURE
      pos:
        line_end: 1181
        line_start: 1180
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type_or_value: 0xb12220f2u
    structs:
    - fields:
      - name: '*hh_head'
        type: struct UT_hash_handle
      - name: count
        type: unsigned
      - name: expand_mult
        type: unsigned
      item_type: struct
      name: UT_hash_bucket
      pos:
        line_end: 1176
        line_start: 1158
        source_file: /src/postgis/deps/uthash/include/uthash.h
    - fields:
      - name: '*buckets'
        type: UT_hash_bucket
      - name: num_buckets
        type: unsigned
      - name: num_items
        type: unsigned
      - name: '*tail'
        type: struct UT_hash_handle
      - name: hho
        type: ptrdiff_t
      - name: ideal_chain_maxlen
        type: unsigned
      - name: nonideal_items
        type: unsigned
      - name: ineff_expands
        type: unsigned
      - name: signature
        type: uint32_t
      item_type: struct
      name: UT_hash_table
      pos:
        line_end: 1213
        line_start: 1182
        source_file: /src/postgis/deps/uthash/include/uthash.h
    - fields:
      - name: '*tbl'
        type: struct UT_hash_table
      - name: '*prev'
        type: void
      - name: '*next'
        type: void
      - name: '*hh_prev'
        type: struct UT_hash_handle
      - name: '*hh_next'
        type: struct UT_hash_handle
      - name: '*key'
        type: void
      - name: keylen
        type: unsigned
      - name: hashv
        type: unsigned
      item_type: struct
      name: UT_hash_handle
      pos:
        line_end: 1224
        line_start: 1215
        source_file: /src/postgis/deps/uthash/include/uthash.h
    typedefs:
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type: unsigned int
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type: unsigned char
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type: unsigned int
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/postgis/deps/uthash/include/uthash.h
      type: unsigned char
    union: []
- function_names:
  - FlatGeobuf::GeometryReader::GeometryReader
  - FlatGeobuf::GeometryReader::GeometryReader
  source_file: /src/postgis/deps/flatgeobuf/geometryreader.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FlatGeobuf::width
  - FlatGeobuf::height
  - FlatGeobuf::sum
  - FlatGeobuf::calcExtent
  - FlatGeobuf::hilbertSort
  - ~PackedRTree()
  - FlatGeobuf::width
  - FlatGeobuf::height
  - FlatGeobuf::sum
  - FlatGeobuf::calcExtent
  - FlatGeobuf::hilbertSort
  - ~PackedRTree()
  source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: minX
        type: double
      - name: minY
        type: double
      - name: maxX
        type: double
      - name: maxY
        type: double
      - name: offset
        type: uint64_t
      - name: create(uint64_t offset = 0)
        type: NodeItem
      - name: '&expand(const NodeItem &r)'
        type: NodeItem
      - name: intersects(const NodeItem &r) const
        type: bool
      - name: toVector()
        type: std::vector<double>
      item_type: struct
      name: NodeItem
      pos:
        line_end: 67
        line_start: 43
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    - fields:
      - name: nodeItem
        type: NodeItem
      item_type: struct
      name: Item
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    - fields:
      - name: offset
        type: uint64_t
      - name: index
        type: uint64_t
      item_type: struct
      name: SearchResultItem
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    - fields:
      - name: minX
        type: double
      - name: minY
        type: double
      - name: maxX
        type: double
      - name: maxY
        type: double
      - name: offset
        type: uint64_t
      - name: create(uint64_t offset = 0)
        type: NodeItem
      - name: '&expand(const NodeItem &r)'
        type: NodeItem
      - name: intersects(const NodeItem &r) const
        type: bool
      - name: toVector()
        type: std::vector<double>
      item_type: struct
      name: NodeItem
      pos:
        line_end: 67
        line_start: 43
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    - fields:
      - name: nodeItem
        type: NodeItem
      item_type: struct
      name: Item
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    - fields:
      - name: offset
        type: uint64_t
      - name: index
        type: uint64_t
      item_type: struct
      name: SearchResultItem
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.h
    typedefs: []
    union: []
- function_names:
  - '&NodeItem::expand(const NodeItem &r)'
  - FlatGeobuf::NodeItem::create
  - FlatGeobuf::NodeItem::intersects
  - FlatGeobuf::NodeItem::toVector
  - FlatGeobuf::hilbert
  - FlatGeobuf::hilbert
  - FlatGeobuf::hilbertSort
  - FlatGeobuf::hilbertSort
  - FlatGeobuf::calcExtent
  - FlatGeobuf::calcExtent
  - FlatGeobuf::PackedRTree::init
  - FlatGeobuf::PackedRTree::generateLevelBounds
  - FlatGeobuf::PackedRTree::generateNodes
  - FlatGeobuf::PackedRTree::fromData
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::search
  - FlatGeobuf::PackedRTree::streamSearch
  - FlatGeobuf::PackedRTree::size
  - FlatGeobuf::PackedRTree::size
  - FlatGeobuf::PackedRTree::streamWrite
  - FlatGeobuf::PackedRTree::getExtent
  - '&NodeItem::expand(const NodeItem &r)'
  - FlatGeobuf::NodeItem::create
  - FlatGeobuf::NodeItem::intersects
  - FlatGeobuf::NodeItem::toVector
  - FlatGeobuf::hilbert
  - FlatGeobuf::hilbert
  - FlatGeobuf::hilbertSort
  - FlatGeobuf::hilbertSort
  - FlatGeobuf::calcExtent
  - FlatGeobuf::calcExtent
  - FlatGeobuf::PackedRTree::init
  - FlatGeobuf::PackedRTree::generateLevelBounds
  - FlatGeobuf::PackedRTree::generateNodes
  - FlatGeobuf::PackedRTree::fromData
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::PackedRTree
  - FlatGeobuf::PackedRTree::search
  - FlatGeobuf::PackedRTree::streamSearch
  - FlatGeobuf::PackedRTree::size
  - FlatGeobuf::PackedRTree::size
  - FlatGeobuf::PackedRTree::streamWrite
  - FlatGeobuf::PackedRTree::getExtent
  source_file: /src/postgis/deps/flatgeobuf/packedrtree.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPL_IS_LSB
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/deps/flatgeobuf/packedrtree.cpp
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - (&EnumValuesGeometryType())[18]
  - FlatGeobuf::EnumNamesGeometryType
  - FlatGeobuf::EnumNameGeometryType
  - (&EnumValuesColumnType())[15]
  - FlatGeobuf::EnumNamesColumnType
  - FlatGeobuf::EnumNameColumnType
  - ::flatbuffers::Table
  - FlatGeobuf::name
  - FlatGeobuf::type
  - FlatGeobuf::title
  - FlatGeobuf::description
  - FlatGeobuf::width
  - FlatGeobuf::precision
  - FlatGeobuf::scale
  - FlatGeobuf::nullable
  - FlatGeobuf::unique
  - FlatGeobuf::primary_key
  - FlatGeobuf::metadata
  - FlatGeobuf::Verify
  - FlatGeobuf::add_name
  - FlatGeobuf::add_type
  - FlatGeobuf::add_title
  - FlatGeobuf::add_description
  - FlatGeobuf::add_width
  - FlatGeobuf::add_precision
  - FlatGeobuf::add_scale
  - FlatGeobuf::add_nullable
  - FlatGeobuf::add_unique
  - FlatGeobuf::add_primary_key
  - FlatGeobuf::add_metadata
  - FlatGeobuf::ColumnBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateColumn
  - FlatGeobuf::CreateColumnDirect
  - ::flatbuffers::Table
  - FlatGeobuf::org
  - FlatGeobuf::code
  - FlatGeobuf::name
  - FlatGeobuf::description
  - FlatGeobuf::wkt
  - FlatGeobuf::code_string
  - FlatGeobuf::Verify
  - FlatGeobuf::add_org
  - FlatGeobuf::add_code
  - FlatGeobuf::add_name
  - FlatGeobuf::add_description
  - FlatGeobuf::add_wkt
  - FlatGeobuf::add_code_string
  - FlatGeobuf::CrsBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateCrs
  - FlatGeobuf::CreateCrsDirect
  - ::flatbuffers::Table
  - FlatGeobuf::name
  - FlatGeobuf::envelope
  - FlatGeobuf::geometry_type
  - FlatGeobuf::has_z
  - FlatGeobuf::has_m
  - FlatGeobuf::has_t
  - FlatGeobuf::has_tm
  - FlatGeobuf::columns
  - FlatGeobuf::features_count
  - FlatGeobuf::index_node_size
  - FlatGeobuf::crs
  - FlatGeobuf::title
  - FlatGeobuf::description
  - FlatGeobuf::metadata
  - FlatGeobuf::Verify
  - FlatGeobuf::add_name
  - FlatGeobuf::add_envelope
  - FlatGeobuf::add_geometry_type
  - FlatGeobuf::add_has_z
  - FlatGeobuf::add_has_m
  - FlatGeobuf::add_has_t
  - FlatGeobuf::add_has_tm
  - FlatGeobuf::add_columns
  - FlatGeobuf::add_features_count
  - FlatGeobuf::add_index_node_size
  - FlatGeobuf::add_crs
  - FlatGeobuf::add_title
  - FlatGeobuf::add_description
  - FlatGeobuf::add_metadata
  - FlatGeobuf::HeaderBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateHeader
  - FlatGeobuf::CreateHeaderDirect
  - FlatGeobuf::GetHeader
  - FlatGeobuf::GetSizePrefixedHeader
  - FlatGeobuf::VerifyHeaderBuffer
  - FlatGeobuf::VerifySizePrefixedHeaderBuffer
  - FlatGeobuf::FinishHeaderBuffer
  - FlatGeobuf::FinishSizePrefixedHeaderBuffer
  - (&EnumValuesGeometryType())[18]
  - FlatGeobuf::EnumNamesGeometryType
  - FlatGeobuf::EnumNameGeometryType
  - (&EnumValuesColumnType())[15]
  - FlatGeobuf::EnumNamesColumnType
  - FlatGeobuf::EnumNameColumnType
  - ::flatbuffers::Table
  - FlatGeobuf::name
  - FlatGeobuf::type
  - FlatGeobuf::title
  - FlatGeobuf::description
  - FlatGeobuf::width
  - FlatGeobuf::precision
  - FlatGeobuf::scale
  - FlatGeobuf::nullable
  - FlatGeobuf::unique
  - FlatGeobuf::primary_key
  - FlatGeobuf::metadata
  - FlatGeobuf::Verify
  - FlatGeobuf::add_name
  - FlatGeobuf::add_type
  - FlatGeobuf::add_title
  - FlatGeobuf::add_description
  - FlatGeobuf::add_width
  - FlatGeobuf::add_precision
  - FlatGeobuf::add_scale
  - FlatGeobuf::add_nullable
  - FlatGeobuf::add_unique
  - FlatGeobuf::add_primary_key
  - FlatGeobuf::add_metadata
  - FlatGeobuf::ColumnBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateColumn
  - FlatGeobuf::CreateColumnDirect
  - ::flatbuffers::Table
  - FlatGeobuf::org
  - FlatGeobuf::code
  - FlatGeobuf::name
  - FlatGeobuf::description
  - FlatGeobuf::wkt
  - FlatGeobuf::code_string
  - FlatGeobuf::Verify
  - FlatGeobuf::add_org
  - FlatGeobuf::add_code
  - FlatGeobuf::add_name
  - FlatGeobuf::add_description
  - FlatGeobuf::add_wkt
  - FlatGeobuf::add_code_string
  - FlatGeobuf::CrsBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateCrs
  - FlatGeobuf::CreateCrsDirect
  - ::flatbuffers::Table
  - FlatGeobuf::name
  - FlatGeobuf::envelope
  - FlatGeobuf::geometry_type
  - FlatGeobuf::has_z
  - FlatGeobuf::has_m
  - FlatGeobuf::has_t
  - FlatGeobuf::has_tm
  - FlatGeobuf::columns
  - FlatGeobuf::features_count
  - FlatGeobuf::index_node_size
  - FlatGeobuf::crs
  - FlatGeobuf::title
  - FlatGeobuf::description
  - FlatGeobuf::metadata
  - FlatGeobuf::Verify
  - FlatGeobuf::add_name
  - FlatGeobuf::add_envelope
  - FlatGeobuf::add_geometry_type
  - FlatGeobuf::add_has_z
  - FlatGeobuf::add_has_m
  - FlatGeobuf::add_has_t
  - FlatGeobuf::add_has_tm
  - FlatGeobuf::add_columns
  - FlatGeobuf::add_features_count
  - FlatGeobuf::add_index_node_size
  - FlatGeobuf::add_crs
  - FlatGeobuf::add_title
  - FlatGeobuf::add_description
  - FlatGeobuf::add_metadata
  - FlatGeobuf::HeaderBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateHeader
  - FlatGeobuf::CreateHeaderDirect
  - FlatGeobuf::GetHeader
  - FlatGeobuf::GetSizePrefixedHeader
  - FlatGeobuf::VerifyHeaderBuffer
  - FlatGeobuf::VerifySizePrefixedHeaderBuffer
  - FlatGeobuf::FinishHeaderBuffer
  - FlatGeobuf::FinishSizePrefixedHeaderBuffer
  source_file: /src/postgis/deps/flatgeobuf/header_generated.h
  types:
    enum:
    - enumerators:
      - name: Unknown
        value: '0'
      - name: Polygon
        value: '3'
      - name: GeometryCollection
        value: '7'
      - name: MultiCurve
        value: '11'
      - name: PolyhedralSurface
        value: '15'
      - name: LineString
        value: '2'
      - name: MultiPolygon
        value: '6'
      - name: Surface
        value: '14'
      - name: MIN
        value: Unknown
      - name: CurvePolygon
        value: '10'
      - name: MAX
        value: Triangle
      - name: Point
        value: '1'
      - name: MultiLineString
        value: '5'
      - name: CompoundCurve
        value: '9'
      - name: Triangle
        value: '17'
      - name: Curve
        value: '13'
      - name: MultiPoint
        value: '4'
      - name: CircularString
        value: '8'
      - name: TIN
        value: '16'
      - name: MultiSurface
        value: '12'
      item_type: enum
      name: GeometryType
      pos:
        line_end: 47
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - enumerators:
      - name: Byte
        value: '0'
      - name: UShort
        value: '4'
      - name: Short
        value: '3'
      - name: UByte
        value: '1'
      - name: Bool
        value: '2'
      - name: Int
        value: '5'
      - name: UInt
        value: '6'
      - name: Long
        value: '7'
      - name: ULong
        value: '8'
      - name: Float
        value: '9'
      - name: String
        value: '11'
      - name: Binary
        value: '14'
      - name: Double
        value: '10'
      - name: DateTime
        value: '13'
      - name: Json
        value: '12'
      - name: MAX
        value: Binary
      - name: MIN
        value: Byte
      item_type: enum
      name: ColumnType
      pos:
        line_end: 122
        line_start: 104
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: Polygon
        value: '3'
      - name: GeometryCollection
        value: '7'
      - name: MultiCurve
        value: '11'
      - name: PolyhedralSurface
        value: '15'
      - name: LineString
        value: '2'
      - name: MultiPolygon
        value: '6'
      - name: Surface
        value: '14'
      - name: MIN
        value: Unknown
      - name: CurvePolygon
        value: '10'
      - name: MAX
        value: Triangle
      - name: Point
        value: '1'
      - name: MultiLineString
        value: '5'
      - name: CompoundCurve
        value: '9'
      - name: Triangle
        value: '17'
      - name: Curve
        value: '13'
      - name: MultiPoint
        value: '4'
      - name: CircularString
        value: '8'
      - name: TIN
        value: '16'
      - name: MultiSurface
        value: '12'
      item_type: enum
      name: GeometryType
      pos:
        line_end: 47
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - enumerators:
      - name: Byte
        value: '0'
      - name: UShort
        value: '4'
      - name: Short
        value: '3'
      - name: UByte
        value: '1'
      - name: Bool
        value: '2'
      - name: Int
        value: '5'
      - name: UInt
        value: '6'
      - name: Long
        value: '7'
      - name: ULong
        value: '8'
      - name: Float
        value: '9'
      - name: String
        value: '11'
      - name: Binary
        value: '14'
      - name: Double
        value: '10'
      - name: DateTime
        value: '13'
      - name: Json
        value: '12'
      - name: MAX
        value: Binary
      - name: MIN
        value: Byte
      item_type: enum
      name: ColumnType
      pos:
        line_end: 122
        line_start: 104
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    preproc_defs: []
    structs:
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ColumnBuilder
      pos:
        line_end: 289
        line_start: 242
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: CrsBuilder
      pos:
        line_end: 427
        line_start: 396
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: HeaderBuilder
      pos:
        line_end: 613
        line_start: 558
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ColumnBuilder
      pos:
        line_end: 289
        line_start: 242
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: CrsBuilder
      pos:
        line_end: 427
        line_start: 396
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: HeaderBuilder
      pos:
        line_end: 613
        line_start: 558
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    typedefs:
    - item_type: typedef
      name: Builder
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/postgis/deps/flatgeobuf/header_generated.h
    union: []
- function_names:
  - ::flatbuffers::Table
  - FlatGeobuf::ends
  - FlatGeobuf::xy
  - FlatGeobuf::z
  - FlatGeobuf::m
  - FlatGeobuf::t
  - FlatGeobuf::tm
  - FlatGeobuf::type
  - FlatGeobuf::parts
  - FlatGeobuf::Verify
  - FlatGeobuf::add_ends
  - FlatGeobuf::add_xy
  - FlatGeobuf::add_z
  - FlatGeobuf::add_m
  - FlatGeobuf::add_t
  - FlatGeobuf::add_tm
  - FlatGeobuf::add_type
  - FlatGeobuf::add_parts
  - FlatGeobuf::GeometryBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateGeometry
  - FlatGeobuf::CreateGeometryDirect
  - ::flatbuffers::Table
  - FlatGeobuf::geometry
  - FlatGeobuf::properties
  - FlatGeobuf::columns
  - FlatGeobuf::Verify
  - FlatGeobuf::add_geometry
  - FlatGeobuf::add_properties
  - FlatGeobuf::add_columns
  - FlatGeobuf::FeatureBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateFeature
  - FlatGeobuf::CreateFeatureDirect
  - FlatGeobuf::GetFeature
  - FlatGeobuf::GetSizePrefixedFeature
  - FlatGeobuf::VerifyFeatureBuffer
  - FlatGeobuf::VerifySizePrefixedFeatureBuffer
  - FlatGeobuf::FinishFeatureBuffer
  - FlatGeobuf::FinishSizePrefixedFeatureBuffer
  - ::flatbuffers::Table
  - FlatGeobuf::ends
  - FlatGeobuf::xy
  - FlatGeobuf::z
  - FlatGeobuf::m
  - FlatGeobuf::t
  - FlatGeobuf::tm
  - FlatGeobuf::type
  - FlatGeobuf::parts
  - FlatGeobuf::Verify
  - FlatGeobuf::add_ends
  - FlatGeobuf::add_xy
  - FlatGeobuf::add_z
  - FlatGeobuf::add_m
  - FlatGeobuf::add_t
  - FlatGeobuf::add_tm
  - FlatGeobuf::add_type
  - FlatGeobuf::add_parts
  - FlatGeobuf::GeometryBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateGeometry
  - FlatGeobuf::CreateGeometryDirect
  - ::flatbuffers::Table
  - FlatGeobuf::geometry
  - FlatGeobuf::properties
  - FlatGeobuf::columns
  - FlatGeobuf::Verify
  - FlatGeobuf::add_geometry
  - FlatGeobuf::add_properties
  - FlatGeobuf::add_columns
  - FlatGeobuf::FeatureBuilder
  - FlatGeobuf::Finish
  - FlatGeobuf::CreateFeature
  - FlatGeobuf::CreateFeatureDirect
  - FlatGeobuf::GetFeature
  - FlatGeobuf::GetSizePrefixedFeature
  - FlatGeobuf::VerifyFeatureBuffer
  - FlatGeobuf::VerifySizePrefixedFeatureBuffer
  - FlatGeobuf::FinishFeatureBuffer
  - FlatGeobuf::FinishSizePrefixedFeatureBuffer
  source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: GeometryBuilder
      pos:
        line_end: 120
        line_start: 83
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: FeatureBuilder
      pos:
        line_end: 224
        line_start: 202
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: GeometryBuilder
      pos:
        line_end: 120
        line_start: 83
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: FeatureBuilder
      pos:
        line_end: 224
        line_start: 202
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    typedefs:
    - item_type: typedef
      name: Builder
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/postgis/deps/flatgeobuf/feature_generated.h
    union: []
- function_names:
  - GeometryReader::readPoint
  - GeometryReader::readPA
  - GeometryReader::readMultiPoint
  - GeometryReader::readLineString
  - GeometryReader::readMultiLineString
  - GeometryReader::readPolygon
  - GeometryReader::readMultiPolygon
  - GeometryReader::readGeometryCollection
  - GeometryReader::read
  source_file: /src/postgis/deps/flatgeobuf/geometryreader.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GeometryWriter::get_geometrytype
  - GeometryWriter::writePoint
  - GeometryWriter::writeMultiPoint
  - GeometryWriter::writeLineString
  - GeometryWriter::writeMultiLineString
  - GeometryWriter::writePolygon
  - GeometryWriter::writeMultiPolygon
  - GeometryWriter::writeGeometryCollection
  - GeometryWriter::writePA
  - GeometryWriter::writePPA
  - GeometryWriter::write
  source_file: /src/postgis/deps/flatgeobuf/geometrywriter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: flatgeobuf_column_type_byte
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(0)
    - item_type: preproc_def
      name: flatgeobuf_column_type_ubyte
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(1)
    - item_type: preproc_def
      name: flatgeobuf_column_type_bool
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(2)
    - item_type: preproc_def
      name: flatgeobuf_column_type_short
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(3)
    - item_type: preproc_def
      name: flatgeobuf_column_type_ushort
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(4)
    - item_type: preproc_def
      name: flatgeobuf_column_type_int
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(5)
    - item_type: preproc_def
      name: flatgeobuf_column_type_uint
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(6)
    - item_type: preproc_def
      name: flatgeobuf_column_type_long
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(7)
    - item_type: preproc_def
      name: flatgeobuf_column_type_ulong
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(8)
    - item_type: preproc_def
      name: flatgeobuf_column_type_float
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(9)
    - item_type: preproc_def
      name: flatgeobuf_column_type_double
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(10)
    - item_type: preproc_def
      name: flatgeobuf_column_type_string
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(11)
    - item_type: preproc_def
      name: flatgeobuf_column_type_json
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(12)
    - item_type: preproc_def
      name: flatgeobuf_column_type_datetime
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(13)
    - item_type: preproc_def
      name: flatgeobuf_column_type_binary
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
      type_or_value: UINT8_C(14)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: uint8_t
      - name: '*title'
        type: char
      - name: '*description'
        type: char
      - name: width
        type: uint32_t
      - name: precision
        type: uint32_t
      - name: scale
        type: uint32_t
      - name: nullable
        type: bool
      - name: unique
        type: bool
      - name: primary_key
        type: bool
      - name: '* metadata'
        type: char
      item_type: struct
      name: flatgeobuf_column
      pos:
        line_end: 67
        line_start: 54
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
    - fields:
      - name: xmin
        type: double
      - name: xmax
        type: double
      - name: ymin
        type: double
      - name: ymax
        type: double
      - name: size
        type: uint32_t
      - name: offset
        type: uint64_t
      item_type: struct
      name: flatgeobuf_item
      pos:
        line_end: 77
        line_start: 69
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
    - fields:
      - name: '*name'
        type: char
      - name: features_count
        type: uint64_t
      - name: geometry_type
        type: uint8_t
      - name: has_extent
        type: bool
      - name: xmin
        type: double
      - name: xmax
        type: double
      - name: ymin
        type: double
      - name: ymax
        type: double
      - name: has_z
        type: bool
      - name: has_m
        type: bool
      - name: has_t
        type: bool
      - name: has_tm
        type: bool
      - name: index_node_size
        type: uint16_t
      - name: srid
        type: int32_t
      - name: '**columns'
        type: flatgeobuf_column
      - name: columns_size
        type: uint16_t
      - name: '*buf'
        type: uint8_t
      - name: offset
        type: uint64_t
      - name: size
        type: uint64_t
      - name: '*lwgeom'
        type: LWGEOM
      - name: lwgeom_type
        type: uint8_t
      - name: '*properties'
        type: uint8_t
      - name: properties_len
        type: uint32_t
      - name: properties_size
        type: uint32_t
      - name: '*geom_name'
        type: char
      - name: geom_index
        type: uint32_t
      - name: create_index
        type: bool
      - name: '**items'
        type: flatgeobuf_item
      - name: items_len
        type: uint64_t
      item_type: struct
      name: flatgeobuf_ctx
      pos:
        line_end: 118
        line_start: 79
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.h
    typedefs: []
    union: []
- function_names:
  - flatgeobuf_encode_header
  - flatgeobuf_encode_feature
  - flatgeobuf_create_index
  - flatgeobuf_decode_feature
  - flatgeobuf_decode_header
  source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: uoffset_t
      - name: offset
        type: uint64_t
      item_type: struct
      name: FeatureItem
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    typedefs:
    - item_type: typedef
      name: ctx
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/flatgeobuf/flatgeobuf_c.cpp
    union: []
- function_names:
  - FlatGeobuf::GeometryWriter::GeometryWriter
  - FlatGeobuf::GeometryWriter::GeometryWriter
  source_file: /src/postgis/deps/flatgeobuf/geometrywriter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::GetBufferStartFromRootPointer
  - flatbuffers::GetPrefixedSize
  - flatbuffers::IsFieldPresent
  - flatbuffers::LookupEnum
  - FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
  - FLATBUFFERS_STRUCT_END
  - FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
  - FLATBUFFERS_STRUCT_END
  - FLATBUFFERS_GEN_ELEMENTARY_TYPES
  - flatbuffers::ElementaryTypeNames
  - flatbuffers::flatbuffers_version_string
  - FLATBUFFERS_DEFINE_BITMASK_OPERATORS
  - flatbuffers::GetBufferStartFromRootPointer
  - flatbuffers::GetPrefixedSize
  - flatbuffers::IsFieldPresent
  - flatbuffers::LookupEnum
  - FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
  - FLATBUFFERS_STRUCT_END
  - FLATBUFFERS_MANUALLY_ALIGNED_STRUCT
  - FLATBUFFERS_STRUCT_END
  - FLATBUFFERS_GEN_ELEMENTARY_TYPES
  - flatbuffers::ElementaryTypeNames
  - flatbuffers::flatbuffers_version_string
  - FLATBUFFERS_DEFINE_BITMASK_OPERATORS
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
  types:
    enum:
    - enumerators:
      - name: ST_TABLE
      - name: ST_ENUM
      - name: ST_STRUCT
      - name: ST_UNION
      item_type: enum
      name: SequenceType
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - enumerators: []
      item_type: enum
      name: ElementaryType
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - enumerators:
      - name: ST_TABLE
      - name: ST_ENUM
      - name: ST_STRUCT
      - name: ST_UNION
      item_type: enum
      name: SequenceType
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - enumerators: []
      item_type: enum
      name: ElementaryType
      pos:
        line_end: 187
        line_start: 183
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: NativeTable
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - fields:
      - name: base_type
        type: unsigned short
      - name: is_repeating
        type: unsigned short
      - name: sequence_ref
        type: signed short
      item_type: struct
      name: TypeCode
      pos:
        line_end: 210
        line_start: 203
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - fields:
      - name: st
        type: SequenceType
      - name: num_elems
        type: size_t
      - name: '*type_codes'
        type: TypeCode
      - name: '*type_refs'
        type: TypeFunction
      - name: '*array_sizes'
        type: int16_t
      - name: '*values'
        type: int64_t
      - name: '*const *names'
        type: char
      item_type: struct
      name: TypeTable
      pos:
        line_end: 227
        line_start: 219
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - fields: []
      item_type: struct
      name: NativeTable
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - fields:
      - name: base_type
        type: unsigned short
      - name: is_repeating
        type: unsigned short
      - name: sequence_ref
        type: signed short
      item_type: struct
      name: TypeCode
      pos:
        line_end: 210
        line_start: 203
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - fields:
      - name: st
        type: SequenceType
      - name: num_elems
        type: size_t
      - name: '*type_codes'
        type: TypeCode
      - name: '*type_refs'
        type: TypeFunction
      - name: '*array_sizes'
        type: int16_t
      - name: '*values'
        type: int64_t
      - name: '*const *names'
        type: char
      item_type: struct
      name: TypeTable
      pos:
        line_end: 227
        line_start: 219
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    typedefs:
    - item_type: typedef
      name: hash_value_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
      type: uint64_t
    - item_type: typedef
      name: resolver_function_t
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - item_type: typedef
      name: rehasher_function_t
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - item_type: typedef
      name: '*(*TypeFunction)()'
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - item_type: typedef
      name: hash_value_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
      type: uint64_t
    - item_type: typedef
      name: resolver_function_t
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - item_type: typedef
      name: rehasher_function_t
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    - item_type: typedef
      name: '*(*TypeFunction)()'
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffers.h
    union: []
- function_names:
  - FLATBUFFERS_GEN_TYPES_SCALAR
  - FLATBUFFERS_GEN_TYPES_POINTER
  - FLATBUFFERS_GEN_TYPE_ARRAY
  - FLATBUFFERS_GEN_TYPES
  - FLATBUFFERS_TD
  - flatbuffers::IsScalar
  - flatbuffers::IsInteger
  - flatbuffers::IsFloat
  - flatbuffers::IsLong
  - flatbuffers::IsBool
  - flatbuffers::IsOneByte
  - flatbuffers::IsUnsigned
  - flatbuffers::SizeOf
  - FLATBUFFERS_TD
  - flatbuffers::TypeName
  - FLATBUFFERS_TD
  - flatbuffers::StringOf
  - FLATBUFFERS_TD
  - flatbuffers::Type
  - operator==(const Type &o) const
  - flatbuffers::VectorType
  - flatbuffers::Value
  - ~SymbolTable()
  - flatbuffers::SymbolTable::Add
  - flatbuffers::SymbolTable::Move
  - flatbuffers::SymbolTable::Lookup
  - flatbuffers::Namespace
  - operator<(const Namespace &a, const Namespace &b)
  - flatbuffers::Definition
  - flatbuffers::FieldDef
  - flatbuffers::IsScalarOptional
  - flatbuffers::IsOptional
  - flatbuffers::IsRequired
  - flatbuffers::IsDefault
  - flatbuffers::MakeFieldPresence
  - flatbuffers::StructDef
  - flatbuffers::PadLastField
  - flatbuffers::GetAsUInt64
  - flatbuffers::GetAsInt64
  - flatbuffers::IsZero
  - flatbuffers::IsNonZero
  - flatbuffers::EnumVal
  - flatbuffers::EnumVal
  - flatbuffers::EnumDef
  - flatbuffers::Distance
  - flatbuffers::ToString
  - flatbuffers::size
  - '&Vals() const'
  - flatbuffers::Lookup
  - flatbuffers::IsUInt64
  - flatbuffers::IsString
  - flatbuffers::IsStruct
  - flatbuffers::IsIncompleteStruct
  - flatbuffers::IsTable
  - flatbuffers::IsUnion
  - flatbuffers::IsUnionType
  - flatbuffers::IsVector
  - flatbuffers::IsVectorOfStruct
  - flatbuffers::IsVectorOfTable
  - flatbuffers::IsArray
  - flatbuffers::IsSeries
  - flatbuffers::IsEnum
  - flatbuffers::InlineSize
  - flatbuffers::InlineAlignment
  - operator==(const EnumVal &lhs, const EnumVal &rhs)
  - operator!=(const EnumVal &lhs, const EnumVal &rhs)
  - flatbuffers::EqualByName
  - operator<(const IncludedFile &a, const IncludedFile &b)
  - flatbuffers::IDLOptions
  - flatbuffers::ParserState
  - flatbuffers::ResetState
  - flatbuffers::MarkNewLine
  - flatbuffers::CursorPosition
  - flatbuffers::CheckedError::CheckedError
  - '&operator=(const CheckedError &other)'
  - flatbuffers::CheckedError::CheckedError
  - ~CheckedError()
  - flatbuffers::CheckedError::Check
  - flatbuffers::Parser::Parser
  - flatbuffers::Parser::Parser
  - '&operator=(const Parser &)'
  - flatbuffers::Parser::Parser
  - '&operator=(Parser &&)'
  - ~Parser()
  - FLATBUFFERS_GEN_TYPES_SCALAR
  - FLATBUFFERS_GEN_TYPES_POINTER
  - FLATBUFFERS_GEN_TYPE_ARRAY
  - FLATBUFFERS_GEN_TYPES
  - FLATBUFFERS_TD
  - flatbuffers::IsScalar
  - flatbuffers::IsInteger
  - flatbuffers::IsFloat
  - flatbuffers::IsLong
  - flatbuffers::IsBool
  - flatbuffers::IsOneByte
  - flatbuffers::IsUnsigned
  - flatbuffers::SizeOf
  - FLATBUFFERS_TD
  - flatbuffers::TypeName
  - FLATBUFFERS_TD
  - flatbuffers::StringOf
  - FLATBUFFERS_TD
  - flatbuffers::Type
  - operator==(const Type &o) const
  - flatbuffers::VectorType
  - flatbuffers::Value
  - ~SymbolTable()
  - flatbuffers::SymbolTable::Add
  - flatbuffers::SymbolTable::Move
  - flatbuffers::SymbolTable::Lookup
  - flatbuffers::Namespace
  - operator<(const Namespace &a, const Namespace &b)
  - flatbuffers::Definition
  - flatbuffers::FieldDef
  - flatbuffers::IsScalarOptional
  - flatbuffers::IsOptional
  - flatbuffers::IsRequired
  - flatbuffers::IsDefault
  - flatbuffers::MakeFieldPresence
  - flatbuffers::StructDef
  - flatbuffers::PadLastField
  - flatbuffers::GetAsUInt64
  - flatbuffers::GetAsInt64
  - flatbuffers::IsZero
  - flatbuffers::IsNonZero
  - flatbuffers::EnumVal
  - flatbuffers::EnumVal
  - flatbuffers::EnumDef
  - flatbuffers::Distance
  - flatbuffers::ToString
  - flatbuffers::size
  - '&Vals() const'
  - flatbuffers::Lookup
  - flatbuffers::IsUInt64
  - flatbuffers::IsString
  - flatbuffers::IsStruct
  - flatbuffers::IsIncompleteStruct
  - flatbuffers::IsTable
  - flatbuffers::IsUnion
  - flatbuffers::IsUnionType
  - flatbuffers::IsVector
  - flatbuffers::IsVectorOfStruct
  - flatbuffers::IsVectorOfTable
  - flatbuffers::IsArray
  - flatbuffers::IsSeries
  - flatbuffers::IsEnum
  - flatbuffers::InlineSize
  - flatbuffers::InlineAlignment
  - operator==(const EnumVal &lhs, const EnumVal &rhs)
  - operator!=(const EnumVal &lhs, const EnumVal &rhs)
  - flatbuffers::EqualByName
  - operator<(const IncludedFile &a, const IncludedFile &b)
  - flatbuffers::IDLOptions
  - flatbuffers::ParserState
  - flatbuffers::ResetState
  - flatbuffers::MarkNewLine
  - flatbuffers::CursorPosition
  - flatbuffers::CheckedError::CheckedError
  - '&operator=(const CheckedError &other)'
  - flatbuffers::CheckedError::CheckedError
  - ~CheckedError()
  - flatbuffers::CheckedError::Check
  - flatbuffers::Parser::Parser
  - flatbuffers::Parser::Parser
  - '&operator=(const Parser &)'
  - flatbuffers::Parser::Parser
  - '&operator=(Parser &&)'
  - ~Parser()
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
  types:
    enum:
    - enumerators: []
      item_type: enum
      name: BaseType
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kRequired
      - name: kDefault
      - name: kOptional
      item_type: enum
      name: Presence
      pos:
        line_end: 363
        line_start: 355
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: CaseStyle_Unchanged
        value: '0'
      - name: CaseStyle_Upper
      - name: CaseStyle_Lower
      item_type: enum
      name: CaseStyle
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: NO_OP
      - name: ERROR
      - name: WARNING
      item_type: enum
      name: ProtoIdGapAction
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kPython
        value: 1 << 5
      - name: kTs
        value: 1 << 9
      - name: kLobster
        value: 1 << 13
      - name: kKotlin
        value: 1 << 15
      - name: kJava
        value: 1 << 0
      - name: kCSharp
        value: 1 << 1
      - name: kPhp
        value: 1 << 6
      - name: kJsonSchema
        value: 1 << 10
      - name: kSwift
        value: 1 << 16
      - name: kGo
        value: 1 << 2
      - name: kJson
        value: 1 << 7
      - name: kDart
        value: 1 << 11
      - name: kNim
        value: 1 << 17
      - name: kCpp
        value: 1 << 3
      - name: kBinary
        value: 1 << 8
      - name: kRust
        value: 1 << 14
      - name: kMAX
      - name: kProto
        value: 1 << 18
      - name: kLua
        value: 1 << 12
      item_type: enum
      name: Language
      pos:
        line_end: 722
        line_start: 702
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kNone
      - name: kTypesAndNames
      - name: kTypes
      item_type: enum
      name: MiniReflect
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators: []
      item_type: enum
      name: BaseType
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kRequired
      - name: kDefault
      - name: kOptional
      item_type: enum
      name: Presence
      pos:
        line_end: 363
        line_start: 355
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: CaseStyle_Unchanged
        value: '0'
      - name: CaseStyle_Upper
      - name: CaseStyle_Lower
      item_type: enum
      name: CaseStyle
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: NO_OP
      - name: ERROR
      - name: WARNING
      item_type: enum
      name: ProtoIdGapAction
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kPython
        value: 1 << 5
      - name: kTs
        value: 1 << 9
      - name: kLobster
        value: 1 << 13
      - name: kKotlin
        value: 1 << 15
      - name: kJava
        value: 1 << 0
      - name: kCSharp
        value: 1 << 1
      - name: kPhp
        value: 1 << 6
      - name: kJsonSchema
        value: 1 << 10
      - name: kSwift
        value: 1 << 16
      - name: kGo
        value: 1 << 2
      - name: kJson
        value: 1 << 7
      - name: kDart
        value: 1 << 11
      - name: kNim
        value: 1 << 17
      - name: kCpp
        value: 1 << 3
      - name: kBinary
        value: 1 << 8
      - name: kRust
        value: 1 << 14
      - name: kMAX
      - name: kProto
        value: 1 << 18
      - name: kLua
        value: 1 << 12
      item_type: enum
      name: Language
      pos:
        line_end: 722
        line_start: 702
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - enumerators:
      - name: kNone
      - name: kTypesAndNames
      - name: kTypes
      item_type: enum
      name: MiniReflect
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    preproc_defs:
    - item_type: preproc_def
      name: FLATBUFFERS_MAX_PARSING_DEPTH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
      type_or_value: '64'
    - item_type: preproc_def
      name: FLATBUFFERS_CHECKED_ERROR
      pos:
        line_end: 901
        line_start: 899
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
      type_or_value: "CheckedError \\\n          __attribute__((warn_unused_result))"
    - item_type: preproc_def
      name: FLATBUFFERS_CHECKED_ERROR
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
      type_or_value: CheckedError
    - item_type: preproc_def
      name: FLATBUFFERS_CHECKED_ERROR
      pos:
        line_end: 901
        line_start: 899
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
      type_or_value: "CheckedError \\\n          __attribute__((warn_unused_result))"
    - item_type: preproc_def
      name: FLATBUFFERS_CHECKED_ERROR
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
      type_or_value: CheckedError
    structs:
    - fields:
      - name: Serialize(FlatBufferBuilder *builder) const
        type: Offset<reflection::Type>
      - name: Deserialize(const Parser &parser, const reflection::Type *type)
        type: bool
      - name: base_type
        type: BaseType
      - name: element
        type: BaseType
      - name: '*struct_def'
        type: StructDef
      - name: '*enum_def'
        type: EnumDef
      - name: fixed_length
        type: uint16_t
      item_type: struct
      name: Type
      pos:
        line_end: 217
        line_start: 189
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: type
        type: Type
      - name: constant
        type: std::string
      - name: offset
        type: voffset_t
      item_type: struct
      name: Value
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "GetFullyQualifiedName(const std::string &name,\n                                    size_t
          max_components = 1000) const"
        type: std::string
      - name: components
        type: std::vector<std::string>
      - name: from_table
        type: size_t
      item_type: struct
      name: Namespace
      pos:
        line_end: 279
        line_start: 267
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: SerializeAttributes(FlatBufferBuilder *builder, const Parser &parser)
          const
        type: "flatbuffers::Offset<\n      flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>>"
      - name: "DeserializeAttributes(Parser &parser,\n                             const
          Vector<Offset<reflection::KeyValue>> *attrs)"
        type: bool
      - name: name
        type: std::string
      - name: file
        type: std::string
      - name: doc_comment
        type: std::vector<std::string>
      - name: attributes
        type: SymbolTable<Value>
      - name: generated
        type: bool
      - name: '*defined_namespace'
        type: Namespace
      - name: serialized_location
        type: uoffset_t
      - name: index
        type: int
      - name: refcount
        type: int
      - name: '*declaration_file'
        type: std::string
      item_type: struct
      name: Definition
      pos:
        line_end: 319
        line_start: 291
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder, uint16_t id,\n                                      const
          Parser &parser) const"
        type: Offset<reflection::Field>
      - name: Deserialize(Parser &parser, const reflection::Field *field)
        type: bool
      - name: value
        type: Value
      - name: deprecated
        type: bool
      - name: key
        type: bool
      - name: shared
        type: bool
      - name: native_inline
        type: bool
      - name: flexbuffer
        type: bool
      - name: presence
        type: Presence
      - name: '*nested_flatbuffer'
        type: StructDef
      - name: padding
        type: size_t
      - name: '*sibling_union_field'
        type: FieldDef
      item_type: struct
      name: FieldDef
      pos:
        line_end: 382
        line_start: 321
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                       const
          Parser &parser) const"
        type: Offset<reflection::Object>
      - name: Deserialize(Parser &parser, const reflection::Object *object)
        type: bool
      - name: fields
        type: SymbolTable<FieldDef>
      - name: fixed
        type: bool
      - name: predecl
        type: bool
      - name: sortbysize
        type: bool
      - name: has_key
        type: bool
      - name: minalign
        type: size_t
      - name: bytesize
        type: size_t
      - name: original_location
        type: flatbuffers::unique_ptr<std::string>
      - name: reserved_ids
        type: std::vector<voffset_t>
      item_type: struct
      name: StructDef
      pos:
        line_end: 415
        line_start: 384
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::EnumVal>
      - name: Deserialize(Parser &parser, const reflection::EnumVal *val)
        type: bool
      - name: SerializeAttributes(FlatBufferBuilder *builder, const Parser &parser)
          const
        type: "flatbuffers::Offset<\n      flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>>"
      - name: "DeserializeAttributes(Parser &parser,\n                             const
          Vector<Offset<reflection::KeyValue>> *attrs)"
        type: bool
      - name: name
        type: std::string
      - name: doc_comment
        type: std::vector<std::string>
      - name: union_type
        type: Type
      - name: attributes
        type: SymbolTable<Value>
      - name: value
        type: int64_t
      item_type: struct
      name: EnumVal
      pos:
        line_end: 452
        line_start: 420
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                     const
          Parser &parser) const"
        type: Offset<reflection::Enum>
      - name: Deserialize(Parser &parser, const reflection::Enum *values)
        type: bool
      - name: SortByValue()
        type: void
      - name: RemoveDuplicates()
        type: void
      - name: AllFlags() const
        type: std::string
      - name: '*MinValue() const'
        type: EnumVal
      - name: '*MaxValue() const'
        type: EnumVal
      - name: Distance(const EnumVal *v1, const EnumVal *v2) const
        type: uint64_t
      - name: "*ReverseLookup(int64_t enum_idx,\n                         bool skip_union_default
          = false) const"
        type: EnumVal
      - name: '*FindByValue(const std::string &constant) const'
        type: EnumVal
      - name: is_union
        type: bool
      - name: uses_multiple_type_instances
        type: bool
      - name: underlying_type
        type: Type
      - name: vals
        type: SymbolTable<EnumVal>
      item_type: struct
      name: EnumDef
      pos:
        line_end: 504
        line_start: 454
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::RPCCall>
      - name: Deserialize(Parser &parser, const reflection::RPCCall *call)
        type: bool
      - name: '*request'
        type: StructDef
      item_type: struct
      name: RPCCall
      pos:
        line_end: 596
        line_start: 589
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::Service>
      - name: Deserialize(Parser &parser, const reflection::Service *service)
        type: bool
      - name: calls
        type: SymbolTable<RPCCall>
      item_type: struct
      name: ServiceDef
      pos:
        line_end: 604
        line_start: 598
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: schema_name
        type: std::string
      - name: filename
        type: std::string
      item_type: struct
      name: IncludedFile
      pos:
        line_end: 617
        line_start: 606
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: gen_jvmstatic
        type: bool
      - name: use_flexbuffers
        type: bool
      - name: strict_json
        type: bool
      - name: output_default_scalars_in_json
        type: bool
      - name: indent_step
        type: int
      - name: cpp_minify_enums
        type: bool
      - name: output_enum_identifiers
        type: bool
      - name: prefixed_enums
        type: bool
      - name: scoped_enums
        type: bool
      - name: emit_min_max_enum_values
        type: bool
      - name: swift_implementation_only
        type: bool
      - name: include_dependence_headers
        type: bool
      - name: mutable_buffer
        type: bool
      - name: one_file
        type: bool
      - name: proto_mode
        type: bool
      - name: proto_oneof_union
        type: bool
      - name: generate_all
        type: bool
      - name: skip_unexpected_fields_in_json
        type: bool
      - name: generate_name_strings
        type: bool
      - name: generate_object_based_api
        type: bool
      - name: gen_compare
        type: bool
      - name: cpp_object_api_pointer_type
        type: std::string
      - name: cpp_object_api_string_type
        type: std::string
      - name: cpp_object_api_string_flexible_constructor
        type: bool
      - name: cpp_object_api_field_case_style
        type: CaseStyle
      - name: cpp_direct_copy
        type: bool
      - name: gen_nullable
        type: bool
      - name: java_package_prefix
        type: std::string
      - name: java_checkerframework
        type: bool
      - name: gen_generated
        type: bool
      - name: gen_json_coders
        type: bool
      - name: object_prefix
        type: std::string
      - name: object_suffix
        type: std::string
      - name: union_value_namespacing
        type: bool
      - name: allow_non_utf8
        type: bool
      - name: natural_utf8
        type: bool
      - name: include_prefix
        type: std::string
      - name: keep_prefix
        type: bool
      - name: binary_schema_comments
        type: bool
      - name: binary_schema_builtins
        type: bool
      - name: binary_schema_gen_embed
        type: bool
      - name: go_import
        type: std::string
      - name: go_namespace
        type: std::string
      - name: go_module_name
        type: std::string
      - name: protobuf_ascii_alike
        type: bool
      - name: size_prefixed
        type: bool
      - name: root_type
        type: std::string
      - name: force_defaults
        type: bool
      - name: java_primitive_has_method
        type: bool
      - name: cs_gen_json_serializer
        type: bool
      - name: cpp_includes
        type: std::vector<std::string>
      - name: cpp_std
        type: std::string
      - name: cpp_static_reflection
        type: bool
      - name: proto_namespace_suffix
        type: std::string
      - name: filename_suffix
        type: std::string
      - name: filename_extension
        type: std::string
      - name: no_warnings
        type: bool
      - name: warnings_as_errors
        type: bool
      - name: project_root
        type: std::string
      - name: cs_global_alias
        type: bool
      - name: json_nested_flatbuffers
        type: bool
      - name: json_nested_flexbuffers
        type: bool
      - name: json_nested_legacy_flatbuffers
        type: bool
      - name: ts_flat_files
        type: bool
      - name: ts_entry_points
        type: bool
      - name: ts_no_import_ext
        type: bool
      - name: no_leak_private_annotations
        type: bool
      - name: require_json_eof
        type: bool
      - name: keep_proto_id
        type: bool
      - name: proto_id_gap_action
        type: ProtoIdGapAction
      - name: mini_reflect
        type: MiniReflect
      - name: require_explicit_ids
        type: bool
      - name: rust_serialize
        type: bool
      - name: rust_module_root_file
        type: bool
      - name: lang_to_generate
        type: unsigned long
      - name: set_empty_strings_to_null
        type: bool
      - name: set_empty_vectors_to_null
        type: bool
      item_type: struct
      name: IDLOptions
      pos:
        line_end: 816
        line_start: 625
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: '*prev_cursor_'
        type: char
      - name: '*cursor_'
        type: char
      - name: '*line_start_'
        type: char
      - name: line_
        type: int
      - name: token_
        type: int
      - name: attr_is_trivial_ascii_string_
        type: bool
      - name: attribute_
        type: std::string
      - name: doc_comment_
        type: std::vector<std::string>
      item_type: struct
      name: ParserState
      pos:
        line_end: 858
        line_start: 819
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: Serialize(FlatBufferBuilder *builder) const
        type: Offset<reflection::Type>
      - name: Deserialize(const Parser &parser, const reflection::Type *type)
        type: bool
      - name: base_type
        type: BaseType
      - name: element
        type: BaseType
      - name: '*struct_def'
        type: StructDef
      - name: '*enum_def'
        type: EnumDef
      - name: fixed_length
        type: uint16_t
      item_type: struct
      name: Type
      pos:
        line_end: 217
        line_start: 189
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: type
        type: Type
      - name: constant
        type: std::string
      - name: offset
        type: voffset_t
      item_type: struct
      name: Value
      pos:
        line_end: 227
        line_start: 220
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "GetFullyQualifiedName(const std::string &name,\n                                    size_t
          max_components = 1000) const"
        type: std::string
      - name: components
        type: std::vector<std::string>
      - name: from_table
        type: size_t
      item_type: struct
      name: Namespace
      pos:
        line_end: 279
        line_start: 267
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: SerializeAttributes(FlatBufferBuilder *builder, const Parser &parser)
          const
        type: "flatbuffers::Offset<\n      flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>>"
      - name: "DeserializeAttributes(Parser &parser,\n                             const
          Vector<Offset<reflection::KeyValue>> *attrs)"
        type: bool
      - name: name
        type: std::string
      - name: file
        type: std::string
      - name: doc_comment
        type: std::vector<std::string>
      - name: attributes
        type: SymbolTable<Value>
      - name: generated
        type: bool
      - name: '*defined_namespace'
        type: Namespace
      - name: serialized_location
        type: uoffset_t
      - name: index
        type: int
      - name: refcount
        type: int
      - name: '*declaration_file'
        type: std::string
      item_type: struct
      name: Definition
      pos:
        line_end: 319
        line_start: 291
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder, uint16_t id,\n                                      const
          Parser &parser) const"
        type: Offset<reflection::Field>
      - name: Deserialize(Parser &parser, const reflection::Field *field)
        type: bool
      - name: value
        type: Value
      - name: deprecated
        type: bool
      - name: key
        type: bool
      - name: shared
        type: bool
      - name: native_inline
        type: bool
      - name: flexbuffer
        type: bool
      - name: presence
        type: Presence
      - name: '*nested_flatbuffer'
        type: StructDef
      - name: padding
        type: size_t
      - name: '*sibling_union_field'
        type: FieldDef
      item_type: struct
      name: FieldDef
      pos:
        line_end: 382
        line_start: 321
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                       const
          Parser &parser) const"
        type: Offset<reflection::Object>
      - name: Deserialize(Parser &parser, const reflection::Object *object)
        type: bool
      - name: fields
        type: SymbolTable<FieldDef>
      - name: fixed
        type: bool
      - name: predecl
        type: bool
      - name: sortbysize
        type: bool
      - name: has_key
        type: bool
      - name: minalign
        type: size_t
      - name: bytesize
        type: size_t
      - name: original_location
        type: flatbuffers::unique_ptr<std::string>
      - name: reserved_ids
        type: std::vector<voffset_t>
      item_type: struct
      name: StructDef
      pos:
        line_end: 415
        line_start: 384
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::EnumVal>
      - name: Deserialize(Parser &parser, const reflection::EnumVal *val)
        type: bool
      - name: SerializeAttributes(FlatBufferBuilder *builder, const Parser &parser)
          const
        type: "flatbuffers::Offset<\n      flatbuffers::Vector<flatbuffers::Offset<reflection::KeyValue>>>"
      - name: "DeserializeAttributes(Parser &parser,\n                             const
          Vector<Offset<reflection::KeyValue>> *attrs)"
        type: bool
      - name: name
        type: std::string
      - name: doc_comment
        type: std::vector<std::string>
      - name: union_type
        type: Type
      - name: attributes
        type: SymbolTable<Value>
      - name: value
        type: int64_t
      item_type: struct
      name: EnumVal
      pos:
        line_end: 452
        line_start: 420
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                     const
          Parser &parser) const"
        type: Offset<reflection::Enum>
      - name: Deserialize(Parser &parser, const reflection::Enum *values)
        type: bool
      - name: SortByValue()
        type: void
      - name: RemoveDuplicates()
        type: void
      - name: AllFlags() const
        type: std::string
      - name: '*MinValue() const'
        type: EnumVal
      - name: '*MaxValue() const'
        type: EnumVal
      - name: Distance(const EnumVal *v1, const EnumVal *v2) const
        type: uint64_t
      - name: "*ReverseLookup(int64_t enum_idx,\n                         bool skip_union_default
          = false) const"
        type: EnumVal
      - name: '*FindByValue(const std::string &constant) const'
        type: EnumVal
      - name: is_union
        type: bool
      - name: uses_multiple_type_instances
        type: bool
      - name: underlying_type
        type: Type
      - name: vals
        type: SymbolTable<EnumVal>
      item_type: struct
      name: EnumDef
      pos:
        line_end: 504
        line_start: 454
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::RPCCall>
      - name: Deserialize(Parser &parser, const reflection::RPCCall *call)
        type: bool
      - name: '*request'
        type: StructDef
      item_type: struct
      name: RPCCall
      pos:
        line_end: 596
        line_start: 589
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: "Serialize(FlatBufferBuilder *builder,\n                                        const
          Parser &parser) const"
        type: Offset<reflection::Service>
      - name: Deserialize(Parser &parser, const reflection::Service *service)
        type: bool
      - name: calls
        type: SymbolTable<RPCCall>
      item_type: struct
      name: ServiceDef
      pos:
        line_end: 604
        line_start: 598
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: schema_name
        type: std::string
      - name: filename
        type: std::string
      item_type: struct
      name: IncludedFile
      pos:
        line_end: 617
        line_start: 606
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: gen_jvmstatic
        type: bool
      - name: use_flexbuffers
        type: bool
      - name: strict_json
        type: bool
      - name: output_default_scalars_in_json
        type: bool
      - name: indent_step
        type: int
      - name: cpp_minify_enums
        type: bool
      - name: output_enum_identifiers
        type: bool
      - name: prefixed_enums
        type: bool
      - name: scoped_enums
        type: bool
      - name: emit_min_max_enum_values
        type: bool
      - name: swift_implementation_only
        type: bool
      - name: include_dependence_headers
        type: bool
      - name: mutable_buffer
        type: bool
      - name: one_file
        type: bool
      - name: proto_mode
        type: bool
      - name: proto_oneof_union
        type: bool
      - name: generate_all
        type: bool
      - name: skip_unexpected_fields_in_json
        type: bool
      - name: generate_name_strings
        type: bool
      - name: generate_object_based_api
        type: bool
      - name: gen_compare
        type: bool
      - name: cpp_object_api_pointer_type
        type: std::string
      - name: cpp_object_api_string_type
        type: std::string
      - name: cpp_object_api_string_flexible_constructor
        type: bool
      - name: cpp_object_api_field_case_style
        type: CaseStyle
      - name: cpp_direct_copy
        type: bool
      - name: gen_nullable
        type: bool
      - name: java_package_prefix
        type: std::string
      - name: java_checkerframework
        type: bool
      - name: gen_generated
        type: bool
      - name: gen_json_coders
        type: bool
      - name: object_prefix
        type: std::string
      - name: object_suffix
        type: std::string
      - name: union_value_namespacing
        type: bool
      - name: allow_non_utf8
        type: bool
      - name: natural_utf8
        type: bool
      - name: include_prefix
        type: std::string
      - name: keep_prefix
        type: bool
      - name: binary_schema_comments
        type: bool
      - name: binary_schema_builtins
        type: bool
      - name: binary_schema_gen_embed
        type: bool
      - name: go_import
        type: std::string
      - name: go_namespace
        type: std::string
      - name: go_module_name
        type: std::string
      - name: protobuf_ascii_alike
        type: bool
      - name: size_prefixed
        type: bool
      - name: root_type
        type: std::string
      - name: force_defaults
        type: bool
      - name: java_primitive_has_method
        type: bool
      - name: cs_gen_json_serializer
        type: bool
      - name: cpp_includes
        type: std::vector<std::string>
      - name: cpp_std
        type: std::string
      - name: cpp_static_reflection
        type: bool
      - name: proto_namespace_suffix
        type: std::string
      - name: filename_suffix
        type: std::string
      - name: filename_extension
        type: std::string
      - name: no_warnings
        type: bool
      - name: warnings_as_errors
        type: bool
      - name: project_root
        type: std::string
      - name: cs_global_alias
        type: bool
      - name: json_nested_flatbuffers
        type: bool
      - name: json_nested_flexbuffers
        type: bool
      - name: json_nested_legacy_flatbuffers
        type: bool
      - name: ts_flat_files
        type: bool
      - name: ts_entry_points
        type: bool
      - name: ts_no_import_ext
        type: bool
      - name: no_leak_private_annotations
        type: bool
      - name: require_json_eof
        type: bool
      - name: keep_proto_id
        type: bool
      - name: proto_id_gap_action
        type: ProtoIdGapAction
      - name: mini_reflect
        type: MiniReflect
      - name: require_explicit_ids
        type: bool
      - name: rust_serialize
        type: bool
      - name: rust_module_root_file
        type: bool
      - name: lang_to_generate
        type: unsigned long
      - name: set_empty_strings_to_null
        type: bool
      - name: set_empty_vectors_to_null
        type: bool
      item_type: struct
      name: IDLOptions
      pos:
        line_end: 816
        line_start: 625
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    - fields:
      - name: '*prev_cursor_'
        type: char
      - name: '*cursor_'
        type: char
      - name: '*line_start_'
        type: char
      - name: line_
        type: int
      - name: token_
        type: int
      - name: attr_is_trivial_ascii_string_
        type: bool
      - name: attribute_
        type: std::string
      - name: doc_comment_
        type: std::vector<std::string>
      item_type: struct
      name: ParserState
      pos:
        line_end: 858
        line_start: 819
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/idl.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::FlatCompiler::InitParams
  - flatbuffers::FlatCompiler::FlatCompiler
  - flatbuffers::FlatCompiler::InitParams
  - flatbuffers::FlatCompiler::FlatCompiler
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: opts
        type: IDLOptions
      - name: program_name
        type: std::string
      - name: output_path
        type: std::string
      - name: filenames
        type: std::vector<std::string>
      - name: include_directories_storage
        type: std::list<std::string>
      - name: include_directories
        type: std::vector<const char *>
      - name: conform_include_directories
        type: std::vector<const char *>
      - name: generator_enabled
        type: std::vector<bool>
      - name: binary_files_from
        type: size_t
      - name: conform_to_schema
        type: std::string
      - name: annotate_schema
        type: std::string
      - name: annotate_include_vector_contents
        type: bool
      - name: any_generator
        type: bool
      - name: print_make_rules
        type: bool
      - name: raw_binary
        type: bool
      - name: schema_binary
        type: bool
      - name: grpc_enabled
        type: bool
      - name: requires_bfbs
        type: bool
      - name: generators
        type: std::vector<std::shared_ptr<CodeGenerator>>
      item_type: struct
      name: FlatCOptions
      pos:
        line_end: 60
        line_start: 35
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    - fields:
      - name: short_opt
        type: std::string
      - name: long_opt
        type: std::string
      - name: parameter
        type: std::string
      - name: description
        type: std::string
      item_type: struct
      name: FlatCOption
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    - fields:
      - name: warn_fn
        type: WarnFn
      - name: error_fn
        type: ErrorFn
      item_type: struct
      name: InitParams
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    - fields:
      - name: opts
        type: IDLOptions
      - name: program_name
        type: std::string
      - name: output_path
        type: std::string
      - name: filenames
        type: std::vector<std::string>
      - name: include_directories_storage
        type: std::list<std::string>
      - name: include_directories
        type: std::vector<const char *>
      - name: conform_include_directories
        type: std::vector<const char *>
      - name: generator_enabled
        type: std::vector<bool>
      - name: binary_files_from
        type: size_t
      - name: conform_to_schema
        type: std::string
      - name: annotate_schema
        type: std::string
      - name: annotate_include_vector_contents
        type: bool
      - name: any_generator
        type: bool
      - name: print_make_rules
        type: bool
      - name: raw_binary
        type: bool
      - name: schema_binary
        type: bool
      - name: grpc_enabled
        type: bool
      - name: requires_bfbs
        type: bool
      - name: generators
        type: std::vector<std::shared_ptr<CodeGenerator>>
      item_type: struct
      name: FlatCOptions
      pos:
        line_end: 60
        line_start: 35
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    - fields:
      - name: short_opt
        type: std::string
      - name: long_opt
        type: std::string
      - name: parameter
        type: std::string
      - name: description
        type: std::string
      item_type: struct
      name: FlatCOption
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    - fields:
      - name: warn_fn
        type: WarnFn
      - name: error_fn
        type: ErrorFn
      item_type: struct
      name: InitParams
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
    typedefs:
    - item_type: typedef
      name: "(*WarnFn)(const FlatCompiler *flatc, const std::string &warn,\n                         bool
        show_exe_name)"
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
      type: void
    - item_type: typedef
      name: "(*ErrorFn)(const FlatCompiler *flatc, const std::string &err,\n                          bool
        usage, bool show_exe_name)"
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
      type: void
    - item_type: typedef
      name: "(*WarnFn)(const FlatCompiler *flatc, const std::string &warn,\n                         bool
        show_exe_name)"
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
      type: void
    - item_type: typedef
      name: "(*ErrorFn)(const FlatCompiler *flatc, const std::string &err,\n                          bool
        usage, bool show_exe_name)"
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatc.h
      type: void
    union: []
- function_names:
  - flexbuffers::IsInline
  - flexbuffers::IsTypedVectorElementType
  - flexbuffers::IsTypedVector
  - flexbuffers::IsFixedTypedVector
  - flexbuffers::ToTypedVector
  - flexbuffers::ToTypedVectorElementType
  - flexbuffers::ToFixedTypedVectorElementType
  - flexbuffers::ReadSizedScalar
  - flexbuffers::ReadInt64
  - flexbuffers::ReadUInt64
  - flexbuffers::ReadDouble
  - flexbuffers::Indirect
  - flexbuffers::Indirect
  - flexbuffers::WidthU
  - FLATBUFFERS_GET_FIELD_BIT_WIDTH
  - flexbuffers::WidthI
  - flexbuffers::WidthF
  - flexbuffers::Object::Object
  - flexbuffers::Sized::Sized
  - flexbuffers::Sized::Sized
  - flexbuffers::Sized::size
  - flexbuffers::Sized::read_size
  - flexbuffers::String::String
  - flexbuffers::String::String
  - flexbuffers::String::length
  - flexbuffers::String::c_str
  - flexbuffers::String::str
  - flexbuffers::String::EmptyString
  - flexbuffers::String::IsTheEmptyString
  - flexbuffers::Blob::Blob
  - flexbuffers::Blob::EmptyBlob
  - flexbuffers::Blob::IsTheEmptyBlob
  - flexbuffers::Blob::data
  - flexbuffers::Vector::Vector
  - flexbuffers::Vector::EmptyVector
  - flexbuffers::Vector::IsTheEmptyVector
  - flexbuffers::TypedVector::TypedVector
  - flexbuffers::TypedVector::EmptyTypedVector
  - flexbuffers::TypedVector::IsTheEmptyVector
  - flexbuffers::TypedVector::ElementType
  - flexbuffers::FixedTypedVector::FixedTypedVector
  - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
  - flexbuffers::FixedTypedVector::IsTheEmptyFixedTypedVector
  - flexbuffers::FixedTypedVector::ElementType
  - flexbuffers::FixedTypedVector::size
  - flexbuffers::Map::Map
  - flexbuffers::Map::Values
  - flexbuffers::Map::Keys
  - flexbuffers::Map::EmptyMap
  - flexbuffers::Map::IsTheEmptyMap
  - flexbuffers::AppendToString
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::GetType
  - flexbuffers::Reference::IsNull
  - flexbuffers::Reference::IsBool
  - flexbuffers::Reference::IsInt
  - flexbuffers::Reference::IsUInt
  - flexbuffers::Reference::IsIntOrUint
  - flexbuffers::Reference::IsFloat
  - flexbuffers::Reference::IsNumeric
  - flexbuffers::Reference::IsString
  - flexbuffers::Reference::IsKey
  - flexbuffers::Reference::IsVector
  - flexbuffers::Reference::IsUntypedVector
  - flexbuffers::Reference::IsTypedVector
  - flexbuffers::Reference::IsFixedTypedVector
  - flexbuffers::Reference::IsAnyVector
  - flexbuffers::Reference::IsMap
  - flexbuffers::Reference::IsBlob
  - flexbuffers::Reference::AsBool
  - flexbuffers::Reference::AsInt64
  - flexbuffers::Reference::AsInt32
  - flexbuffers::Reference::AsInt16
  - flexbuffers::Reference::AsInt8
  - flexbuffers::Reference::AsUInt64
  - flexbuffers::Reference::AsUInt32
  - flexbuffers::Reference::AsUInt16
  - flexbuffers::Reference::AsUInt8
  - flexbuffers::Reference::AsDouble
  - flexbuffers::Reference::AsFloat
  - flexbuffers::Reference::AsKey
  - flexbuffers::Reference::AsString
  - flexbuffers::Reference::ToString
  - flexbuffers::Reference::ToString
  - flexbuffers::Reference::AsBlob
  - flexbuffers::Reference::AsVector
  - flexbuffers::Reference::AsTypedVector
  - flexbuffers::Reference::AsFixedTypedVector
  - flexbuffers::Reference::AsMap
  - flexbuffers::Reference::MutateInt
  - flexbuffers::Reference::MutateBool
  - flexbuffers::Reference::MutateUInt
  - flexbuffers::Reference::MutateFloat
  - flexbuffers::Reference::MutateFloat
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::Indirect
  - flexbuffers::Reference::Mutate
  - flexbuffers::Reference::MutateF
  - Reference::As<bool>() const
  - Reference::As<int8_t>() const
  - Reference::As<int16_t>() const
  - Reference::As<int32_t>() const
  - Reference::As<int64_t>() const
  - Reference::As<uint8_t>() const
  - Reference::As<uint16_t>() const
  - Reference::As<uint32_t>() const
  - Reference::As<uint64_t>() const
  - Reference::As<double>() const
  - Reference::As<float>() const
  - Reference::As<String>() const
  - Reference::As<std::string>() const
  - Reference::As<Blob>() const
  - Reference::As<Vector>() const
  - Reference::As<TypedVector>() const
  - Reference::As<FixedTypedVector>() const
  - Reference::As<Map>() const
  - flexbuffers::PackedType
  - flexbuffers::NullPackedType
  - Vector::operator[](size_t i) const
  - TypedVector::operator[](size_t i) const
  - FixedTypedVector::operator[](size_t i) const
  - flexbuffers::KeyCompare
  - Map::operator[](const char *key) const
  - Map::operator[](const std::string &key) const
  - flexbuffers::GetRoot
  - flexbuffers::GetRoot
  - flexbuffers::FLATBUFFERS_FINAL_CLASS
  - flexbuffers::Builder
  - flexbuffers::GetBuffer
  - flexbuffers::GetSize
  - flexbuffers::Clear
  - flexbuffers::Null
  - flexbuffers::Null
  - flexbuffers::Int
  - flexbuffers::Int
  - flexbuffers::UInt
  - flexbuffers::UInt
  - flexbuffers::Float
  - flexbuffers::Float
  - flexbuffers::Double
  - flexbuffers::Double
  - flexbuffers::Bool
  - flexbuffers::Bool
  - flexbuffers::IndirectInt
  - flexbuffers::IndirectInt
  - flexbuffers::IndirectUInt
  - flexbuffers::IndirectUInt
  - flexbuffers::IndirectFloat
  - flexbuffers::IndirectFloat
  - flexbuffers::IndirectDouble
  - flexbuffers::IndirectDouble
  - flexbuffers::Key
  - flexbuffers::Key
  - flexbuffers::Key
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::StartVector
  - flexbuffers::StartVector
  - flexbuffers::StartMap
  - flexbuffers::StartMap
  - flexbuffers::EndVector
  - flexbuffers::EndMap
  - flexbuffers::HasDuplicateKeys
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::FixedTypedVector
  - flexbuffers::FixedTypedVector
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::LastValue
  - flexbuffers::ReuseValue
  - flexbuffers::ReuseValue
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - operator+=(const T &t)
  - flexbuffers::ForceMinimumBitWidth
  - flexbuffers::Finish
  - flexbuffers::IsInline
  - flexbuffers::IsTypedVectorElementType
  - flexbuffers::IsTypedVector
  - flexbuffers::IsFixedTypedVector
  - flexbuffers::ToTypedVector
  - flexbuffers::ToTypedVectorElementType
  - flexbuffers::ToFixedTypedVectorElementType
  - flexbuffers::ReadSizedScalar
  - flexbuffers::ReadInt64
  - flexbuffers::ReadUInt64
  - flexbuffers::ReadDouble
  - flexbuffers::Indirect
  - flexbuffers::Indirect
  - flexbuffers::WidthU
  - FLATBUFFERS_GET_FIELD_BIT_WIDTH
  - flexbuffers::WidthI
  - flexbuffers::WidthF
  - flexbuffers::Object::Object
  - flexbuffers::Sized::Sized
  - flexbuffers::Sized::Sized
  - flexbuffers::Sized::size
  - flexbuffers::Sized::read_size
  - flexbuffers::String::String
  - flexbuffers::String::String
  - flexbuffers::String::length
  - flexbuffers::String::c_str
  - flexbuffers::String::str
  - flexbuffers::String::EmptyString
  - flexbuffers::String::IsTheEmptyString
  - flexbuffers::Blob::Blob
  - flexbuffers::Blob::EmptyBlob
  - flexbuffers::Blob::IsTheEmptyBlob
  - flexbuffers::Blob::data
  - flexbuffers::Vector::Vector
  - flexbuffers::Vector::EmptyVector
  - flexbuffers::Vector::IsTheEmptyVector
  - flexbuffers::TypedVector::TypedVector
  - flexbuffers::TypedVector::EmptyTypedVector
  - flexbuffers::TypedVector::IsTheEmptyVector
  - flexbuffers::TypedVector::ElementType
  - flexbuffers::FixedTypedVector::FixedTypedVector
  - flexbuffers::FixedTypedVector::EmptyFixedTypedVector
  - flexbuffers::FixedTypedVector::IsTheEmptyFixedTypedVector
  - flexbuffers::FixedTypedVector::ElementType
  - flexbuffers::FixedTypedVector::size
  - flexbuffers::Map::Map
  - flexbuffers::Map::Values
  - flexbuffers::Map::Keys
  - flexbuffers::Map::EmptyMap
  - flexbuffers::Map::IsTheEmptyMap
  - flexbuffers::AppendToString
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::Reference
  - flexbuffers::Reference::GetType
  - flexbuffers::Reference::IsNull
  - flexbuffers::Reference::IsBool
  - flexbuffers::Reference::IsInt
  - flexbuffers::Reference::IsUInt
  - flexbuffers::Reference::IsIntOrUint
  - flexbuffers::Reference::IsFloat
  - flexbuffers::Reference::IsNumeric
  - flexbuffers::Reference::IsString
  - flexbuffers::Reference::IsKey
  - flexbuffers::Reference::IsVector
  - flexbuffers::Reference::IsUntypedVector
  - flexbuffers::Reference::IsTypedVector
  - flexbuffers::Reference::IsFixedTypedVector
  - flexbuffers::Reference::IsAnyVector
  - flexbuffers::Reference::IsMap
  - flexbuffers::Reference::IsBlob
  - flexbuffers::Reference::AsBool
  - flexbuffers::Reference::AsInt64
  - flexbuffers::Reference::AsInt32
  - flexbuffers::Reference::AsInt16
  - flexbuffers::Reference::AsInt8
  - flexbuffers::Reference::AsUInt64
  - flexbuffers::Reference::AsUInt32
  - flexbuffers::Reference::AsUInt16
  - flexbuffers::Reference::AsUInt8
  - flexbuffers::Reference::AsDouble
  - flexbuffers::Reference::AsFloat
  - flexbuffers::Reference::AsKey
  - flexbuffers::Reference::AsString
  - flexbuffers::Reference::ToString
  - flexbuffers::Reference::ToString
  - flexbuffers::Reference::AsBlob
  - flexbuffers::Reference::AsVector
  - flexbuffers::Reference::AsTypedVector
  - flexbuffers::Reference::AsFixedTypedVector
  - flexbuffers::Reference::AsMap
  - flexbuffers::Reference::MutateInt
  - flexbuffers::Reference::MutateBool
  - flexbuffers::Reference::MutateUInt
  - flexbuffers::Reference::MutateFloat
  - flexbuffers::Reference::MutateFloat
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::MutateString
  - flexbuffers::Reference::Indirect
  - flexbuffers::Reference::Mutate
  - flexbuffers::Reference::MutateF
  - Reference::As<bool>() const
  - Reference::As<int8_t>() const
  - Reference::As<int16_t>() const
  - Reference::As<int32_t>() const
  - Reference::As<int64_t>() const
  - Reference::As<uint8_t>() const
  - Reference::As<uint16_t>() const
  - Reference::As<uint32_t>() const
  - Reference::As<uint64_t>() const
  - Reference::As<double>() const
  - Reference::As<float>() const
  - Reference::As<String>() const
  - Reference::As<std::string>() const
  - Reference::As<Blob>() const
  - Reference::As<Vector>() const
  - Reference::As<TypedVector>() const
  - Reference::As<FixedTypedVector>() const
  - Reference::As<Map>() const
  - flexbuffers::PackedType
  - flexbuffers::NullPackedType
  - Vector::operator[](size_t i) const
  - TypedVector::operator[](size_t i) const
  - FixedTypedVector::operator[](size_t i) const
  - flexbuffers::KeyCompare
  - Map::operator[](const char *key) const
  - Map::operator[](const std::string &key) const
  - flexbuffers::GetRoot
  - flexbuffers::GetRoot
  - flexbuffers::FLATBUFFERS_FINAL_CLASS
  - flexbuffers::Builder
  - flexbuffers::GetBuffer
  - flexbuffers::GetSize
  - flexbuffers::Clear
  - flexbuffers::Null
  - flexbuffers::Null
  - flexbuffers::Int
  - flexbuffers::Int
  - flexbuffers::UInt
  - flexbuffers::UInt
  - flexbuffers::Float
  - flexbuffers::Float
  - flexbuffers::Double
  - flexbuffers::Double
  - flexbuffers::Bool
  - flexbuffers::Bool
  - flexbuffers::IndirectInt
  - flexbuffers::IndirectInt
  - flexbuffers::IndirectUInt
  - flexbuffers::IndirectUInt
  - flexbuffers::IndirectFloat
  - flexbuffers::IndirectFloat
  - flexbuffers::IndirectDouble
  - flexbuffers::IndirectDouble
  - flexbuffers::Key
  - flexbuffers::Key
  - flexbuffers::Key
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::String
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::Blob
  - flexbuffers::StartVector
  - flexbuffers::StartVector
  - flexbuffers::StartMap
  - flexbuffers::StartMap
  - flexbuffers::EndVector
  - flexbuffers::EndMap
  - flexbuffers::HasDuplicateKeys
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::Vector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::TypedVector
  - flexbuffers::FixedTypedVector
  - flexbuffers::FixedTypedVector
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::Map
  - flexbuffers::LastValue
  - flexbuffers::ReuseValue
  - flexbuffers::ReuseValue
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - flexbuffers::Add
  - operator+=(const T &t)
  - flexbuffers::ForceMinimumBitWidth
  - flexbuffers::Finish
  - Align
  - WriteBytes
  - Write
  - WriteDouble
  - WriteOffset
  - PushIndirect
  - WidthB
  - GetScalarType
  - Value
  - Value
  - Value
  - Value
  - Value
  - Value
  - StoredPackedType
  - ElemWidth
  - StoredWidth
  - CreateBlob
  - ScalarVector
  - CreateVector
  - KeyOffsetCompare
  - operator()(size_t a, size_t b) const
  - StringOffsetCompare
  - operator()(const StringOffset &a, const StringOffset &b) const
  - FLATBUFFERS_FINAL_CLASS
  - VerifyFrom
  - VerifyBefore
  - VerifyFromPointer
  - VerifyBeforePointer
  - VerifyByteWidth
  - VerifyType
  - VerifyOffset
  - VerifyAlignment
  - FLEX_CHECK_VERIFIED
  - VerifyVector
  - VerifyKeys
  - VerifyKey
  - VerifyTerminator
  - VerifyRef
  - VerifyBuffer
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
  types:
    enum:
    - enumerators:
      - name: BIT_WIDTH_8
        value: '0'
      - name: BIT_WIDTH_16
        value: '1'
      - name: BIT_WIDTH_32
        value: '2'
      - name: BIT_WIDTH_64
        value: '3'
      item_type: enum
      name: BitWidth
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - enumerators:
      - name: FBT_INT
        value: '1'
      - name: FBT_INDIRECT_FLOAT
        value: '8'
      - name: FBT_VECTOR_KEY
        value: '14'
      - name: FBT_VECTOR_UINT2
        value: '17'
      - name: FBT_VECTOR_UINT3
        value: '20'
      - name: FBT_VECTOR_UINT4
        value: '23'
      - name: FBT_BOOL
        value: '26'
      - name: FBT_UINT
        value: '2'
      - name: FBT_STRING
        value: '5'
      - name: FBT_MAP
        value: '9'
      - name: FBT_VECTOR_STRING_DEPRECATED
        value: '15'
      - name: FBT_VECTOR_UINT
        value: '12'
      - name: FBT_VECTOR_BOOL
        value: '36'
      - name: FBT_NULL
        value: '0'
      - name: FBT_FLOAT
        value: '3'
      - name: FBT_INDIRECT_INT
        value: '6'
      - name: FBT_VECTOR
        value: '10'
      - name: FBT_VECTOR_FLOAT2
        value: '18'
      - name: FBT_VECTOR_FLOAT3
        value: '21'
      - name: FBT_VECTOR_FLOAT4
        value: '24'
      - name: FBT_MAX_TYPE
        value: '37'
      - name: FBT_KEY
        value: '4'
      - name: FBT_INDIRECT_UINT
        value: '7'
      - name: FBT_VECTOR_FLOAT
        value: '13'
      - name: FBT_VECTOR_INT
        value: '11'
      - name: FBT_VECTOR_INT2
        value: '16'
      - name: FBT_VECTOR_INT3
        value: '19'
      - name: FBT_VECTOR_INT4
        value: '22'
      - name: FBT_BLOB
        value: '25'
      item_type: enum
      name: Type
      pos:
        line_end: 86
        line_start: 51
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - enumerators:
      - name: BUILDER_FLAG_NONE
        value: '0'
      - name: BUILDER_FLAG_SHARE_KEYS
        value: '1'
      - name: BUILDER_FLAG_SHARE_STRINGS
        value: '2'
      - name: BUILDER_FLAG_SHARE_KEYS_AND_STRINGS
        value: '3'
      - name: BUILDER_FLAG_SHARE_KEY_VECTORS
        value: '4'
      - name: BUILDER_FLAG_SHARE_ALL
        value: '7'
      item_type: enum
      name: BuilderFlag
      pos:
        line_end: 915
        line_start: 908
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - enumerators:
      - name: BIT_WIDTH_8
        value: '0'
      - name: BIT_WIDTH_16
        value: '1'
      - name: BIT_WIDTH_32
        value: '2'
      - name: BIT_WIDTH_64
        value: '3'
      item_type: enum
      name: BitWidth
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - enumerators:
      - name: FBT_INT
        value: '1'
      - name: FBT_INDIRECT_FLOAT
        value: '8'
      - name: FBT_VECTOR_KEY
        value: '14'
      - name: FBT_VECTOR_UINT2
        value: '17'
      - name: FBT_VECTOR_UINT3
        value: '20'
      - name: FBT_VECTOR_UINT4
        value: '23'
      - name: FBT_BOOL
        value: '26'
      - name: FBT_UINT
        value: '2'
      - name: FBT_STRING
        value: '5'
      - name: FBT_MAP
        value: '9'
      - name: FBT_VECTOR_STRING_DEPRECATED
        value: '15'
      - name: FBT_VECTOR_UINT
        value: '12'
      - name: FBT_VECTOR_BOOL
        value: '36'
      - name: FBT_NULL
        value: '0'
      - name: FBT_FLOAT
        value: '3'
      - name: FBT_INDIRECT_INT
        value: '6'
      - name: FBT_VECTOR
        value: '10'
      - name: FBT_VECTOR_FLOAT2
        value: '18'
      - name: FBT_VECTOR_FLOAT3
        value: '21'
      - name: FBT_VECTOR_FLOAT4
        value: '24'
      - name: FBT_MAX_TYPE
        value: '37'
      - name: FBT_KEY
        value: '4'
      - name: FBT_INDIRECT_UINT
        value: '7'
      - name: FBT_VECTOR_FLOAT
        value: '13'
      - name: FBT_VECTOR_INT
        value: '11'
      - name: FBT_VECTOR_INT2
        value: '16'
      - name: FBT_VECTOR_INT3
        value: '19'
      - name: FBT_VECTOR_INT4
        value: '22'
      - name: FBT_BLOB
        value: '25'
      item_type: enum
      name: Type
      pos:
        line_end: 86
        line_start: 51
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - enumerators:
      - name: BUILDER_FLAG_NONE
        value: '0'
      - name: BUILDER_FLAG_SHARE_KEYS
        value: '1'
      - name: BUILDER_FLAG_SHARE_STRINGS
        value: '2'
      - name: BUILDER_FLAG_SHARE_KEYS_AND_STRINGS
        value: '3'
      - name: BUILDER_FLAG_SHARE_KEY_VECTORS
        value: '4'
      - name: BUILDER_FLAG_SHARE_ALL
        value: '7'
      item_type: enum
      name: BuilderFlag
      pos:
        line_end: 915
        line_start: 908
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    preproc_defs: []
    structs:
    - fields:
      - name: key
        type: Value
      - name: val
        type: Value
      item_type: struct
      name: TwoValue
      pos:
        line_end: 1143
        line_start: 1140
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - fields:
      - name: key
        type: Value
      - name: val
        type: Value
      item_type: struct
      name: TwoValue
      pos:
        line_end: 1143
        line_start: 1140
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - fields:
      - name: type_
        type: Type
      - name: min_bit_width_
        type: BitWidth
      item_type: struct
      name: Value
      pos:
        line_end: 1506
        line_start: 1436
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - fields:
      - name: '*buf_'
        type: std::vector<uint8_t>
      item_type: struct
      name: KeyOffsetCompare
      pos:
        line_end: 1631
        line_start: 1623
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - fields:
      - name: '*buf_'
        type: std::vector<uint8_t>
      item_type: struct
      name: StringOffsetCompare
      pos:
        line_end: 1644
        line_start: 1634
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    typedefs:
    - item_type: typedef
      name: half
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
      type: int16_t
    - item_type: typedef
      name: quarter
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
      type: int8_t
    - item_type: typedef
      name: half
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
      type: int16_t
    - item_type: typedef
      name: quarter
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
      type: int8_t
    - item_type: typedef
      name: StringOffset
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - item_type: typedef
      name: KeyOffsetMap
      pos:
        line_end: 1646
        line_start: 1646
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    - item_type: typedef
      name: StringOffsetMap
      pos:
        line_end: 1647
        line_start: 1647
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flexbuffers.h
    union: []
- function_names:
  - operator T*() const
  - FLATBUFFERS_STRING_EXPAND
  - FLATBUFFERS_STRING
  - FLATBUFFERS_DELETE_FUNC
  - FLATBUFFERS_DELETE_FUNC
  - __suppress_ubsan__
  - __suppress_ubsan__
  - IsConstTrue
  - FLATBUFFERS_ATTRIBUTE
  - FLATBUFFERS_FALLTHROUGH
  - FLATBUFFERS_FALLTHROUGH
  - FLATBUFFERS_FALLTHROUGH
  - flatbuffers::VerifyAlignmentRequirements
  - flatbuffers::EndianSwap
  - FLATBUFFERS_BYTESWAP64
  - FLATBUFFERS_BYTESWAP16
  - flatbuffers::EndianScalar
  - flatbuffers::ReadScalar
  - flatbuffers::WriteScalar
  - flatbuffers::WriteScalar
  - flatbuffers::PaddingBytes
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsFloatTheSameAs
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsOutRange
  - flatbuffers::IsInRange
  - flatbuffers::VerifyAlignmentRequirements
  - flatbuffers::EndianSwap
  - FLATBUFFERS_BYTESWAP64
  - FLATBUFFERS_BYTESWAP16
  - flatbuffers::EndianScalar
  - flatbuffers::ReadScalar
  - flatbuffers::WriteScalar
  - flatbuffers::WriteScalar
  - flatbuffers::PaddingBytes
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsFloatTheSameAs
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsTheSameAs
  - flatbuffers::IsOutRange
  - flatbuffers::IsInRange
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_NEW
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: new(_NORMAL_BLOCK, __FILE__, __LINE__)
    - item_type: preproc_def
      name: new
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: DEBUG_NEW
    - item_type: preproc_def
      name: FLATBUFFERS_ASSERT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: assert
    - item_type: preproc_def
      name: FLATBUFFERS_GCC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
    - item_type: preproc_def
      name: FLATBUFFERS_GCC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_CLANG
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
    - item_type: preproc_def
      name: FLATBUFFERS_CLANG
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: constexpr
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: const
    - item_type: preproc_def
      name: FLATBUFFERS_LITTLEENDIAN
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_LITTLEENDIAN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_LITTLEENDIAN
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_LITTLEENDIAN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_LITTLEENDIAN
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_VERSION_MAJOR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '23'
    - item_type: preproc_def
      name: FLATBUFFERS_VERSION_MINOR
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FLATBUFFERS_VERSION_REVISION
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '3'
    - item_type: preproc_def
      name: FLATBUFFERS_FINAL_CLASS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: final
    - item_type: preproc_def
      name: FLATBUFFERS_OVERRIDE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: override
    - item_type: preproc_def
      name: FLATBUFFERS_EXPLICIT_CPP11
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: explicit
    - item_type: preproc_def
      name: FLATBUFFERS_VTABLE_UNDERLYING_TYPE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: ': flatbuffers::voffset_t'
    - item_type: preproc_def
      name: FLATBUFFERS_CONSTEXPR
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: FLATBUFFERS_CONSTEXPR_CPP11
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: FLATBUFFERS_CONSTEXPR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: const
    - item_type: preproc_def
      name: FLATBUFFERS_CONSTEXPR_CPP14
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: FLATBUFFERS_CONSTEXPR_CPP11
    - item_type: preproc_def
      name: FLATBUFFERS_NOEXCEPT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: noexcept
    - item_type: preproc_def
      name: FLATBUFFERS_HAS_STRING_VIEW
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_HAS_STRING_VIEW
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_HAS_STRING_VIEW
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_GENERAL_HEAP_ALLOC_OK
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_HAS_NEW_STRTOD
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_LOCALE_INDEPENDENT
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_LOCALE_INDEPENDENT
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_MAX_BUFFER_SIZE
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: ((1ULL << (sizeof(::flatbuffers::soffset_t) * 8 - 1)) - 1)
    - item_type: preproc_def
      name: FLATBUFFERS_MIN_BUFFER_SIZE
      pos:
        line_end: 339
        line_start: 337
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: "sizeof(uoffset_t) + sizeof(soffset_t) + \\\n   sizeof(uint16_t)
        + sizeof(uint16_t)"
    - item_type: preproc_def
      name: FLATBUFFERS_MAX_ALIGNMENT
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_ushort
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_ulong
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP64
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_uint64
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __REV16
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __REV
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap16
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap32
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP64
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap64
    - item_type: preproc_def
      name: FLATBUFFERS_MAX_BUFFER_SIZE
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: ((1ULL << (sizeof(::flatbuffers::soffset_t) * 8 - 1)) - 1)
    - item_type: preproc_def
      name: FLATBUFFERS_MIN_BUFFER_SIZE
      pos:
        line_end: 339
        line_start: 337
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: "sizeof(uoffset_t) + sizeof(soffset_t) + \\\n   sizeof(uint16_t)
        + sizeof(uint16_t)"
    - item_type: preproc_def
      name: FLATBUFFERS_MAX_ALIGNMENT
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_ushort
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_ulong
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP64
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: _byteswap_uint64
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __REV16
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __REV
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP16
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap16
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP32
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap32
    - item_type: preproc_def
      name: FLATBUFFERS_BYTESWAP64
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type_or_value: __builtin_bswap64
    structs: []
    typedefs:
    - item_type: typedef
      name: string_view
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: string_view
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: string_view
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: string_view
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: string_view
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: string_view
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: uoffset_t
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: uint32_t
    - item_type: typedef
      name: soffset_t
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: int32_t
    - item_type: typedef
      name: voffset_t
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: uint16_t
    - item_type: typedef
      name: largest_scalar_t
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - item_type: typedef
      name: uoffset_t
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: uint32_t
    - item_type: typedef
      name: soffset_t
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: int32_t
    - item_type: typedef
      name: voffset_t
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
      type: uint16_t
    - item_type: typedef
      name: largest_scalar_t
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    union:
    - fields:
      - name: t
        type: T
      - name: i
        type: uint16_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - fields:
      - name: t
        type: T
      - name: i
        type: uint32_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - fields:
      - name: t
        type: T
      - name: i
        type: uint64_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - fields:
      - name: t
        type: T
      - name: i
        type: uint16_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - fields:
      - name: t
        type: T
      - name: i
        type: uint32_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
    - fields:
      - name: t
        type: T
      - name: i
        type: uint64_t
      item_type: union
      name: u = { t }
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/base.h
- function_names:
  - flatbuffers::HashFnv1
  - flatbuffers::HashFnv1a
  - flatbuffers::HashFnv1
  - flatbuffers::HashFnv1a
  - flatbuffers::FindHashFunction16
  - flatbuffers::FindHashFunction32
  - flatbuffers::FindHashFunction64
  - flatbuffers::HashFnv1
  - flatbuffers::HashFnv1a
  - flatbuffers::HashFnv1
  - flatbuffers::HashFnv1a
  - flatbuffers::FindHashFunction16
  - flatbuffers::FindHashFunction32
  - flatbuffers::FindHashFunction64
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kFnvPrime
        type: T
      - name: kOffsetBasis
        type: T
      item_type: struct
      name: FnvTraits
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: kFnvPrime
        type: uint32_t
      - name: kOffsetBasis
        type: uint32_t
      item_type: struct
      name: FnvTraits<uint32_t>
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: kFnvPrime
        type: uint64_t
      - name: kOffsetBasis
        type: uint64_t
      item_type: struct
      name: FnvTraits<uint64_t>
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: '*name'
        type: char
      - name: function
        type: HashFunction
      item_type: struct
      name: NamedHashFunction
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: kFnvPrime
        type: T
      - name: kOffsetBasis
        type: T
      item_type: struct
      name: FnvTraits
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: kFnvPrime
        type: uint32_t
      - name: kOffsetBasis
        type: uint32_t
      item_type: struct
      name: FnvTraits<uint32_t>
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: kFnvPrime
        type: uint64_t
      - name: kOffsetBasis
        type: uint64_t
      item_type: struct
      name: FnvTraits<uint64_t>
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - fields:
      - name: '*name'
        type: char
      - name: function
        type: HashFunction
      item_type: struct
      name: NamedHashFunction
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    typedefs:
    - item_type: typedef
      name: (*HashFunction)(const char *)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    - item_type: typedef
      name: (*HashFunction)(const char *)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/hash.h
    union: []
- function_names:
  - ~Allocator()
  - flatbuffers::Allocator::reallocate_downward
  - flatbuffers::Allocator::memcpy_downward
  - ~Allocator()
  - flatbuffers::Allocator::reallocate_downward
  - flatbuffers::Allocator::memcpy_downward
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::c_str
  - flatbuffers::str
  - flatbuffers::string_view
  - operator<(const String &o) const
  - flatbuffers::GetString
  - flatbuffers::GetCstring
  - flatbuffers::GetStringView
  - flatbuffers::c_str
  - flatbuffers::str
  - flatbuffers::string_view
  - operator<(const String &o) const
  - flatbuffers::GetString
  - flatbuffers::GetCstring
  - flatbuffers::GetStringView
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: String
      pos:
        line_end: 39
        line_start: 24
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    - fields: []
      item_type: struct
      name: String
      pos:
        line_end: 39
        line_start: 24
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/string.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::BufferRef
  - flatbuffers::BufferRef
  - ~BufferRef()
  - flatbuffers::GetRoot
  - flatbuffers::Verify
  - flatbuffers::BufferRef
  - flatbuffers::BufferRef
  - ~BufferRef()
  - flatbuffers::GetRoot
  - flatbuffers::Verify
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: BufferRefBase
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    - fields:
      - name: '*buf'
        type: uint8_t
      - name: len
        type: uoffset_t
      - name: must_free
        type: bool
      item_type: struct
      name: BufferRef
      pos:
        line_end: 48
        line_start: 29
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    - fields: []
      item_type: struct
      name: BufferRefBase
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    - fields:
      - name: '*buf'
        type: uint8_t
      - name: len
        type: uoffset_t
      - name: must_free
        type: bool
      item_type: struct
      name: BufferRef
      pos:
        line_end: 48
        line_start: 29
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer_ref.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::Array::size
  - flatbuffers::Array::Get
  - operator[](uoffset_t i) const
  - flatbuffers::Array::GetEnum
  - flatbuffers::Array::begin
  - flatbuffers::Array::end
  - flatbuffers::Array::rbegin
  - flatbuffers::Array::rend
  - flatbuffers::Array::cbegin
  - flatbuffers::Array::cend
  - flatbuffers::Array::crbegin
  - flatbuffers::Array::crend
  - flatbuffers::Array::GetMutablePointer
  - flatbuffers::Array::Mutate
  - flatbuffers::Array::Data
  - flatbuffers::Array::Data
  - flatbuffers::Array::data
  - flatbuffers::Array::data
  - flatbuffers::Array::CopyFromSpan
  - flatbuffers::Array::MutateImpl
  - flatbuffers::Array::MutateImpl
  - flatbuffers::Array::CopyFromSpanImpl
  - flatbuffers::Array::CopyFromSpanImpl
  - flatbuffers::Array<Offset<T>, length>::Data
  - operator[](uoffset_t) const
  - flatbuffers::span<U, N> make_span(Array<U, N> &arr)
  - "flatbuffers::span<const U, N> make_span(\n    const Array<U, N> &arr)"
  - 'flatbuffers::span<uint8_t, sizeof(U) * N>

    make_bytes_span(Array<U, N> &arr)'
  - 'flatbuffers::span<const uint8_t, sizeof(U) * N>

    make_bytes_span(const Array<U, N> &arr)'
  - flatbuffers::CastToArray
  - flatbuffers::CastToArray
  - flatbuffers::CastToArrayOfEnum
  - flatbuffers::CastToArrayOfEnum
  - "operator==(const Array<T, length> &lhs,\n                const Array<T, length>
    &rhs) noexcept"
  - flatbuffers::Array::size
  - flatbuffers::Array::Get
  - operator[](uoffset_t i) const
  - flatbuffers::Array::GetEnum
  - flatbuffers::Array::begin
  - flatbuffers::Array::end
  - flatbuffers::Array::rbegin
  - flatbuffers::Array::rend
  - flatbuffers::Array::cbegin
  - flatbuffers::Array::cend
  - flatbuffers::Array::crbegin
  - flatbuffers::Array::crend
  - flatbuffers::Array::GetMutablePointer
  - flatbuffers::Array::Mutate
  - flatbuffers::Array::Data
  - flatbuffers::Array::Data
  - flatbuffers::Array::data
  - flatbuffers::Array::data
  - flatbuffers::Array::CopyFromSpan
  - flatbuffers::Array::MutateImpl
  - flatbuffers::Array::MutateImpl
  - flatbuffers::Array::CopyFromSpanImpl
  - flatbuffers::Array::CopyFromSpanImpl
  - flatbuffers::Array<Offset<T>, length>::Data
  - operator[](uoffset_t) const
  - flatbuffers::span<U, N> make_span(Array<U, N> &arr)
  - "flatbuffers::span<const U, N> make_span(\n    const Array<U, N> &arr)"
  - 'flatbuffers::span<uint8_t, sizeof(U) * N>

    make_bytes_span(Array<U, N> &arr)'
  - 'flatbuffers::span<const uint8_t, sizeof(U) * N>

    make_bytes_span(const Array<U, N> &arr)'
  - flatbuffers::CastToArray
  - flatbuffers::CastToArray
  - flatbuffers::CastToArrayOfEnum
  - flatbuffers::CastToArrayOfEnum
  - "operator==(const Array<T, length> &lhs,\n                const Array<T, length>
    &rhs) noexcept"
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: scalar_tag
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: IndirectHelperType
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: size_type
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
      type: uint16_t
    - item_type: typedef
      name: return_type
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
      type: void
    - item_type: typedef
      name: scalar_tag
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: IndirectHelperType
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: size_type
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
      type: uint16_t
    - item_type: typedef
      name: return_type
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/array.h
      type: void
    union: []
- function_names:
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(const Message &other)'
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(Message &&other)'
  - flatbuffers::grpc::Message::mutable_data
  - flatbuffers::grpc::Message::data
  - flatbuffers::grpc::Message::size
  - flatbuffers::grpc::Message::Verify
  - flatbuffers::grpc::Message::GetMutableRoot
  - flatbuffers::grpc::Message::GetRoot
  - '&BorrowSlice() const'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(const SliceAllocator &other)'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(SliceAllocator &&other)'
  - flatbuffers::grpc::SliceAllocator::swap
  - ~SliceAllocator()
  - flatbuffers::grpc::SliceAllocator::allocate
  - flatbuffers::grpc::SliceAllocator::deallocate
  - flatbuffers::grpc::SliceAllocator::reallocate_downward
  - '&get_slice(uint8_t *p, size_t size)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(const MessageBuilder &other)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(FlatBufferBuilder &&src)'
  - '&operator=(MessageBuilder &&other)'
  - flatbuffers::grpc::MessageBuilder::Swap
  - flatbuffers::grpc::MessageBuilder::ReleaseRaw
  - ~MessageBuilder()
  - flatbuffers::grpc::MessageBuilder::GetMessage
  - flatbuffers::grpc::MessageBuilder::ReleaseMessage
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(const Message &other)'
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(Message &&other)'
  - flatbuffers::grpc::Message::mutable_data
  - flatbuffers::grpc::Message::data
  - flatbuffers::grpc::Message::size
  - flatbuffers::grpc::Message::Verify
  - flatbuffers::grpc::Message::GetMutableRoot
  - flatbuffers::grpc::Message::GetRoot
  - '&BorrowSlice() const'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(const SliceAllocator &other)'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(SliceAllocator &&other)'
  - flatbuffers::grpc::SliceAllocator::swap
  - ~SliceAllocator()
  - flatbuffers::grpc::SliceAllocator::allocate
  - flatbuffers::grpc::SliceAllocator::deallocate
  - flatbuffers::grpc::SliceAllocator::reallocate_downward
  - '&get_slice(uint8_t *p, size_t size)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(const MessageBuilder &other)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(FlatBufferBuilder &&src)'
  - '&operator=(MessageBuilder &&other)'
  - flatbuffers::grpc::MessageBuilder::Swap
  - flatbuffers::grpc::MessageBuilder::ReleaseRaw
  - ~MessageBuilder()
  - flatbuffers::grpc::MessageBuilder::GetMessage
  - flatbuffers::grpc::MessageBuilder::ReleaseMessage
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(const Message &other)'
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(Message &&other)'
  - flatbuffers::grpc::Message::mutable_data
  - flatbuffers::grpc::Message::data
  - flatbuffers::grpc::Message::size
  - flatbuffers::grpc::Message::Verify
  - flatbuffers::grpc::Message::GetMutableRoot
  - flatbuffers::grpc::Message::GetRoot
  - '&BorrowSlice() const'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(const SliceAllocator &other)'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(SliceAllocator &&other)'
  - flatbuffers::grpc::SliceAllocator::swap
  - ~SliceAllocator()
  - flatbuffers::grpc::SliceAllocator::allocate
  - flatbuffers::grpc::SliceAllocator::deallocate
  - flatbuffers::grpc::SliceAllocator::reallocate_downward
  - '&get_slice(uint8_t *p, size_t size)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(const MessageBuilder &other)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(FlatBufferBuilder &&src)'
  - '&operator=(MessageBuilder &&other)'
  - flatbuffers::grpc::MessageBuilder::Swap
  - flatbuffers::grpc::MessageBuilder::ReleaseRaw
  - ~MessageBuilder()
  - flatbuffers::grpc::MessageBuilder::GetMessage
  - flatbuffers::grpc::MessageBuilder::ReleaseMessage
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(const Message &other)'
  - flatbuffers::grpc::Message::Message
  - flatbuffers::grpc::Message::Message
  - '&operator=(Message &&other)'
  - flatbuffers::grpc::Message::mutable_data
  - flatbuffers::grpc::Message::data
  - flatbuffers::grpc::Message::size
  - flatbuffers::grpc::Message::Verify
  - flatbuffers::grpc::Message::GetMutableRoot
  - flatbuffers::grpc::Message::GetRoot
  - '&BorrowSlice() const'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(const SliceAllocator &other)'
  - flatbuffers::grpc::SliceAllocator::SliceAllocator
  - '&operator=(SliceAllocator &&other)'
  - flatbuffers::grpc::SliceAllocator::swap
  - ~SliceAllocator()
  - flatbuffers::grpc::SliceAllocator::allocate
  - flatbuffers::grpc::SliceAllocator::deallocate
  - flatbuffers::grpc::SliceAllocator::reallocate_downward
  - '&get_slice(uint8_t *p, size_t size)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(const MessageBuilder &other)'
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - flatbuffers::grpc::MessageBuilder::MessageBuilder
  - '&operator=(FlatBufferBuilder &&src)'
  - '&operator=(MessageBuilder &&other)'
  - flatbuffers::grpc::MessageBuilder::Swap
  - flatbuffers::grpc::MessageBuilder::ReleaseRaw
  - ~MessageBuilder()
  - flatbuffers::grpc::MessageBuilder::GetMessage
  - flatbuffers::grpc::MessageBuilder::ReleaseMessage
  - grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Serialize
  - grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Deserialize
  - grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Serialize
  - grpc::SerializationTraits<flatbuffers::grpc::Message<T>>::Deserialize
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    - fields:
      - name: slice_allocator_
        type: SliceAllocator
      item_type: struct
      name: SliceAllocatorMember
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/grpc.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::VectorIterator
  - flatbuffers::VectorIterator
  - flatbuffers::VectorIterator
  - '&operator=(const VectorIterator &other)'
  - '&operator=(VectorIterator &&other)'
  - operator==(const VectorIterator &other) const
  - operator<(const VectorIterator &other) const
  - operator!=(const VectorIterator &other) const
  - operator-(const VectorIterator &other) const
  - operator*() const
  - operator->() const
  - '&operator++()'
  - operator++(int)
  - operator+(const uoffset_t &offset) const
  - '&operator+=(const uoffset_t &offset)'
  - '&operator--()'
  - operator--(int)
  - operator-(const uoffset_t &offset) const
  - '&operator-=(const uoffset_t &offset)'
  - flatbuffers::VectorReverseIterator
  - operator*() const
  - operator->() const
  - flatbuffers::Vector::size
  - flatbuffers::Vector::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::Vector::Get
  - operator[](uoffset_t i) const
  - flatbuffers::Vector::GetEnum
  - flatbuffers::Vector::GetAs
  - flatbuffers::Vector::GetAsString
  - flatbuffers::Vector::GetStructFromOffset
  - flatbuffers::Vector::begin
  - flatbuffers::Vector::begin
  - flatbuffers::Vector::end
  - flatbuffers::Vector::end
  - flatbuffers::Vector::rbegin
  - flatbuffers::Vector::rbegin
  - flatbuffers::Vector::rend
  - flatbuffers::Vector::rend
  - flatbuffers::Vector::cbegin
  - flatbuffers::Vector::cend
  - flatbuffers::Vector::crbegin
  - flatbuffers::Vector::crend
  - flatbuffers::Vector::Mutate
  - flatbuffers::Vector::MutateOffset
  - flatbuffers::Vector::GetMutableObject
  - flatbuffers::Vector::Data
  - flatbuffers::Vector::Data
  - flatbuffers::Vector::data
  - flatbuffers::Vector::data
  - flatbuffers::Vector::LookupByKey
  - flatbuffers::Vector::MutableLookupByKey
  - flatbuffers::Vector::KeyCompare
  - flatbuffers::span<U> make_span(Vector<U> &vec)
  - "flatbuffers::span<const U> make_span(\n    const Vector<U> &vec)"
  - "flatbuffers::span<uint8_t> make_bytes_span(\n    Vector<U> &vec)"
  - "flatbuffers::span<const uint8_t> make_bytes_span(\n    const Vector<U> &vec)"
  - flatbuffers::span<U> make_span(Vector<U> *ptr)
  - "flatbuffers::span<const U> make_span(\n    const Vector<U> *ptr)"
  - flatbuffers::VectorOfAny::size
  - flatbuffers::VectorOfAny::Data
  - flatbuffers::VectorOfAny::Data
  - flatbuffers::VectorCast
  - flatbuffers::VectorCast
  - flatbuffers::VectorLength
  - flatbuffers::VectorIterator
  - flatbuffers::VectorIterator
  - flatbuffers::VectorIterator
  - '&operator=(const VectorIterator &other)'
  - '&operator=(VectorIterator &&other)'
  - operator==(const VectorIterator &other) const
  - operator<(const VectorIterator &other) const
  - operator!=(const VectorIterator &other) const
  - operator-(const VectorIterator &other) const
  - operator*() const
  - operator->() const
  - '&operator++()'
  - operator++(int)
  - operator+(const uoffset_t &offset) const
  - '&operator+=(const uoffset_t &offset)'
  - '&operator--()'
  - operator--(int)
  - operator-(const uoffset_t &offset) const
  - '&operator-=(const uoffset_t &offset)'
  - flatbuffers::VectorReverseIterator
  - operator*() const
  - operator->() const
  - flatbuffers::Vector::size
  - flatbuffers::Vector::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::Vector::Get
  - operator[](uoffset_t i) const
  - flatbuffers::Vector::GetEnum
  - flatbuffers::Vector::GetAs
  - flatbuffers::Vector::GetAsString
  - flatbuffers::Vector::GetStructFromOffset
  - flatbuffers::Vector::begin
  - flatbuffers::Vector::begin
  - flatbuffers::Vector::end
  - flatbuffers::Vector::end
  - flatbuffers::Vector::rbegin
  - flatbuffers::Vector::rbegin
  - flatbuffers::Vector::rend
  - flatbuffers::Vector::rend
  - flatbuffers::Vector::cbegin
  - flatbuffers::Vector::cend
  - flatbuffers::Vector::crbegin
  - flatbuffers::Vector::crend
  - flatbuffers::Vector::Mutate
  - flatbuffers::Vector::MutateOffset
  - flatbuffers::Vector::GetMutableObject
  - flatbuffers::Vector::Data
  - flatbuffers::Vector::Data
  - flatbuffers::Vector::data
  - flatbuffers::Vector::data
  - flatbuffers::Vector::LookupByKey
  - flatbuffers::Vector::MutableLookupByKey
  - flatbuffers::Vector::KeyCompare
  - flatbuffers::span<U> make_span(Vector<U> &vec)
  - "flatbuffers::span<const U> make_span(\n    const Vector<U> &vec)"
  - "flatbuffers::span<uint8_t> make_bytes_span(\n    Vector<U> &vec)"
  - "flatbuffers::span<const uint8_t> make_bytes_span(\n    const Vector<U> &vec)"
  - flatbuffers::span<U> make_span(Vector<U> *ptr)
  - "flatbuffers::span<const U> make_span(\n    const Vector<U> *ptr)"
  - flatbuffers::VectorOfAny::size
  - flatbuffers::VectorOfAny::Data
  - flatbuffers::VectorOfAny::Data
  - flatbuffers::VectorCast
  - flatbuffers::VectorCast
  - flatbuffers::VectorLength
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: data_
        type: Data
      item_type: struct
      name: VectorIterator
      pos:
        line_end: 120
        line_start: 30
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - fields: []
      item_type: struct
      name: VectorReverseIterator
      pos:
        line_end: 143
        line_start: 126
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - fields:
      - name: data_
        type: Data
      item_type: struct
      name: VectorIterator
      pos:
        line_end: 120
        line_start: 30
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - fields: []
      item_type: struct
      name: VectorReverseIterator
      pos:
        line_end: 143
        line_start: 126
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    typedefs:
    - item_type: typedef
      name: iterator_category
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: value_type
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
      type: ptrdiff_t
    - item_type: typedef
      name: '*pointer'
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: '&reference'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: iterator
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: scalar_tag
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: return_type
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: mutable_return_type
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: value_type
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: iterator_category
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: value_type
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
      type: ptrdiff_t
    - item_type: typedef
      name: '*pointer'
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: '&reference'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: iterator
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: scalar_tag
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: return_type
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: mutable_return_type
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    - item_type: typedef
      name: value_type
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector.h
    union: []
- function_names:
  - flatbuffers::check_ascii_range
  - flatbuffers::is_alpha
  - flatbuffers::is_alpha_upper
  - flatbuffers::is_alpha_char
  - flatbuffers::is_digit
  - flatbuffers::is_xdigit
  - flatbuffers::is_alnum
  - flatbuffers::CharToUpper
  - flatbuffers::CharToLower
  - flatbuffers::IntToDigitCount
  - flatbuffers::NumToStringWidth
  - flatbuffers::NumToStringImplWrapper
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::FloatToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::IntToStringHex
  - flatbuffers::ClassicLocale::Get
  - __strtoull_impl
  - __strtoll_impl
  - __strtod_impl
  - __strtof_impl
  - __strtoull_impl
  - __strtoll_impl
  - __strtod_impl
  - __strtof_impl
  - __strtod_impl
  - __strtof_impl
  - __strtoull_impl
  - __strtoll_impl
  - __strtoull_impl
  - __strtoll_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::StringToIntegerImpl
  - flatbuffers::StringToFloatImpl
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToInt
  - flatbuffers::StringToUInt
  - flatbuffers::StringIsFlatbufferNan
  - flatbuffers::StringIsFlatbufferPositiveInfinity
  - flatbuffers::StringIsFlatbufferNegativeInfinity
  - flatbuffers::SaveFile
  - flatbuffers::ToUTF8
  - flatbuffers::FromUTF8
  - flatbuffers::WordWrap
  - flatbuffers::EscapeString
  - flatbuffers::BufferToHexText
  - flatbuffers::check_ascii_range
  - flatbuffers::is_alpha
  - flatbuffers::is_alpha_upper
  - flatbuffers::is_alpha_char
  - flatbuffers::is_digit
  - flatbuffers::is_xdigit
  - flatbuffers::is_alnum
  - flatbuffers::CharToUpper
  - flatbuffers::CharToLower
  - flatbuffers::IntToDigitCount
  - flatbuffers::NumToStringWidth
  - flatbuffers::NumToStringImplWrapper
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::FloatToString
  - flatbuffers::NumToString
  - flatbuffers::NumToString
  - flatbuffers::IntToStringHex
  - flatbuffers::ClassicLocale::Get
  - __strtoull_impl
  - __strtoll_impl
  - __strtod_impl
  - __strtof_impl
  - __strtoull_impl
  - __strtoll_impl
  - __strtod_impl
  - __strtof_impl
  - __strtod_impl
  - __strtof_impl
  - __strtoull_impl
  - __strtoll_impl
  - __strtoull_impl
  - __strtoll_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::strtoval_impl
  - flatbuffers::StringToIntegerImpl
  - flatbuffers::StringToFloatImpl
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToNumber
  - flatbuffers::StringToInt
  - flatbuffers::StringToUInt
  - flatbuffers::StringIsFlatbufferNan
  - flatbuffers::StringIsFlatbufferPositiveInfinity
  - flatbuffers::StringIsFlatbufferNegativeInfinity
  - flatbuffers::SaveFile
  - flatbuffers::ToUTF8
  - flatbuffers::FromUTF8
  - flatbuffers::WordWrap
  - flatbuffers::EscapeString
  - flatbuffers::BufferToHexText
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
  types:
    enum:
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kLowerCamel
        value: '2'
      - name: kSnake
        value: '3'
      - name: kScreamingSnake
        value: '4'
      - name: kUpperCamel
        value: '1'
      - name: kAllUpper
        value: '5'
      - name: kAllLower
        value: '6'
      - name: kDasher
        value: '7'
      - name: kKeep
        value: '8'
      - name: kSnake2
        value: '9'
      item_type: enum
      name: Case
      pos:
        line_end: 722
        line_start: 702
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    - enumerators:
      - name: kUnknown
        value: '0'
      - name: kLowerCamel
        value: '2'
      - name: kSnake
        value: '3'
      - name: kScreamingSnake
        value: '4'
      - name: kUpperCamel
        value: '1'
      - name: kAllUpper
        value: '5'
      - name: kAllLower
        value: '6'
      - name: kDasher
        value: '7'
      - name: kKeep
        value: '8'
      - name: kSnake2
        value: '9'
      item_type: enum
      name: Case
      pos:
        line_end: 722
        line_start: 702
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: locale_type
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    - item_type: typedef
      name: locale_type
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    - item_type: typedef
      name: "(*LoadFileFunction)(const char *filename, bool binary,\n                                 std::string
        *dest)"
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
      type: bool
    - item_type: typedef
      name: (*FileExistsFunction)(const char *filename)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
      type: bool
    - item_type: typedef
      name: locale_type
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    - item_type: typedef
      name: locale_type
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
    - item_type: typedef
      name: "(*LoadFileFunction)(const char *filename, bool binary,\n                                 std::string
        *dest)"
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
      type: bool
    - item_type: typedef
      name: (*FileExistsFunction)(const char *filename)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/util.h
      type: bool
    union: []
- function_names:
  - (&EnumValuesBaseType())[19]
  - reflection::EnumNamesBaseType
  - reflection::EnumNameBaseType
  - (&EnumValuesAdvancedFeatures())[4]
  - reflection::EnumNamesAdvancedFeatures
  - reflection::EnumNameAdvancedFeatures
  - ::flatbuffers::Table
  - reflection::base_type
  - reflection::element
  - reflection::index
  - reflection::fixed_length
  - reflection::base_size
  - reflection::element_size
  - reflection::Verify
  - reflection::add_base_type
  - reflection::add_element
  - reflection::add_index
  - reflection::add_fixed_length
  - reflection::add_base_size
  - reflection::add_element_size
  - reflection::TypeBuilder
  - reflection::Finish
  - reflection::CreateType
  - ::flatbuffers::Table
  - reflection::key
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::value
  - reflection::Verify
  - reflection::add_key
  - reflection::add_value
  - reflection::KeyValueBuilder
  - reflection::Finish
  - reflection::CreateKeyValue
  - reflection::CreateKeyValueDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::value
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::union_type
  - reflection::documentation
  - reflection::attributes
  - reflection::Verify
  - reflection::add_name
  - reflection::add_value
  - reflection::add_union_type
  - reflection::add_documentation
  - reflection::add_attributes
  - reflection::EnumValBuilder
  - reflection::Finish
  - reflection::CreateEnumVal
  - reflection::CreateEnumValDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::values
  - reflection::is_union
  - reflection::underlying_type
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_values
  - reflection::add_is_union
  - reflection::add_underlying_type
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::EnumBuilder
  - reflection::Finish
  - reflection::CreateEnum
  - reflection::CreateEnumDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::type
  - reflection::id
  - reflection::offset
  - reflection::default_integer
  - reflection::default_real
  - reflection::deprecated
  - reflection::required
  - reflection::key
  - reflection::attributes
  - reflection::documentation
  - reflection::optional
  - reflection::padding
  - reflection::Verify
  - reflection::add_name
  - reflection::add_type
  - reflection::add_id
  - reflection::add_offset
  - reflection::add_default_integer
  - reflection::add_default_real
  - reflection::add_deprecated
  - reflection::add_required
  - reflection::add_key
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_optional
  - reflection::add_padding
  - reflection::FieldBuilder
  - reflection::Finish
  - reflection::CreateField
  - reflection::CreateFieldDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::fields
  - reflection::is_struct
  - reflection::minalign
  - reflection::bytesize
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_fields
  - reflection::add_is_struct
  - reflection::add_minalign
  - reflection::add_bytesize
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::ObjectBuilder
  - reflection::Finish
  - reflection::CreateObject
  - reflection::CreateObjectDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::request
  - reflection::response
  - reflection::attributes
  - reflection::documentation
  - reflection::Verify
  - reflection::add_name
  - reflection::add_request
  - reflection::add_response
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::RPCCallBuilder
  - reflection::Finish
  - reflection::CreateRPCCall
  - reflection::CreateRPCCallDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::calls
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_calls
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::ServiceBuilder
  - reflection::Finish
  - reflection::CreateService
  - reflection::CreateServiceDirect
  - ::flatbuffers::Table
  - reflection::filename
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::included_filenames
  - reflection::Verify
  - reflection::add_filename
  - reflection::add_included_filenames
  - reflection::SchemaFileBuilder
  - reflection::Finish
  - reflection::CreateSchemaFile
  - reflection::CreateSchemaFileDirect
  - ::flatbuffers::Table
  - reflection::objects
  - reflection::enums
  - reflection::file_ident
  - reflection::file_ext
  - reflection::root_table
  - reflection::services
  - reflection::advanced_features
  - reflection::fbs_files
  - reflection::Verify
  - reflection::add_objects
  - reflection::add_enums
  - reflection::add_file_ident
  - reflection::add_file_ext
  - reflection::add_root_table
  - reflection::add_services
  - reflection::add_advanced_features
  - reflection::add_fbs_files
  - reflection::SchemaBuilder
  - reflection::Finish
  - reflection::CreateSchema
  - reflection::CreateSchemaDirect
  - reflection::GetSchema
  - reflection::GetSizePrefixedSchema
  - reflection::SchemaIdentifier
  - reflection::SchemaBufferHasIdentifier
  - reflection::SizePrefixedSchemaBufferHasIdentifier
  - reflection::VerifySchemaBuffer
  - reflection::VerifySizePrefixedSchemaBuffer
  - reflection::SchemaExtension
  - reflection::FinishSchemaBuffer
  - reflection::FinishSizePrefixedSchemaBuffer
  - (&EnumValuesBaseType())[19]
  - reflection::EnumNamesBaseType
  - reflection::EnumNameBaseType
  - (&EnumValuesAdvancedFeatures())[4]
  - reflection::EnumNamesAdvancedFeatures
  - reflection::EnumNameAdvancedFeatures
  - ::flatbuffers::Table
  - reflection::base_type
  - reflection::element
  - reflection::index
  - reflection::fixed_length
  - reflection::base_size
  - reflection::element_size
  - reflection::Verify
  - reflection::add_base_type
  - reflection::add_element
  - reflection::add_index
  - reflection::add_fixed_length
  - reflection::add_base_size
  - reflection::add_element_size
  - reflection::TypeBuilder
  - reflection::Finish
  - reflection::CreateType
  - ::flatbuffers::Table
  - reflection::key
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::value
  - reflection::Verify
  - reflection::add_key
  - reflection::add_value
  - reflection::KeyValueBuilder
  - reflection::Finish
  - reflection::CreateKeyValue
  - reflection::CreateKeyValueDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::value
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::union_type
  - reflection::documentation
  - reflection::attributes
  - reflection::Verify
  - reflection::add_name
  - reflection::add_value
  - reflection::add_union_type
  - reflection::add_documentation
  - reflection::add_attributes
  - reflection::EnumValBuilder
  - reflection::Finish
  - reflection::CreateEnumVal
  - reflection::CreateEnumValDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::values
  - reflection::is_union
  - reflection::underlying_type
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_values
  - reflection::add_is_union
  - reflection::add_underlying_type
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::EnumBuilder
  - reflection::Finish
  - reflection::CreateEnum
  - reflection::CreateEnumDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::type
  - reflection::id
  - reflection::offset
  - reflection::default_integer
  - reflection::default_real
  - reflection::deprecated
  - reflection::required
  - reflection::key
  - reflection::attributes
  - reflection::documentation
  - reflection::optional
  - reflection::padding
  - reflection::Verify
  - reflection::add_name
  - reflection::add_type
  - reflection::add_id
  - reflection::add_offset
  - reflection::add_default_integer
  - reflection::add_default_real
  - reflection::add_deprecated
  - reflection::add_required
  - reflection::add_key
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_optional
  - reflection::add_padding
  - reflection::FieldBuilder
  - reflection::Finish
  - reflection::CreateField
  - reflection::CreateFieldDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::fields
  - reflection::is_struct
  - reflection::minalign
  - reflection::bytesize
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_fields
  - reflection::add_is_struct
  - reflection::add_minalign
  - reflection::add_bytesize
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::ObjectBuilder
  - reflection::Finish
  - reflection::CreateObject
  - reflection::CreateObjectDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::request
  - reflection::response
  - reflection::attributes
  - reflection::documentation
  - reflection::Verify
  - reflection::add_name
  - reflection::add_request
  - reflection::add_response
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::RPCCallBuilder
  - reflection::Finish
  - reflection::CreateRPCCall
  - reflection::CreateRPCCallDirect
  - ::flatbuffers::Table
  - reflection::name
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::calls
  - reflection::attributes
  - reflection::documentation
  - reflection::declaration_file
  - reflection::Verify
  - reflection::add_name
  - reflection::add_calls
  - reflection::add_attributes
  - reflection::add_documentation
  - reflection::add_declaration_file
  - reflection::ServiceBuilder
  - reflection::Finish
  - reflection::CreateService
  - reflection::CreateServiceDirect
  - ::flatbuffers::Table
  - reflection::filename
  - reflection::KeyCompareLessThan
  - reflection::KeyCompareWithValue
  - reflection::included_filenames
  - reflection::Verify
  - reflection::add_filename
  - reflection::add_included_filenames
  - reflection::SchemaFileBuilder
  - reflection::Finish
  - reflection::CreateSchemaFile
  - reflection::CreateSchemaFileDirect
  - ::flatbuffers::Table
  - reflection::objects
  - reflection::enums
  - reflection::file_ident
  - reflection::file_ext
  - reflection::root_table
  - reflection::services
  - reflection::advanced_features
  - reflection::fbs_files
  - reflection::Verify
  - reflection::add_objects
  - reflection::add_enums
  - reflection::add_file_ident
  - reflection::add_file_ext
  - reflection::add_root_table
  - reflection::add_services
  - reflection::add_advanced_features
  - reflection::add_fbs_files
  - reflection::SchemaBuilder
  - reflection::Finish
  - reflection::CreateSchema
  - reflection::CreateSchemaDirect
  - reflection::GetSchema
  - reflection::GetSizePrefixedSchema
  - reflection::SchemaIdentifier
  - reflection::SchemaBufferHasIdentifier
  - reflection::SizePrefixedSchemaBufferHasIdentifier
  - reflection::VerifySchemaBuffer
  - reflection::VerifySizePrefixedSchemaBuffer
  - reflection::SchemaExtension
  - reflection::FinishSchemaBuffer
  - reflection::FinishSizePrefixedSchemaBuffer
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
  types:
    enum:
    - enumerators:
      - name: Bool
        value: '2'
      - name: UShort
        value: '6'
      - name: ULong
        value: '10'
      - name: Vector
        value: '14'
      - name: None
        value: '0'
      - name: Byte
        value: '3'
      - name: Int
        value: '7'
      - name: Float
        value: '11'
      - name: Obj
        value: '15'
      - name: UByte
        value: '4'
      - name: UInt
        value: '8'
      - name: Double
        value: '12'
      - name: Union
        value: '16'
      - name: UType
        value: '1'
      - name: Short
        value: '5'
      - name: Long
        value: '9'
      - name: Array
        value: '17'
      - name: String
        value: '13'
      - name: MaxBaseType
        value: '18'
      item_type: enum
      name: BaseType
      pos:
        line_end: 67
        line_start: 47
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - enumerators:
      - name: AdvancedArrayFeatures
        value: 1ULL
      - name: AdvancedUnionFeatures
        value: 2ULL
      - name: OptionalScalars
        value: 4ULL
      - name: DefaultVectorsAndStrings
        value: 8ULL
      item_type: enum
      name: AdvancedFeatures
      pos:
        line_end: 132
        line_start: 127
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - enumerators:
      - name: Bool
        value: '2'
      - name: UShort
        value: '6'
      - name: ULong
        value: '10'
      - name: Vector
        value: '14'
      - name: None
        value: '0'
      - name: Byte
        value: '3'
      - name: Int
        value: '7'
      - name: Float
        value: '11'
      - name: Obj
        value: '15'
      - name: UByte
        value: '4'
      - name: UInt
        value: '8'
      - name: Double
        value: '12'
      - name: Union
        value: '16'
      - name: UType
        value: '1'
      - name: Short
        value: '5'
      - name: Long
        value: '9'
      - name: Array
        value: '17'
      - name: String
        value: '13'
      - name: MaxBaseType
        value: '18'
      item_type: enum
      name: BaseType
      pos:
        line_end: 67
        line_start: 47
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - enumerators:
      - name: AdvancedArrayFeatures
        value: 1ULL
      - name: AdvancedUnionFeatures
        value: 2ULL
      - name: OptionalScalars
        value: 4ULL
      - name: DefaultVectorsAndStrings
        value: 8ULL
      item_type: enum
      name: AdvancedFeatures
      pos:
        line_end: 132
        line_start: 127
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    preproc_defs: []
    structs:
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: TypeBuilder
      pos:
        line_end: 238
        line_start: 207
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: KeyValueBuilder
      pos:
        line_end: 306
        line_start: 286
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: EnumValBuilder
      pos:
        line_end: 406
        line_start: 377
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: EnumBuilder
      pos:
        line_end: 541
        line_start: 504
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: FieldBuilder
      pos:
        line_end: 730
        line_start: 676
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ObjectBuilder
      pos:
        line_end: 903
        line_start: 864
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: RPCCallBuilder
      pos:
        line_end: 1033
        line_start: 1002
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ServiceBuilder
      pos:
        line_end: 1149
        line_start: 1120
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: SchemaFileBuilder
      pos:
        line_end: 1242
        line_start: 1222
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: SchemaBuilder
      pos:
        line_end: 1368
        line_start: 1329
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: TypeBuilder
      pos:
        line_end: 238
        line_start: 207
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: KeyValueBuilder
      pos:
        line_end: 306
        line_start: 286
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: EnumValBuilder
      pos:
        line_end: 406
        line_start: 377
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: EnumBuilder
      pos:
        line_end: 541
        line_start: 504
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: FieldBuilder
      pos:
        line_end: 730
        line_start: 676
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ObjectBuilder
      pos:
        line_end: 903
        line_start: 864
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: RPCCallBuilder
      pos:
        line_end: 1033
        line_start: 1002
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: ServiceBuilder
      pos:
        line_end: 1149
        line_start: 1120
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: SchemaFileBuilder
      pos:
        line_end: 1242
        line_start: 1222
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - fields:
      - name: '&fbb_'
        type: ::flatbuffers::FlatBufferBuilder
      - name: start_
        type: ::flatbuffers::uoffset_t
      item_type: struct
      name: SchemaBuilder
      pos:
        line_end: 1368
        line_start: 1329
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    typedefs:
    - item_type: typedef
      name: Builder
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1071
        line_start: 1071
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1121
        line_start: 1121
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1223
        line_start: 1223
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1267
        line_start: 1267
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1330
        line_start: 1330
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1071
        line_start: 1071
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1121
        line_start: 1121
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1192
        line_start: 1192
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1223
        line_start: 1223
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Builder
      pos:
        line_end: 1267
        line_start: 1267
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    - item_type: typedef
      name: Table
      pos:
        line_end: 1330
        line_start: 1330
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection_generated.h
    union: []
- function_names:
  - flatbuffers::Table::GetVTable
  - flatbuffers::Table::GetOptionalFieldOffset
  - flatbuffers::Table::GetField
  - flatbuffers::Table::GetPointer
  - flatbuffers::Table::GetPointer
  - flatbuffers::Table::GetStruct
  - flatbuffers::Table::GetOptional
  - flatbuffers::Table::SetField
  - flatbuffers::Table::SetField
  - flatbuffers::Table::SetPointer
  - flatbuffers::Table::GetAddressOf
  - flatbuffers::Table::GetAddressOf
  - flatbuffers::Table::CheckField
  - flatbuffers::Table::VerifyTableStart
  - flatbuffers::Table::VerifyField
  - flatbuffers::Table::VerifyFieldRequired
  - flatbuffers::Table::VerifyOffset
  - flatbuffers::Table::VerifyOffsetRequired
  - "Table::GetOptional<uint8_t, bool>(\n    voffset_t field) const"
  - flatbuffers::Table::GetVTable
  - flatbuffers::Table::GetOptionalFieldOffset
  - flatbuffers::Table::GetField
  - flatbuffers::Table::GetPointer
  - flatbuffers::Table::GetPointer
  - flatbuffers::Table::GetStruct
  - flatbuffers::Table::GetOptional
  - flatbuffers::Table::SetField
  - flatbuffers::Table::SetField
  - flatbuffers::Table::SetPointer
  - flatbuffers::Table::GetAddressOf
  - flatbuffers::Table::GetAddressOf
  - flatbuffers::Table::CheckField
  - flatbuffers::Table::VerifyTableStart
  - flatbuffers::Table::VerifyField
  - flatbuffers::Table::VerifyFieldRequired
  - flatbuffers::Table::VerifyOffset
  - flatbuffers::Table::VerifyOffsetRequired
  - "Table::GetOptional<uint8_t, bool>(\n    voffset_t field) const"
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/table.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flexbuffers::VerifyNestedFlexBuffer
  - flexbuffers::VerifyNestedFlexBuffer
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flex_flat_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::Registry::Register
  - flatbuffers::Registry::FlatBufferToText
  - flatbuffers::Registry::TextToFlatBuffer
  - flatbuffers::Registry::SetOptions
  - flatbuffers::Registry::AddIncludeDirectory
  - '&GetLastError()'
  - flatbuffers::Registry::LoadSchema
  - flatbuffers::Registry::Register
  - flatbuffers::Registry::FlatBufferToText
  - flatbuffers::Registry::TextToFlatBuffer
  - flatbuffers::Registry::SetOptions
  - flatbuffers::Registry::AddIncludeDirectory
  - '&GetLastError()'
  - flatbuffers::Registry::LoadSchema
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: path_
        type: std::string
      item_type: struct
      name: Schema
      pos:
        line_end: 117
        line_start: 114
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    - fields:
      - name: path_
        type: std::string
      item_type: struct
      name: Schema
      pos:
        line_end: 117
        line_start: 114
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/registry.h
    typedefs: []
    union: []
- function_names:
  - ~CodeGenerator()
  - flatbuffers::CodeGenerator::CodeGenerator
  - flatbuffers::CodeGenerator::CodeGenerator
  - '&operator=(const CodeGenerator &)'
  - ~CodeGenerator()
  - flatbuffers::CodeGenerator::CodeGenerator
  - flatbuffers::CodeGenerator::CodeGenerator
  - '&operator=(const CodeGenerator &)'
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
  types:
    enum:
    - enumerators:
      - name: OK
        value: '0'
      - name: NOT_IMPLEMENTED
        value: '3'
      - name: ERROR
        value: '1'
      - name: FAILED_VERIFICATION
        value: '2'
      item_type: enum
      name: Status
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    - enumerators:
      - name: OK
        value: '0'
      - name: NOT_IMPLEMENTED
        value: '3'
      - name: ERROR
        value: '1'
      - name: FAILED_VERIFICATION
        value: '2'
      item_type: enum
      name: Status
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generator.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~BfbsGenerator()
  - ~BfbsGenerator()
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/bfbs_generator.h
  types:
    enum:
    - enumerators:
      - name: OK
      - name: FAILED
      - name: FAILED_VERIFICATION
      item_type: enum
      name: GeneratorStatus
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/bfbs_generator.h
    - enumerators:
      - name: OK
      - name: FAILED
      - name: FAILED_VERIFICATION
      item_type: enum
      name: GeneratorStatus
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/bfbs_generator.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::GetField
  - flatbuffers::GetStruct
  - flatbuffers::GetAddressOf
  - flatbuffers::GetAddressOf
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::GetField
  - flatbuffers::GetStruct
  - flatbuffers::GetAddressOf
  - flatbuffers::GetAddressOf
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/struct.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - '& operator=(std::unique_ptr<T>&& u)'
  - '& operator=(unique_ptr&& u)'
  - '& operator=(T* p)'
  - flatbuffers::FLATBUFFERS_CONSTEXPR_CPP11::nullopt_t
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - '&operator=(const Optional &other)'
  - '&operator=(nullopt_t)'
  - '&operator=(T val) FLATBUFFERS_NOEXCEPT'
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::swap
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - '& operator*() const FLATBUFFERS_NOEXCEPT'
  - flatbuffers::value
  - flatbuffers::value_or
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::internal::SpanIterator
  - operator*() const
  - operator->()
  - '& operator++()'
  - operator++(int)
  - operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - flatbuffers::internal::SpanIterator
  - operator*() const
  - operator->()
  - '& operator++()'
  - operator++(int)
  - operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::begin
  - flatbuffers::end
  - operator[](size_type idx) const
  - '&operator=(const span &other)'
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::span<const ElementType, Extent> make_span(const ElementType(&arr)[Extent])
  - flatbuffers::span<ElementType, Extent> make_span(std::array<ElementType, Extent>
    &arr)
  - flatbuffers::span<const ElementType, Extent> make_span(const std::array<ElementType,
    Extent> &arr)
  - flatbuffers::span<ElementType, dynamic_extent> make_span(ElementType *first, std::size_t
    count)
  - flatbuffers::span<const ElementType, dynamic_extent> make_span(const ElementType
    *first, std::size_t count)
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - flatbuffers::unique_ptr::unique_ptr
  - '& operator=(std::unique_ptr<T>&& u)'
  - '& operator=(unique_ptr&& u)'
  - '& operator=(T* p)'
  - flatbuffers::FLATBUFFERS_CONSTEXPR_CPP11::nullopt_t
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - '&operator=(const Optional &other)'
  - '&operator=(nullopt_t)'
  - '&operator=(T val) FLATBUFFERS_NOEXCEPT'
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::swap
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - '& operator*() const FLATBUFFERS_NOEXCEPT'
  - flatbuffers::value
  - flatbuffers::value_or
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::internal::SpanIterator
  - operator*() const
  - operator->()
  - '& operator++()'
  - operator++(int)
  - operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - flatbuffers::internal::SpanIterator
  - operator*() const
  - operator->()
  - '& operator++()'
  - operator++(int)
  - operator== (const SpanIterator& lhs, const SpanIterator& rhs)
  - operator!= (const SpanIterator& lhs, const SpanIterator& rhs)
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::begin
  - flatbuffers::end
  - operator[](size_type idx) const
  - '&operator=(const span &other)'
  - flatbuffers::FLATBUFFERS_NOEXCEPT
  - flatbuffers::span<const ElementType, Extent> make_span(const ElementType(&arr)[Extent])
  - flatbuffers::span<ElementType, Extent> make_span(std::array<ElementType, Extent>
    &arr)
  - flatbuffers::span<const ElementType, Extent> make_span(const std::array<ElementType,
    Extent> &arr)
  - flatbuffers::span<ElementType, dynamic_extent> make_span(ElementType *first, std::size_t
    count)
  - flatbuffers::span<const ElementType, dynamic_extent> make_span(const ElementType
    *first, std::size_t count)
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLATBUFFERS_USE_STD_OPTIONAL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
      type_or_value: '1'
    - item_type: preproc_def
      name: FLATBUFFERS_USE_STD_OPTIONAL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FLATBUFFERS_USE_STD_SPAN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
      type_or_value: '1'
    structs:
    - fields: []
      item_type: struct
      name: is_scalar
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_same
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_floating_point
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_unsigned
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_enum
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: make_unsigned
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: conditional
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: integral_constant
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: bool_constant
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: nullopt_t
      pos:
        line_end: 152
        line_start: 150
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 168
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 168
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_span_convertible
      pos:
        line_end: 303
        line_start: 298
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: ptr_
        type: pointer
      item_type: struct
      name: SpanIterator
      pos:
        line_end: 330
        line_start: 306
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_span_convertible
      pos:
        line_end: 303
        line_start: 298
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: ptr_
        type: pointer
      item_type: struct
      name: SpanIterator
      pos:
        line_end: 330
        line_start: 306
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_scalar
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_same
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_floating_point
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_unsigned
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_enum
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: make_unsigned
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: conditional
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: integral_constant
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: bool_constant
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: nullopt_t
      pos:
        line_end: 152
        line_start: 150
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 168
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: instance_
        type: nullopt_t
      item_type: struct
      name: nullopt_holder
      pos:
        line_end: 168
        line_start: 166
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_span_convertible
      pos:
        line_end: 303
        line_start: 298
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: ptr_
        type: pointer
      item_type: struct
      name: SpanIterator
      pos:
        line_end: 330
        line_start: 306
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields: []
      item_type: struct
      name: is_span_convertible
      pos:
        line_end: 303
        line_start: 298
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - fields:
      - name: ptr_
        type: pointer
      item_type: struct
      name: SpanIterator
      pos:
        line_end: 330
        line_start: 306
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    typedefs:
    - item_type: typedef
      name: true_type
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: false_type
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: size_type
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: true_type
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: false_type
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    - item_type: typedef
      name: size_type
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/stl_emulation.h
    union: []
- function_names:
  - flatbuffers::StartSequence
  - flatbuffers::EndSequence
  - flatbuffers::Field
  - flatbuffers::UType
  - flatbuffers::Bool
  - flatbuffers::Char
  - flatbuffers::UChar
  - flatbuffers::Short
  - flatbuffers::UShort
  - flatbuffers::Int
  - flatbuffers::UInt
  - flatbuffers::Long
  - flatbuffers::ULong
  - flatbuffers::Float
  - flatbuffers::Double
  - flatbuffers::String
  - flatbuffers::Unknown
  - flatbuffers::StartVector
  - flatbuffers::EndVector
  - flatbuffers::Element
  - ~IterationVisitor()
  - flatbuffers::InlineSize
  - flatbuffers::LookupEnum
  - flatbuffers::EnumName
  - flatbuffers::IterateValue
  - flatbuffers::IterateObject
  - flatbuffers::IterateFlatBuffer
  - flatbuffers::ToStringVisitor
  - flatbuffers::ToStringVisitor
  - flatbuffers::append_indent
  - flatbuffers::StartSequence
  - flatbuffers::EndSequence
  - flatbuffers::Field
  - flatbuffers::Named
  - flatbuffers::UType
  - flatbuffers::Bool
  - flatbuffers::Char
  - flatbuffers::UChar
  - flatbuffers::Short
  - flatbuffers::UShort
  - flatbuffers::Int
  - flatbuffers::UInt
  - flatbuffers::Long
  - flatbuffers::ULong
  - flatbuffers::Float
  - flatbuffers::Double
  - flatbuffers::String
  - flatbuffers::Unknown
  - flatbuffers::StartVector
  - flatbuffers::EndVector
  - flatbuffers::Element
  - flatbuffers::FlatBufferToString
  - flatbuffers::StartSequence
  - flatbuffers::EndSequence
  - flatbuffers::Field
  - flatbuffers::UType
  - flatbuffers::Bool
  - flatbuffers::Char
  - flatbuffers::UChar
  - flatbuffers::Short
  - flatbuffers::UShort
  - flatbuffers::Int
  - flatbuffers::UInt
  - flatbuffers::Long
  - flatbuffers::ULong
  - flatbuffers::Float
  - flatbuffers::Double
  - flatbuffers::String
  - flatbuffers::Unknown
  - flatbuffers::StartVector
  - flatbuffers::EndVector
  - flatbuffers::Element
  - ~IterationVisitor()
  - flatbuffers::InlineSize
  - flatbuffers::LookupEnum
  - flatbuffers::EnumName
  - flatbuffers::IterateValue
  - flatbuffers::IterateObject
  - flatbuffers::IterateFlatBuffer
  - flatbuffers::ToStringVisitor
  - flatbuffers::ToStringVisitor
  - flatbuffers::append_indent
  - flatbuffers::StartSequence
  - flatbuffers::EndSequence
  - flatbuffers::Field
  - flatbuffers::Named
  - flatbuffers::UType
  - flatbuffers::Bool
  - flatbuffers::Char
  - flatbuffers::UChar
  - flatbuffers::Short
  - flatbuffers::UShort
  - flatbuffers::Int
  - flatbuffers::UInt
  - flatbuffers::Long
  - flatbuffers::ULong
  - flatbuffers::Float
  - flatbuffers::Double
  - flatbuffers::String
  - flatbuffers::Unknown
  - flatbuffers::StartVector
  - flatbuffers::EndVector
  - flatbuffers::Element
  - flatbuffers::FlatBufferToString
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: IterationVisitor
      pos:
        line_end: 69
        line_start: 36
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    - fields:
      - name: s
        type: std::string
      - name: d
        type: std::string
      - name: q
        type: bool
      - name: in
        type: std::string
      - name: indent_level
        type: size_t
      - name: vector_delimited
        type: bool
      item_type: struct
      name: ToStringVisitor
      pos:
        line_end: 404
        line_start: 295
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    - fields: []
      item_type: struct
      name: IterationVisitor
      pos:
        line_end: 69
        line_start: 36
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    - fields:
      - name: s
        type: std::string
      - name: d
        type: std::string
      - name: q
        type: bool
      - name: in
        type: std::string
      - name: indent_level
        type: size_t
      - name: vector_delimited
        type: bool
      item_type: struct
      name: ToStringVisitor
      pos:
        line_end: 404
        line_start: 295
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/minireflect.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::DefaultAllocator::allocate
  - flatbuffers::DefaultAllocator::deallocate
  - flatbuffers::DefaultAllocator::dealloc
  - flatbuffers::Allocate
  - flatbuffers::Deallocate
  - flatbuffers::ReallocateDownward
  - flatbuffers::DefaultAllocator::allocate
  - flatbuffers::DefaultAllocator::deallocate
  - flatbuffers::DefaultAllocator::dealloc
  - flatbuffers::Allocate
  - flatbuffers::Deallocate
  - flatbuffers::ReallocateDownward
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/default_allocator.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::Verifier
  - flatbuffers::Verifier
  - flatbuffers::Check
  - flatbuffers::Verify
  - flatbuffers::VerifyAlignment
  - flatbuffers::Verify
  - flatbuffers::VerifyFromPointer
  - flatbuffers::VerifyFieldStruct
  - flatbuffers::VerifyField
  - flatbuffers::VerifyTable
  - flatbuffers::VerifyVector
  - flatbuffers::VerifyVector
  - flatbuffers::VerifyString
  - flatbuffers::VerifyVectorOrString
  - flatbuffers::VerifyVectorOfStrings
  - flatbuffers::VerifyVectorOfTables
  - flatbuffers::VerifyTableStart
  - flatbuffers::VerifyBufferFromStart
  - flatbuffers::VerifyNestedFlatBuffer
  - flatbuffers::VerifyBuffer
  - flatbuffers::VerifyBuffer
  - flatbuffers::VerifySizePrefixedBuffer
  - flatbuffers::VerifyOffset
  - flatbuffers::VerifyOffset
  - flatbuffers::VerifyComplexity
  - flatbuffers::EndTable
  - flatbuffers::GetComputedSize
  - flatbuffers::GetFlexReuseTracker
  - flatbuffers::SetFlexReuseTracker
  - flatbuffers::FLATBUFFERS_FINAL_CLASS
  - flatbuffers::Verifier
  - flatbuffers::Verifier
  - flatbuffers::Check
  - flatbuffers::Verify
  - flatbuffers::VerifyAlignment
  - flatbuffers::Verify
  - flatbuffers::VerifyFromPointer
  - flatbuffers::VerifyFieldStruct
  - flatbuffers::VerifyField
  - flatbuffers::VerifyTable
  - flatbuffers::VerifyVector
  - flatbuffers::VerifyVector
  - flatbuffers::VerifyString
  - flatbuffers::VerifyVectorOrString
  - flatbuffers::VerifyVectorOfStrings
  - flatbuffers::VerifyVectorOfTables
  - flatbuffers::VerifyTableStart
  - flatbuffers::VerifyBufferFromStart
  - flatbuffers::VerifyNestedFlatBuffer
  - flatbuffers::VerifyBuffer
  - flatbuffers::VerifyBuffer
  - flatbuffers::VerifySizePrefixedBuffer
  - flatbuffers::VerifyOffset
  - flatbuffers::VerifyOffset
  - flatbuffers::VerifyComplexity
  - flatbuffers::EndTable
  - flatbuffers::GetComputedSize
  - flatbuffers::GetFlexReuseTracker
  - flatbuffers::SetFlexReuseTracker
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: max_depth
        type: uoffset_t
      - name: max_tables
        type: uoffset_t
      - name: check_alignment
        type: bool
      - name: check_nested_flatbuffers
        type: bool
      item_type: struct
      name: Options
      pos:
        line_end: 36
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    - fields:
      - name: max_depth
        type: uoffset_t
      - name: max_tables
        type: uoffset_t
      - name: check_alignment
        type: bool
      - name: check_nested_flatbuffers
        type: bool
      item_type: struct
      name: Options
      pos:
        line_end: 36
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/verifier.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - '&operator=(DetachedBuffer &&other) noexcept'
  - ~DetachedBuffer()
  - flatbuffers::DetachedBuffer::data
  - flatbuffers::DetachedBuffer::data
  - flatbuffers::DetachedBuffer::size
  - flatbuffers::DetachedBuffer::destroy
  - flatbuffers::DetachedBuffer::reset
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - flatbuffers::DetachedBuffer::DetachedBuffer
  - '&operator=(DetachedBuffer &&other) noexcept'
  - ~DetachedBuffer()
  - flatbuffers::DetachedBuffer::data
  - flatbuffers::DetachedBuffer::data
  - flatbuffers::DetachedBuffer::size
  - flatbuffers::DetachedBuffer::destroy
  - flatbuffers::DetachedBuffer::reset
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/detached_buffer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::FieldIndexToOffset
  - flatbuffers::data
  - flatbuffers::data
  - flatbuffers::FlatBufferBuilder::FlatBufferBuilder
  - flatbuffers::FlatBufferBuilder::FlatBufferBuilder
  - '&operator=(FlatBufferBuilder &&other) noexcept'
  - flatbuffers::FlatBufferBuilder::Swap
  - ~FlatBufferBuilder()
  - flatbuffers::FlatBufferBuilder::Reset
  - flatbuffers::FlatBufferBuilder::Clear
  - flatbuffers::FlatBufferBuilder::GetSize
  - flatbuffers::FlatBufferBuilder::GetBufferPointer
  - flatbuffers::FlatBufferBuilder::GetBufferSpan
  - flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::Release
  - flatbuffers::FlatBufferBuilder::ReleaseRaw
  - flatbuffers::FlatBufferBuilder::GetBufferMinAlignment
  - flatbuffers::FlatBufferBuilder::Finished
  - flatbuffers::FlatBufferBuilder::ForceDefaults
  - flatbuffers::FlatBufferBuilder::DedupVtables
  - flatbuffers::FlatBufferBuilder::Pad
  - flatbuffers::FlatBufferBuilder::TrackMinAlign
  - flatbuffers::FlatBufferBuilder::Align
  - flatbuffers::FlatBufferBuilder::PushFlatBuffer
  - flatbuffers::FlatBufferBuilder::PushBytes
  - flatbuffers::FlatBufferBuilder::PopBytes
  - flatbuffers::FlatBufferBuilder::AssertScalarT
  - flatbuffers::FlatBufferBuilder::PushElement
  - flatbuffers::FlatBufferBuilder::PushElement
  - flatbuffers::FlatBufferBuilder::TrackField
  - flatbuffers::FlatBufferBuilder::AddElement
  - flatbuffers::FlatBufferBuilder::AddElement
  - flatbuffers::FlatBufferBuilder::AddOffset
  - flatbuffers::FlatBufferBuilder::AddStruct
  - flatbuffers::FlatBufferBuilder::AddStructOffset
  - flatbuffers::FlatBufferBuilder::ReferTo
  - flatbuffers::FlatBufferBuilder::NotNested
  - flatbuffers::FlatBufferBuilder::StartTable
  - flatbuffers::FlatBufferBuilder::EndTable
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::StartStruct
  - flatbuffers::FlatBufferBuilder::EndStruct
  - flatbuffers::FlatBufferBuilder::ClearOffsets
  - flatbuffers::FlatBufferBuilder::PreAlign
  - flatbuffers::FlatBufferBuilder::PreAlign
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::EndVector
  - flatbuffers::FlatBufferBuilder::StartVector
  - flatbuffers::FlatBufferBuilder::StartVector
  - flatbuffers::FlatBufferBuilder::ForceVectorAlignment
  - flatbuffers::FlatBufferBuilder::ForceStringAlignment
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - operator()(const T &a, const T &b) const
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
  - flatbuffers::FlatBufferBuilder::TableKeyComparator
  - flatbuffers::FlatBufferBuilder::TableKeyComparator
  - operator()(const Offset<T> &a, const Offset<T> &b) const
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorScalarCast
  - flatbuffers::FlatBufferBuilder::CreateStruct
  - flatbuffers::FlatBufferBuilder::Finish
  - flatbuffers::FlatBufferBuilder::FinishSizePrefixed
  - flatbuffers::FlatBufferBuilder::SwapBufAllocator
  - flatbuffers::FlatBufferBuilder::Finish
  - flatbuffers::FlatBufferBuilder::StringOffsetCompare
  - operator()(const Offset<String> &a, const Offset<String> &b) const
  - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
  - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
  - flatbuffers::GetMutableTemporaryPointer
  - flatbuffers::GetTemporaryPointer
  - flatbuffers::FlatBufferBuilder::Required
  - flatbuffers::FieldIndexToOffset
  - flatbuffers::data
  - flatbuffers::data
  - flatbuffers::FlatBufferBuilder::FlatBufferBuilder
  - flatbuffers::FlatBufferBuilder::FlatBufferBuilder
  - '&operator=(FlatBufferBuilder &&other) noexcept'
  - flatbuffers::FlatBufferBuilder::Swap
  - ~FlatBufferBuilder()
  - flatbuffers::FlatBufferBuilder::Reset
  - flatbuffers::FlatBufferBuilder::Clear
  - flatbuffers::FlatBufferBuilder::GetSize
  - flatbuffers::FlatBufferBuilder::GetBufferPointer
  - flatbuffers::FlatBufferBuilder::GetBufferSpan
  - flatbuffers::FlatBufferBuilder::GetCurrentBufferPointer
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::Release
  - flatbuffers::FlatBufferBuilder::ReleaseRaw
  - flatbuffers::FlatBufferBuilder::GetBufferMinAlignment
  - flatbuffers::FlatBufferBuilder::Finished
  - flatbuffers::FlatBufferBuilder::ForceDefaults
  - flatbuffers::FlatBufferBuilder::DedupVtables
  - flatbuffers::FlatBufferBuilder::Pad
  - flatbuffers::FlatBufferBuilder::TrackMinAlign
  - flatbuffers::FlatBufferBuilder::Align
  - flatbuffers::FlatBufferBuilder::PushFlatBuffer
  - flatbuffers::FlatBufferBuilder::PushBytes
  - flatbuffers::FlatBufferBuilder::PopBytes
  - flatbuffers::FlatBufferBuilder::AssertScalarT
  - flatbuffers::FlatBufferBuilder::PushElement
  - flatbuffers::FlatBufferBuilder::PushElement
  - flatbuffers::FlatBufferBuilder::TrackField
  - flatbuffers::FlatBufferBuilder::AddElement
  - flatbuffers::FlatBufferBuilder::AddElement
  - flatbuffers::FlatBufferBuilder::AddOffset
  - flatbuffers::FlatBufferBuilder::AddStruct
  - flatbuffers::FlatBufferBuilder::AddStructOffset
  - flatbuffers::FlatBufferBuilder::ReferTo
  - flatbuffers::FlatBufferBuilder::NotNested
  - flatbuffers::FlatBufferBuilder::StartTable
  - flatbuffers::FlatBufferBuilder::EndTable
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::StartStruct
  - flatbuffers::FlatBufferBuilder::EndStruct
  - flatbuffers::FlatBufferBuilder::ClearOffsets
  - flatbuffers::FlatBufferBuilder::PreAlign
  - flatbuffers::FlatBufferBuilder::PreAlign
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::CreateSharedString
  - flatbuffers::FlatBufferBuilder::EndVector
  - flatbuffers::FlatBufferBuilder::StartVector
  - flatbuffers::FlatBufferBuilder::StartVector
  - flatbuffers::FlatBufferBuilder::ForceVectorAlignment
  - flatbuffers::FlatBufferBuilder::ForceStringAlignment
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVector
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStrings
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfNativeStructs
  - operator()(const T &a, const T &b) const
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedNativeStructs
  - flatbuffers::FlatBufferBuilder::TableKeyComparator
  - flatbuffers::FlatBufferBuilder::TableKeyComparator
  - operator()(const Offset<T> &a, const Offset<T> &b) const
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
  - flatbuffers::FlatBufferBuilder::CreateVectorOfSortedTables
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
  - flatbuffers::FlatBufferBuilder::FLATBUFFERS_ATTRIBUTE
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVector
  - flatbuffers::FlatBufferBuilder::CreateUninitializedVectorOfStructs
  - flatbuffers::FlatBufferBuilder::CreateVectorScalarCast
  - flatbuffers::FlatBufferBuilder::CreateStruct
  - flatbuffers::FlatBufferBuilder::Finish
  - flatbuffers::FlatBufferBuilder::FinishSizePrefixed
  - flatbuffers::FlatBufferBuilder::SwapBufAllocator
  - flatbuffers::FlatBufferBuilder::Finish
  - flatbuffers::FlatBufferBuilder::StringOffsetCompare
  - operator()(const Offset<String> &a, const Offset<String> &b) const
  - flatbuffers::FlatBufferBuilder::StartVectorOfStructs
  - flatbuffers::FlatBufferBuilder::EndVectorOfStructs
  - flatbuffers::GetMutableTemporaryPointer
  - flatbuffers::GetTemporaryPointer
  - flatbuffers::FlatBufferBuilder::Required
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: StructKeyComparator
      pos:
        line_end: 916
        line_start: 912
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: '&buf_'
        type: vector_downward
      item_type: struct
      name: TableKeyComparator
      pos:
        line_end: 993
        line_start: 980
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: 'off'
        type: uoffset_t
      - name: id
        type: voffset_t
      item_type: struct
      name: FieldLoc
      pos:
        line_end: 1144
        line_start: 1141
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: '*buf_'
        type: vector_downward
      item_type: struct
      name: StringOffsetCompare
      pos:
        line_end: 1176
        line_start: 1167
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields: []
      item_type: struct
      name: StructKeyComparator
      pos:
        line_end: 916
        line_start: 912
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: '&buf_'
        type: vector_downward
      item_type: struct
      name: TableKeyComparator
      pos:
        line_end: 993
        line_start: 980
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: 'off'
        type: uoffset_t
      - name: id
        type: voffset_t
      item_type: struct
      name: FieldLoc
      pos:
        line_end: 1144
        line_start: 1141
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - fields:
      - name: '*buf_'
        type: vector_downward
      item_type: struct
      name: StringOffsetCompare
      pos:
        line_end: 1176
        line_start: 1167
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    typedefs:
    - item_type: typedef
      name: StringOffsetMap
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    - item_type: typedef
      name: StringOffsetMap
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/flatbuffer_builder.h
    union: []
- function_names:
  - flatbuffers::vector_downward::vector_downward
  - flatbuffers::vector_downward::vector_downward
  - '&operator=(vector_downward &&other) noexcept'
  - ~vector_downward()
  - flatbuffers::vector_downward::reset
  - flatbuffers::vector_downward::clear
  - flatbuffers::vector_downward::clear_scratch
  - flatbuffers::vector_downward::clear_allocator
  - flatbuffers::vector_downward::clear_buffer
  - flatbuffers::vector_downward::release_raw
  - flatbuffers::vector_downward::release
  - flatbuffers::vector_downward::ensure_space
  - flatbuffers::vector_downward::make_space
  - flatbuffers::vector_downward::get_custom_allocator
  - flatbuffers::vector_downward::size
  - flatbuffers::vector_downward::scratch_size
  - flatbuffers::vector_downward::capacity
  - flatbuffers::vector_downward::data
  - flatbuffers::vector_downward::scratch_data
  - flatbuffers::vector_downward::scratch_end
  - flatbuffers::vector_downward::data_at
  - flatbuffers::vector_downward::push
  - flatbuffers::vector_downward::push_small
  - flatbuffers::vector_downward::scratch_push_small
  - flatbuffers::vector_downward::fill
  - flatbuffers::vector_downward::fill_big
  - flatbuffers::vector_downward::pop
  - flatbuffers::vector_downward::scratch_pop
  - flatbuffers::vector_downward::swap
  - flatbuffers::vector_downward::swap_allocator
  - flatbuffers::vector_downward::reallocate
  - flatbuffers::vector_downward::vector_downward
  - flatbuffers::vector_downward::vector_downward
  - '&operator=(vector_downward &&other) noexcept'
  - ~vector_downward()
  - flatbuffers::vector_downward::reset
  - flatbuffers::vector_downward::clear
  - flatbuffers::vector_downward::clear_scratch
  - flatbuffers::vector_downward::clear_allocator
  - flatbuffers::vector_downward::clear_buffer
  - flatbuffers::vector_downward::release_raw
  - flatbuffers::vector_downward::release
  - flatbuffers::vector_downward::ensure_space
  - flatbuffers::vector_downward::make_space
  - flatbuffers::vector_downward::get_custom_allocator
  - flatbuffers::vector_downward::size
  - flatbuffers::vector_downward::scratch_size
  - flatbuffers::vector_downward::capacity
  - flatbuffers::vector_downward::data
  - flatbuffers::vector_downward::scratch_data
  - flatbuffers::vector_downward::scratch_end
  - flatbuffers::vector_downward::data_at
  - flatbuffers::vector_downward::push
  - flatbuffers::vector_downward::push_small
  - flatbuffers::vector_downward::scratch_push_small
  - flatbuffers::vector_downward::fill
  - flatbuffers::vector_downward::fill_big
  - flatbuffers::vector_downward::pop
  - flatbuffers::vector_downward::scratch_pop
  - flatbuffers::vector_downward::swap
  - flatbuffers::vector_downward::swap_allocator
  - flatbuffers::vector_downward::reallocate
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/vector_downward.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::CodeWriter::CodeWriter
  - flatbuffers::CodeWriter::Clear
  - flatbuffers::CodeWriter::SetValue
  - flatbuffers::CodeWriter::GetValue
  - flatbuffers::CodeWriter::ToString
  - flatbuffers::CodeWriter::IncrementIdentLevel
  - flatbuffers::CodeWriter::DecrementIdentLevel
  - flatbuffers::CodeWriter::SetPadding
  - flatbuffers::BaseGenerator::BaseGenerator
  - ~BaseGenerator()
  - flatbuffers::BaseGenerator::CurrentNameSpace
  - ~FloatConstantGenerator()
  - flatbuffers::CodeWriter::CodeWriter
  - flatbuffers::CodeWriter::Clear
  - flatbuffers::CodeWriter::SetValue
  - flatbuffers::CodeWriter::GetValue
  - flatbuffers::CodeWriter::ToString
  - flatbuffers::CodeWriter::IncrementIdentLevel
  - flatbuffers::CodeWriter::DecrementIdentLevel
  - flatbuffers::CodeWriter::SetPadding
  - flatbuffers::BaseGenerator::BaseGenerator
  - ~BaseGenerator()
  - flatbuffers::BaseGenerator::CurrentNameSpace
  - ~FloatConstantGenerator()
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first_line'
        type: char
      - name: '*content_line_prefix'
        type: char
      - name: '*last_line'
        type: char
      item_type: struct
      name: CommentConfig
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    - fields:
      - name: '*first_line'
        type: char
      - name: '*content_line_prefix'
        type: char
      - name: '*last_line'
        type: char
      item_type: struct
      name: CommentConfig
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/code_generators.h
    typedefs: []
    union: []
- function_names:
  - flatbuffers::IsScalar
  - flatbuffers::IsInteger
  - flatbuffers::IsFloat
  - flatbuffers::IsLong
  - flatbuffers::GetTypeSize
  - flatbuffers::GetTypeSizeInline
  - flatbuffers::GetAnyRoot
  - flatbuffers::GetAnyRoot
  - flatbuffers::GetAnySizePrefixedRoot
  - flatbuffers::GetAnySizePrefixedRoot
  - flatbuffers::GetFieldDefaultI
  - flatbuffers::GetFieldDefaultF
  - flatbuffers::GetFieldI
  - flatbuffers::GetFieldF
  - flatbuffers::GetFieldS
  - flatbuffers::GetFieldV
  - flatbuffers::GetFieldAnyV
  - flatbuffers::GetFieldT
  - flatbuffers::GetFieldStruct
  - flatbuffers::GetFieldStruct
  - flatbuffers::GetAnyFieldI
  - flatbuffers::GetAnyFieldF
  - flatbuffers::GetAnyFieldS
  - flatbuffers::GetAnyFieldI
  - flatbuffers::GetAnyFieldF
  - flatbuffers::GetAnyFieldS
  - flatbuffers::GetAnyVectorElemI
  - flatbuffers::GetAnyVectorElemF
  - flatbuffers::GetAnyVectorElemS
  - flatbuffers::GetAnyVectorElemPointer
  - flatbuffers::GetAnyVectorElemAddressOf
  - flatbuffers::GetAnyFieldAddressOf
  - flatbuffers::GetAnyFieldAddressOf
  - flatbuffers::SetField
  - flatbuffers::SetAnyFieldI
  - flatbuffers::SetAnyFieldF
  - flatbuffers::SetAnyFieldS
  - flatbuffers::SetAnyFieldI
  - flatbuffers::SetAnyFieldF
  - flatbuffers::SetAnyFieldS
  - flatbuffers::SetAnyVectorElemI
  - flatbuffers::SetAnyVectorElemF
  - flatbuffers::SetAnyVectorElemS
  - flatbuffers::pointer_inside_vector::pointer_inside_vector
  - '*operator*() const'
  - '*operator->() const'
  - flatbuffers::piv
  - flatbuffers::UnionTypeFieldSuffix
  - flatbuffers::GetUnionType
  - flatbuffers::ResizeVector
  - flatbuffers::SetFieldT
  - flatbuffers::IsScalar
  - flatbuffers::IsInteger
  - flatbuffers::IsFloat
  - flatbuffers::IsLong
  - flatbuffers::GetTypeSize
  - flatbuffers::GetTypeSizeInline
  - flatbuffers::GetAnyRoot
  - flatbuffers::GetAnyRoot
  - flatbuffers::GetAnySizePrefixedRoot
  - flatbuffers::GetAnySizePrefixedRoot
  - flatbuffers::GetFieldDefaultI
  - flatbuffers::GetFieldDefaultF
  - flatbuffers::GetFieldI
  - flatbuffers::GetFieldF
  - flatbuffers::GetFieldS
  - flatbuffers::GetFieldV
  - flatbuffers::GetFieldAnyV
  - flatbuffers::GetFieldT
  - flatbuffers::GetFieldStruct
  - flatbuffers::GetFieldStruct
  - flatbuffers::GetAnyFieldI
  - flatbuffers::GetAnyFieldF
  - flatbuffers::GetAnyFieldS
  - flatbuffers::GetAnyFieldI
  - flatbuffers::GetAnyFieldF
  - flatbuffers::GetAnyFieldS
  - flatbuffers::GetAnyVectorElemI
  - flatbuffers::GetAnyVectorElemF
  - flatbuffers::GetAnyVectorElemS
  - flatbuffers::GetAnyVectorElemPointer
  - flatbuffers::GetAnyVectorElemAddressOf
  - flatbuffers::GetAnyFieldAddressOf
  - flatbuffers::GetAnyFieldAddressOf
  - flatbuffers::SetField
  - flatbuffers::SetAnyFieldI
  - flatbuffers::SetAnyFieldF
  - flatbuffers::SetAnyFieldS
  - flatbuffers::SetAnyFieldI
  - flatbuffers::SetAnyFieldF
  - flatbuffers::SetAnyFieldS
  - flatbuffers::SetAnyVectorElemI
  - flatbuffers::SetAnyVectorElemF
  - flatbuffers::SetAnyVectorElemS
  - flatbuffers::pointer_inside_vector::pointer_inside_vector
  - '*operator*() const'
  - '*operator->() const'
  - flatbuffers::piv
  - flatbuffers::UnionTypeFieldSuffix
  - flatbuffers::GetUnionType
  - flatbuffers::ResizeVector
  - flatbuffers::SetFieldT
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/reflection.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - flatbuffers::Offset
  - flatbuffers::Offset
  - flatbuffers::Union
  - flatbuffers::IsNull
  - flatbuffers::EndianCheck
  - flatbuffers::AlignOf
  - flatbuffers::StringLessThan
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::GetBufferIdentifier
  - flatbuffers::BufferHasIdentifier
  - flatbuffers::GetMutableRoot
  - flatbuffers::GetMutableSizePrefixedRoot
  - flatbuffers::GetRoot
  - flatbuffers::GetSizePrefixedRoot
  - flatbuffers::Offset
  - flatbuffers::Offset
  - flatbuffers::Union
  - flatbuffers::IsNull
  - flatbuffers::EndianCheck
  - flatbuffers::AlignOf
  - flatbuffers::StringLessThan
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::Read
  - flatbuffers::GetBufferIdentifier
  - flatbuffers::BufferHasIdentifier
  - flatbuffers::GetMutableRoot
  - flatbuffers::GetMutableSizePrefixedRoot
  - flatbuffers::GetRoot
  - flatbuffers::GetSizePrefixedRoot
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: o
        type: uoffset_t
      item_type: struct
      name: Offset
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper
      pos:
        line_end: 83
        line_start: 73
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper<Offset<T>>
      pos:
        line_end: 96
        line_start: 84
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper<const T *>
      pos:
        line_end: 107
        line_start: 97
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: o
        type: uoffset_t
      item_type: struct
      name: Offset
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper
      pos:
        line_end: 83
        line_start: 73
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper<Offset<T>>
      pos:
        line_end: 96
        line_start: 84
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - fields:
      - name: element_stride
        type: size_t
      item_type: struct
      name: IndirectHelper<const T *>
      pos:
        line_end: 107
        line_start: 97
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    typedefs:
    - item_type: typedef
      name: return_type
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: mutable_return_type
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*mutable_return_type'
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*mutable_return_type'
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: return_type
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: mutable_return_type
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*mutable_return_type'
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*return_type'
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    - item_type: typedef
      name: '*mutable_return_type'
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/buffer.h
    union: []
- function_names: []
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/pch/pch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/flatgeobuf/include/flatbuffers/pch/flatc_pch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mulShift
  - mulShiftAll
  - mulShift
  - mulShiftAll
  - mulShiftAll
  - decimalLength17
  - d2d
  - pow_10
  - to_chars_uint64
  - to_chars_fixed
  - d2d_small_int
  - d2sfixed_buffered_n
  - d2sexp_buffered_n
  source_file: /src/postgis/deps/ryu/d2s.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOUBLE_MANTISSA_BITS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/deps/ryu/d2s.c
      type_or_value: '52'
    - item_type: preproc_def
      name: DOUBLE_EXPONENT_BITS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/deps/ryu/d2s.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DOUBLE_BIAS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postgis/deps/ryu/d2s.c
      type_or_value: '1023'
    structs:
    - fields:
      - name: mantissa
        type: uint64_t
      - name: exponent
        type: int32_t
      item_type: struct
      name: floating_decimal_64
      pos:
        line_end: 212
        line_start: 207
        source_file: /src/postgis/deps/ryu/d2s.c
    typedefs: []
    union: []
- function_names:
  - umul128
  - shiftright128
  - umul128
  - shiftright128
  - umulh
  - div5
  - div10
  - div100
  - div1e8
  - div1e9
  - mod1e9
  - div5
  - div10
  - div100
  - div1e8
  - div1e9
  - mod1e9
  - pow5Factor
  - multipleOfPowerOf5
  - multipleOfPowerOf2
  source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: uint128_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/postgis/deps/ryu/d2s_intrinsics.h
    union: []
- function_names:
  - decimalLength9
  - pow5bits
  - ceil_log2pow5
  - log10Pow2
  - log10Pow5
  - copy_special_str
  - float_to_bits
  - double_to_bits
  source_file: /src/postgis/deps/ryu/common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/ryu/ryu.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/ryu/d2s_full_table.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DOUBLE_POW5_INV_BITCOUNT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/deps/ryu/d2s_full_table.h
      type_or_value: '125'
    - item_type: preproc_def
      name: DOUBLE_POW5_BITCOUNT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postgis/deps/ryu/d2s_full_table.h
      type_or_value: '125'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/ryu/digit_table.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/deps/ryu/d2fixed_full_table.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TABLE_SIZE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postgis/deps/ryu/d2fixed_full_table.h
      type_or_value: '64'
    - item_type: preproc_def
      name: TABLE_SIZE_2
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/postgis/deps/ryu/d2fixed_full_table.h
      type_or_value: '69'
    - item_type: preproc_def
      name: ADDITIONAL_BITS_2
      pos:
        line_end: 1262
        line_start: 1261
        source_file: /src/postgis/deps/ryu/d2fixed_full_table.h
      type_or_value: '120'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*StdCache'
      pos:
        line_end: 2
        line_start: 2
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.h
      type: void
    union: []
- function_names:
  - __ac_isempty
  - __ac_isdel
  - __ac_iseither
  - __ac_set_isdel_false
  - __ac_set_isempty_false
  - __ac_set_isboth_false
  - __ac_set_isdel_true
  - kh_int_hash_func
  - kh_int_hash_equal
  - kh_int64_hash_func
  - kh_int64_hash_equal
  - __ac_X31_hash_string
  - kh_str_hash_func
  - kh_str_hash_equal
  - khash_t
  - kh_init
  - kh_destroy
  - kh_clear
  - kh_resize
  - kh_put
  - kh_get
  - kh_del
  - kh_exist
  - kh_key
  - kh_val
  - kh_value
  - kh_begin
  - kh_end
  - kh_size
  - kh_n_buckets
  - KHASH_SET_INIT_INT
  - KHASH_MAP_INIT_INT
  - KHASH_SET_INIT_INT64
  - KHASH_MAP_INIT_INT64
  - KHASH_SET_INIT_STR
  - KHASH_MAP_INIT_STR
  source_file: /src/postgis/extensions/address_standardizer/khash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AC_VERSION_KHASH_H
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postgis/extensions/address_standardizer/khash.h
      type_or_value: '"0.2.2"'
    - item_type: preproc_def
      name: __ac_HASH_PRIME_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/postgis/extensions/address_standardizer/khash.h
      type_or_value: '32'
    structs: []
    typedefs:
    - item_type: typedef
      name: khint_t
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/postgis/extensions/address_standardizer/khash.h
      type: uint32_t
    - item_type: typedef
      name: khiter_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/postgis/extensions/address_standardizer/khash.h
    - item_type: typedef
      name: '*kh_cstr_t'
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/postgis/extensions/address_standardizer/khash.h
      type: char
    union: []
- function_names:
  - hash_new
  - hash_free
  - hash_clear
  - hash_each
  - hash_each_key
  - hash_each_val
  source_file: /src/postgis/extensions/address_standardizer/hash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: hash_size
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/extensions/address_standardizer/hash.h
      type_or_value: kh_size
    structs: []
    typedefs:
    - item_type: typedef
      name: hash_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/postgis/extensions/address_standardizer/hash.h
    union: []
- function_names:
  - init_output_fields
  - sym_to_field
  - _get_definition_text_
  - stuff_fields
  - send_fields_to_stream
  - _get_standard_
  - _scan_target_
  - _copy_standard_
  source_file: /src/postgis/extensions/address_standardizer/export.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ORDER_DISPLACEMENT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/extensions/address_standardizer/export.c
      type_or_value: '2'
    - item_type: preproc_def
      name: STREAM_BUF_SIZE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/postgis/extensions/address_standardizer/export.c
      type_or_value: MAXSTRLEN
    structs: []
    typedefs: []
    union: []
- function_names:
  - refresh_transducer
  - is_input_symbol
  - is_output_symbol
  - rules_init
  - rules_add_rule
  - rules_ready
  - rules_free
  - create_rules
  - destroy_rules
  - initialize_link
  - classify_link
  - add_failure_linkage
  - precompute_gamma_function
  - output_rule_statistics
  source_file: /src/postgis/extensions/address_standardizer/gamma.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/pagc_std_api.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**hash_table'
        type: ENTRY
      - name: '*err_p'
        type: ERR_PARAM
      item_type: struct
      name: LEXICON_s
      pos:
        line_end: 9
        line_start: 6
        source_file: /src/postgis/extensions/address_standardizer/pagc_std_api.h
    - fields:
      - name: ready
        type: int
      - name: rule_number
        type: int
      - name: last_node
        type: int
      - name: '*r_p'
        type: RULE_PARAM
      - name: '*err_p'
        type: ERR_PARAM
      - name: '**Trie'
        type: NODE
      - name: '*rule_end'
        type: SYMB
      - name: '*r'
        type: SYMB
      item_type: struct
      name: RULES_s
      pos:
        line_end: 20
        line_start: 11
        source_file: /src/postgis/extensions/address_standardizer/pagc_std_api.h
    - fields:
      - name: '*pagc_p'
        type: PAGC_GLOBAL
      - name: '*misc_stand'
        type: STAND_PARAM
      - name: '*err_p'
        type: ERR_PARAM
      item_type: struct
      name: STANDARDIZER_s
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/postgis/extensions/address_standardizer/pagc_std_api.h
    - fields:
      - name: '*building'
        type: char
      - name: '*house_num'
        type: char
      - name: '*predir'
        type: char
      - name: '*qual'
        type: char
      - name: '*pretype'
        type: char
      - name: '*name'
        type: char
      - name: '*suftype'
        type: char
      - name: '*sufdir'
        type: char
      - name: '*ruralroute'
        type: char
      - name: '*extra'
        type: char
      - name: '*city'
        type: char
      - name: '*state'
        type: char
      - name: '*country'
        type: char
      - name: '*postcode'
        type: char
      - name: '*box'
        type: char
      - name: '*unit'
        type: char
      item_type: struct
      name: STDADDR_s
      pos:
        line_end: 45
        line_start: 28
        source_file: /src/postgis/extensions/address_standardizer/pagc_std_api.h
    typedefs: []
    union: []
- function_names:
  - PRINT_ERROR
  - init_errors
  - close_errors
  - turn_off_error_log
  - empty_errors
  - open_error_log
  - register_error
  - send_fields_to_error
  source_file: /src/postgis/extensions/address_standardizer/err_param.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESET_ERR_P
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/postgis/extensions/address_standardizer/err_param.c
      type_or_value: "err_p -> first_err = 0 ; \\\n   err_p -> last_err = 0 ; \\\n
        \  err_p -> next_fatal = TRUE ; \\\n   err_mem = err_p -> err_array  ; \\\n
        \  err_p -> error_buf = err_mem -> content_buf ; \\\n   err_mem -> is_fatal
        = TRUE ; \\\n   BLANK_STRING( err_mem -> content_buf )"
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBG
  - DBG
  - get_state_regex
  - clean_trailing_punct
  - clean_leading_punct
  - strtoupper
  - match
  - match
  - RET_ERROR
  - parseaddress
  - load_state_hash
  - free_state_hash
  source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PARSE_CASELESS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.c
      type_or_value: PCRE_CASELESS
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PARSE_CASELESS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.c
      type_or_value: PCRE2_CASELESS
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_set
  - hash_get
  - hash_has
  - hash_del
  - test_hash_set
  - test_hash_get
  - test_hash_has
  - test_hash_size
  - test_hash_del
  - test_hash_clear
  - test_hash_each
  - test_hash_each_key
  - test_hash_each_val
  - main
  source_file: /src/postgis/extensions/address_standardizer/hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBG
  - DBG
  - parse_address
  source_file: /src/postgis/extensions/address_standardizer/address_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBG
  - DBG
  - BLANK_STRING
  - IS_BLANK
  - LOG_DS_ERR
  - TERMINATE_INTERFACE
  - LOG_MESS
  - LOG_MESS1
  - LOG_MESS2
  - LOG_MESS3
  - RET_ERR
  - RET_ERR1
  - RET_ERR2
  - RET_ERR3
  - FATAL_ERR
  - CLIENT_ERR
  - MEM_ERR
  - PAGC_STORE_STR
  - PAGC_ALLOC_STRUC
  - PAGC_CALLOC_STRUC
  - PAGC_CALLOC_2D_ARRAY
  - FREE_AND_NULL
  - PAGC_DESTROY_2D_ARRAY
  - PAGC_FILE_OPEN
  - OPEN_ALLOCATED_NAME
  - SPACE_APPEND_WITH_LEN
  - MAKE_SOUNDEX_KEY
  - MAKE_CONCAT_KEY
  - MAKE_CONCAT_SOUNDEX_KEY
  - IS_ALPHA_STR_SENTINEL
  - CONVERT_HANDLE
  - CHECK_BOUNDS
  - CHECK_BOUNDS_ABSOLUTE
  - UPDATE_SCHEMA_BOUNDS
  - UPDATE_CONTEXT_BOUNDS
  - SCHEMA_INDEX_TO_POINTER
  - CONTEXT_INDEX_TO_POINTER
  - LIMIT_BOUNDS
  - READ_BETA_STRING
  - READ_BETA_INT
  - INT32_AS_BYTES
  - INTEGER_AS_BYTES
  - DOUBLE_AS_BYTES
  - IS_DOUBLE_EQUAL
  - IS_DOUBLE_NOT_EQUAL
  - IS_DOUBLE_LESS
  - IS_DOUBLE_GREATER
  - IS_DOUBLE_LESS_OR_EQUAL
  - IS_DOUBLE_GREATER_OR_EQUAL
  source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: MAXSTRLEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '256'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ERR_FAIL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: BOTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CUR_PAGC_VER
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '41'
    - item_type: preproc_def
      name: CUR_PAGC_VER
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '40'
    - item_type: preproc_def
      name: MAX_ATT_FLDS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_REDIRECTS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: COMMA
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: ''','''
    - item_type: preproc_def
      name: NEITHER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LEFT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RIGHT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OCCUPANCY_MULTIPLE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '16'
    - item_type: preproc_def
      name: EXACT_MICRO_MATCH
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '32'
    - item_type: preproc_def
      name: EXACT_MACRO_MATCH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MACRO_THRESHOLD_MATCH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '128'
    - item_type: preproc_def
      name: EPSILON
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MAXPHRASE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '10'
    - item_type: preproc_def
      name: LANDMARK_ARRAY_WIDTH
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: 10 + MAXPHRASE
    - item_type: preproc_def
      name: MAXFLDLEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: MAXSTRLEN
    - item_type: preproc_def
      name: MAX_REC_SPACE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '262144'
    - item_type: preproc_def
      name: MAX_SCHEMAS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: MAX_ERRORS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '512'
    - item_type: preproc_def
      name: NUMBER
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WORD
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TYPE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ROAD
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: STOPWORD
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DASH
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: AMPERS
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '13'
    - item_type: preproc_def
      name: ORD
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '15'
    - item_type: preproc_def
      name: SINGLE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '18'
    - item_type: preproc_def
      name: BUILDH
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '19'
    - item_type: preproc_def
      name: MILE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '20'
    - item_type: preproc_def
      name: DOUBLE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '21'
    - item_type: preproc_def
      name: DIRECT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '22'
    - item_type: preproc_def
      name: MIXED
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '23'
    - item_type: preproc_def
      name: BUILDT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '24'
    - item_type: preproc_def
      name: FRACT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '25'
    - item_type: preproc_def
      name: PCT
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PCH
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '27'
    - item_type: preproc_def
      name: QUINT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '28'
    - item_type: preproc_def
      name: QUAD
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '29'
    - item_type: preproc_def
      name: MAXINSYM
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: QUAD + 1
    - item_type: preproc_def
      name: BLDNG
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HOUSE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PREDIR
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: QUALIF
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PRETYP
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: STREET
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SUFTYP
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: SUFDIR
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: UNKNWN
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: CITY
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PROV
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NATION
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '12'
    - item_type: preproc_def
      name: POSTAL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '13'
    - item_type: preproc_def
      name: BOXH
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '14'
    - item_type: preproc_def
      name: BOXT
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '15'
    - item_type: preproc_def
      name: UNITH
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '16'
    - item_type: preproc_def
      name: UNITT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '17'
    - item_type: preproc_def
      name: MAXOUTSYM
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: UNITT + 1
    - item_type: preproc_def
      name: NEEDHEAD
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: BOXH
    - item_type: preproc_def
      name: FEATNAME
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: FEATTYPE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FEATAREA
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: FEAT_L
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '7'
    - item_type: preproc_def
      name: FEAT_T
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FEAT_A
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: NO_COMPARISON
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CHAR_SINGLE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: POSTAL_SINGLE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NUMBER_SINGLE
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CHAR_LEFT_RIGHT
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: POSTAL_LEFT_RIGHT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '5'
    - item_type: preproc_def
      name: POSTAL_SPLIT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NUMBER_INTERVAL
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '7'
    - item_type: preproc_def
      name: NUMBER_INTERVAL_LEFT_RIGHT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: POSTAL_LEFT_RIGHT_SPLIT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: CHAR_ALT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: CHAR_ALT_LEFT_RIGHT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: ERR_READ
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: OK_READ
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GOOD_READ
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_EDIT_DIST
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: US_FULL_CODE_LEN
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '10'
    - item_type: preproc_def
      name: US_PART_CODE_LEN
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SXCODELEN
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DEGREES_TO_RADIANS
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '.0174532925199432958'
    - item_type: preproc_def
      name: DOUBLE_PI
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6.2831853071795864769'
    - item_type: preproc_def
      name: PI
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3.14159265358979323846'
    - item_type: preproc_def
      name: HALF_PI
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1.57079632679489661923'
    - item_type: preproc_def
      name: EARTH_RADIUS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6378000.'
    - item_type: preproc_def
      name: REVERSE_GEO
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000001u '
    - item_type: preproc_def
      name: ENABLE_PSEUDO
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000008u '
    - item_type: preproc_def
      name: ENABLE_CROSS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000010u '
    - item_type: preproc_def
      name: ENABLE_ALT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000020u '
    - item_type: preproc_def
      name: ENABLE_LAND
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000040u '
    - item_type: preproc_def
      name: APPEND
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000100u '
    - item_type: preproc_def
      name: HAVE_OCCUPANCY
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00000400u '
    - item_type: preproc_def
      name: CONCURRENT_PRIVATE
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00002000u '
    - item_type: preproc_def
      name: NO_STOP_ON_EXACT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00004000u '
    - item_type: preproc_def
      name: CAN_THREAD
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: 0x00008000u
    - item_type: preproc_def
      name: HAVE_OFFICIAL_STREET
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00020000u '
    - item_type: preproc_def
      name: HAVE_SOURCE_ID
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00040000u '
    - item_type: preproc_def
      name: HAVE_FEAT_TYPE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00080000u '
    - item_type: preproc_def
      name: HAVE_SUBDISTRICT
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00100000u '
    - item_type: preproc_def
      name: HAVE_SOURCE_ID_B
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00200000u '
    - item_type: preproc_def
      name: HAVE_SOURCE_ID_C
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x00400000u '
    - item_type: preproc_def
      name: MAXTEXT
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: MAXSTRLEN
    - item_type: preproc_def
      name: FIRST_LEX_POS
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RIGHT_COMPRESS
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: STOPWORD
    - item_type: preproc_def
      name: LEFT_COMPRESS
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: WORD
    - item_type: preproc_def
      name: LOW
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LOW_MEDIUM
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: MEDIUM
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: HIGH_MEDIUM
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '12'
    - item_type: preproc_def
      name: HIGH
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '15'
    - item_type: preproc_def
      name: EXCELLENT
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PERFECT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '17'
    - item_type: preproc_def
      name: NUMBER_OF_WEIGHTS
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: PERFECT + 1
    - item_type: preproc_def
      name: MAXDEF
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_STZ
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: MAXMORPHS
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAXLEX
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PSEUDO_XML
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PSEUDO_CSV
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SCREEN
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NO_FORMAT
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MACRO_C
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MICRO_C
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ARC_C
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CIVIC_C
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EXTRA_C
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_CL
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '5'
    - item_type: preproc_def
      name: EXTRA_STATE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: MICRO_B
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MICRO_M
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MACRO
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PREFIX
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: EXIT
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DFRACT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DSINGLE
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DDOUBLE
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DWORDT
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNUMBER
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DMIXED
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DPOSTH
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DPOSTT
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DZIPH
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DZIPT
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '9'
    - item_type: preproc_def
      name: DDIRLET
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DORD
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '11'
    - item_type: preproc_def
      name: DUNIT
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '12'
    - item_type: preproc_def
      name: SPACE
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: FATAL_EXIT
      pos:
        line_end: 1062
        line_start: 1061
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: exit(1)
    - item_type: preproc_def
      name: RNF_SENTINEL
      pos:
        line_end: 1170
        line_start: 1169
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '''_'''
    - item_type: preproc_def
      name: HANDLE_CHECK
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '1014'
    - item_type: preproc_def
      name: R_ERR
      pos:
        line_end: 1252
        line_start: 1251
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type_or_value: '.00001'
    structs:
    - fields:
      - name: is_fatal
        type: int
      - name: content_buf[MAXSTRLEN]
        type: char
      item_type: struct
      name: err_rec
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: last_err
        type: int
      - name: first_err
        type: int
      - name: next_fatal
        type: int
      - name: err_array[MAX_ERRORS]
        type: ERR_REC
      - name: '*error_buf'
        type: char
      - name: '*stream'
        type: FILE
      item_type: struct
      name: err_param
      pos:
        line_end: 252
        line_start: 244
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: Order
        type: int
      - name: Type
        type: SYMB
      - name: Protect
        type: int
      - name: '*Standard'
        type: char
      - name: '*Next'
        type: struct def
      item_type: struct
      name: def
      pos:
        line_end: 331
        line_start: 324
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '*Lookup'
        type: char
      - name: '*DefList'
        type: DEF
      - name: '*Next'
        type: struct entry
      item_type: struct
      name: entry
      pos:
        line_end: 339
        line_start: 334
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '*Input'
        type: SYMB
      - name: '*Output'
        type: SYMB
      - name: Type
        type: SYMB
      - name: Weight
        type: SYMB
      - name: Length
        type: int
      - name: hits
        type: int
      - name: best
        type: int
      - name: '*OutputNext'
        type: struct keyword
      item_type: struct
      name: keyword
      pos:
        line_end: 353
        line_start: 343
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: StartMorph
        type: int
      - name: EndMorph
        type: int
      - name: '*DefList'
        type: DEF
      - name: Text[MAXTEXT]
        type: char
      item_type: struct
      name: lexeme
      pos:
        line_end: 362
        line_start: 356
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: num_nodes
        type: int
      - name: rules_read
        type: int
      - name: collect_statistics
        type: int
      - name: total_key_hits
        type: int
      - name: total_best_keys
        type: int
      - name: '**gamma_matrix'
        type: NODE
      - name: '*rule_space'
        type: SYMB
      - name: '***output_link'
        type: KW
      - name: '*key_space'
        type: KW
      item_type: struct
      name: rule_param
      pos:
        line_end: 376
        line_start: 365
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: sub_sym
        type: SYMB
      - name: Start
        type: int
      - name: End
        type: int
      - name: State
        type: int
      - name: Value
        type: DS_Score_t
      - name: '*Output'
        type: SYMB
      - name: '*Key'
        type: KW
      item_type: struct
      name: seg
      pos:
        line_end: 388
        line_start: 379
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: score
        type: DS_Score_t
      - name: raw_score
        type: DS_Score_t
      - name: '*build_key'
        type: KW
      - name: '*definitions[MAXLEX]'
        type: DEF
      - name: output[MAXLEX]
        type: SYMB
      item_type: struct
      name: stz
      pos:
        line_end: 398
        line_start: 391
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: stz_list_size
        type: int
      - name: last_stz_output
        type: int
      - name: stz_list_cutoff
        type: double
      - name: '*segs'
        type: SEG
      - name: '**stz_array'
        type: STZ
      item_type: struct
      name: stz_param
      pos:
        line_end: 408
        line_start: 401
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: Term
        type: int
      - name: TextLen
        type: int
      - name: Text[MAXTEXT]
        type: char
      - name: Sym
        type: DEFDEF
      item_type: struct
      name: morph
      pos:
        line_end: 417
        line_start: 411
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: cur_morph
        type: int
      - name: base_morph
        type: int
      - name: LexNum
        type: int
      - name: analyze_complete
        type: int
      - name: '*have_ref_att'
        type: int
      - name: '*rules'
        type: RULE_PARAM
      - name: '**lexicon'
        type: ENTRY
      - name: '**address_lexicon'
        type: ENTRY
      - name: '**poi_lexicon'
        type: ENTRY
      - name: '**gaz_lexicon'
        type: ENTRY
      - name: start_state
        type: int
      - name: '*errors'
        type: ERR_PARAM
      - name: '*stz_info'
        type: STZ_PARAM
      - name: '**default_def'
        type: DEF
      - name: '**standard_fields'
        type: char
      - name: morph_array[MAXMORPHS]
        type: struct morph
      - name: best_output[MAXLEX]
        type: SYMB
      - name: target[MAXLEX]
        type: SYMB
      - name: lex_vector[MAXLEX]
        type: LEXEME
      - name: cur_sym_sel[MAXLEX]
        type: int
      - name: orig_str_pos[MAXLEX]
        type: int
      - name: def_cnt[MAXLEX]
        type: int
      - name: registry[MAXLEX + 1]
        type: NODE
      - name: '*best_defs[MAXLEX]'
        type: DEF
      - name: '*def_array[MAXLEX][MAXDEF]'
        type: DEF
      - name: comp_lex_sym[MAXLEX][MAXDEF]
        type: SYMB
      item_type: struct
      name: stand_param
      pos:
        line_end: 453
        line_start: 419
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: symbol
        type: SYMB
      - name: comp_type
        type: int
      - name: check_dir
        type: int
      - name: num_redirects
        type: int
      - name: m_weight
        type: DS_Score_t
      - name: u_weight
        type: DS_Score_t
      - name: ru_fld_idx[MAX_ATT_FLDS]
        type: DS_Field_t
      - name: rs_fld_idx[MAX_ATT_FLDS]
        type: DS_Field_t
      - name: rs_off_fld_idx[MAX_ATT_FLDS]
        type: DS_Field_t
      - name: redirects[MAX_REDIRECTS]
        type: SYMB
      item_type: struct
      name: attribute
      pos:
        line_end: 479
        line_start: 463
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: score_card
        type: int
      - name: record
        type: DS_Entity_t
      - name: stz
        type: int
      - name: edit_distance
        type: int
      - name: score
        type: DS_Score_t
      - name: position
        type: PAGC_POINT
      - name: block_face
        type: int
      - name: data[BETA_BUF_SIZE]
        type: char
      item_type: struct
      name: candidate
      pos:
        line_end: 496
        line_start: 485
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: record_A
        type: DS_Entity_t
      - name: record_B
        type: DS_Entity_t
      - name: edit_distance_A
        type: int
      - name: edit_distance_B
        type: int
      - name: score
        type: DS_Score_t
      - name: position
        type: PAGC_POINT
      - name: stz_A
        type: int
      - name: stz_B
        type: int
      - name: cur_cand_data_A[BETA_BUF_SIZE]
        type: char
      - name: cur_cand_data_B[BETA_BUF_SIZE]
        type: char
      item_type: struct
      name: int_candidate
      pos:
        line_end: 510
        line_start: 498
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: log_init
        type: int
      - name: '*rules'
        type: RULE_PARAM
      - name: '**default_def'
        type: DEF
      - name: '**addr_lexicon'
        type: ENTRY
      - name: '**poi_lexicon'
        type: ENTRY
      - name: '**gaz_lexicon'
        type: ENTRY
      - name: _file_sys
        type: DS_Handle
      - name: '*process_errors'
        type: ERR_PARAM
      item_type: struct
      name: pagc_global
      pos:
        line_end: 527
        line_start: 515
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: match_weight[MAXOUTSYM]
        type: DS_Score_t
      - name: unmatch_weight[MAXOUTSYM]
        type: DS_Score_t
      - name: max_score
        type: DS_Score_t
      - name: score_range
        type: DS_Score_t
      - name: starting_cutoff
        type: DS_Score_t
      - name: user_cut
        type: DS_Score_t
      - name: max_x_score
        type: DS_Score_t
      - name: max_m_weight
        type: DS_Score_t
      - name: max_u_weight
        type: DS_Score_t
      - name: x_m_weight
        type: DS_Score_t
      - name: x_u_weight
        type: DS_Score_t
      - name: x_range
        type: DS_Score_t
      - name: max_p_score
        type: DS_Score_t
      - name: land_words_m_weight
        type: DS_Score_t
      - name: land_words_u_weight
        type: DS_Score_t
      - name: land_type_m_weight
        type: DS_Score_t
      - name: land_type_u_weight
        type: DS_Score_t
      - name: land_area_m_weight
        type: DS_Score_t
      - name: land_area_u_weight
        type: DS_Score_t
      - name: score_p_range
        type: DS_Score_t
      - name: lat_units
        type: DS_Metric_t
      - name: lon_units
        type: DS_Metric_t
      - name: MBR_max_X
        type: DS_Coord_t
      - name: MBR_max_Y
        type: DS_Coord_t
      - name: MBR_min_X
        type: DS_Coord_t
      - name: MBR_min_Y
        type: DS_Coord_t
      - name: pagc_ver
        type: int
      - name: shp_typ
        type: DS_Dim_t
      - name: both_sides
        type: int
      - name: from_cross_col
        type: DS_Field_t
      - name: to_cross_col
        type: DS_Field_t
      - name: alt_street_col
        type: DS_Field_t
      - name: total_landmark_words
        type: int
      - name: landmark_alpha
        type: DS_Field_t
      - name: landmark_beta
        type: DS_Field_t
      - name: landmark_beta_official
        type: DS_Field_t
      - name: landmark_type_alpha
        type: DS_Field_t
      - name: landmark_type_beta
        type: DS_Field_t
      - name: subdistrict_alpha
        type: DS_Field_t
      - name: subdistrict_beta
        type: DS_Field_t
      - name: occ_field1
        type: DS_Field_t
      - name: occ_field2
        type: DS_Field_t
      - name: typ_geo_cols
        type: DS_Geo_t
      - name: num_geo_cols
        type: DS_Field_t
      - name: geo_cols[3]
        type: DS_Field_t
      - name: num_official_fields
        type: DS_Field_t
      - name: source_id_alpha
        type: DS_Field_t
      - name: source_id_beta
        type: DS_Field_t
      - name: num_atts
        type: int
      - name: have_micros
        type: int
      - name: have_macros
        type: int
      - name: have_postal
        type: int
      - name: last_number
        type: DS_Entity_t
      - name: RedirectDir
        type: int
      - name: RedirectTyp
        type: int
      - name: RedirectQual
        type: int
      - name: number_of_beta_fields
        type: DS_Field_t
      - name: variants
        type: int
      - name: beta_insert
        type: int
      - name: little_endian
        type: int
      - name: q_depth
        type: int
      - name: flags
        type: PAGC_FLAG_T
      - name: attributes[MAXOUTSYM]
        type: ATTRIBUTE
      - name: '*last_att'
        type: ATTRIBUTE
      - name: '*attribute_index[MAXOUTSYM]'
        type: ATTRIBUTE
      - name: '*idx_nam[ MAX_INDICES ]'
        type: char
      - name: '*beta_table_name'
        type: char
      - name: _beta_factory
        type: DS_Handle
      - name: street_postal_trie
        type: RECOGNIZER_HANDLE
      - name: concat_trie
        type: RECOGNIZER_HANDLE
      - name: landmark_name_trie
        type: RECOGNIZER_HANDLE
      item_type: struct
      name: schema
      pos:
        line_end: 625
        line_start: 535
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '*errors'
        type: ERR_PARAM
      - name: '*schema'
        type: SCHEMA
      - name: _beta_attribute_interface
        type: DS_Handle
      - name: _idx_db[MAX_INDICES]
        type: DS_Handle
      - name: '*shape_buf'
        type: DS_Byte_t
      item_type: struct
      name: bdb_build_param
      pos:
        line_end: 636
        line_start: 629
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: beta_rec
        type: DS_Entity_t
      - name: reversed
        type: int
      - name: strategy
        type: int
      - name: stz_num
        type: int
      - name: distance
        type: int
      - name: X
        type: DS_Coord_t
      - name: Y
        type: DS_Coord_t
      - name: '*cluster'
        type: struct x_cand
      item_type: struct
      name: x_cand
      pos:
        line_end: 651
        line_start: 641
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: record_1
        type: DS_Entity_t
      - name: record_2
        type: DS_Entity_t
      - name: '*next'
        type: struct pair_read
      item_type: struct
      name: pair_read
      pos:
        line_end: 658
        line_start: 653
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '*splitter'
        type: X_CAND
      - name: '*pair_list'
        type: PAIR_READ
      - name: '*cell_list[4]'
        type: struct box_cell
      item_type: struct
      name: box_cell
      pos:
        line_end: 665
        line_start: 660
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: row_no
        type: DS_Entity_t
      - name: stz
        type: int
      - name: '* left'
        type: struct record_read
      - name: '* right'
        type: struct record_read
      item_type: struct
      name: record_read
      pos:
        line_end: 676
        line_start: 670
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: current_offset
        type: int
      - name: '*base'
        type: void
      - name: '*prev_block'
        type: struct r_r_mgr
      - name: '*next_block'
        type: struct r_r_mgr
      item_type: struct
      name: r_r_mgr
      pos:
        line_end: 684
        line_start: 678
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '* linked_schema'
        type: SCHEMA
      - name: _linked_beta
        type: DS_Handle
      - name: _linked_idx[MAX_INDICES]
        type: DS_Handle
      item_type: struct
      name: schema_db_linkage
      pos:
        line_end: 692
        line_start: 687
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: '*schema'
        type: SCHEMA
      - name: '*errors'
        type: ERR_PARAM
      - name: num_backlinks
        type: int
      - name: '* schema_backlinks[MAX_SCHEMAS]'
        type: SCHEMA_DB_LINKAGE
      - name: _beta_attribute_interface
        type: DS_Handle
      - name: _idx_db[MAX_INDICES]
        type: DS_Handle
      - name: private_errs
        type: int
      - name: numb_cands
        type: int
      - name: matched_ref_row
        type: DS_Entity_t
      - name: matched_ref_row_B
        type: DS_Entity_t
      - name: strategy
        type: int
      - name: next_free
        type: int
      - name: query_begin
        type: int
      - name: concat_reverse
        type: int
      - name: collect_all
        type: int
      - name: '** int_cand_list'
        type: INT_CANDIDATE
      - name: '**street_words'
        type: char
      - name: '**landmark_words'
        type: char
      - name: '**cand_list'
        type: CANDIDATE
      - name: '*standard_p'
        type: STAND_PARAM
      - name: '*standard_p_B'
        type: STAND_PARAM
      - name: seg_length[DS_MAX_VERTICES]
        type: double
      - name: cand_list_cutoff
        type: DS_Score_t
      - name: intersection_cutoff
        type: DS_Score_t
      - name: '*r_r'
        type: R_R_MGR
      - name: '*pair_r_r'
        type: R_R_MGR
      - name: '*box_r_r'
        type: R_R_MGR
      - name: '*x_cand_r_r'
        type: R_R_MGR
      - name: '**rec_hash_tab'
        type: RECORD_READ
      - name: '*shape_buf'
        type: DS_Byte_t
      - name: transfer_buf[MAX_TRANSFER_BUF_SIZE]
        type: char
      - name: '**overlap_buf'
        type: BOX_CELL
      - name: '*box_root'
        type: BOX_CELL
      item_type: struct
      name: pagc_context
      pos:
        line_end: 736
        line_start: 696
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: handle_check
        type: int
      - name: num_contexts
        type: int
      - name: num_schemas
        type: int
      - name: '*global_record'
        type: PAGC_GLOBAL
      - name: '*misc_aux_stream'
        type: FILE
      - name: '*misc_stand'
        type: STAND_PARAM
      - name: '*context_records[MAX_CONTEXTS]'
        type: PAGC_CONTEXT
      - name: '*schema_records[MAX_SCHEMAS]'
        type: SCHEMA
      item_type: struct
      name: client_handle
      pos:
        line_end: 751
        line_start: 741
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: target_word_cnt
        type: int
      - name: postal_idx
        type: int
      - name: city_idx
        type: int
      - name: prov_idx
        type: int
      - name: type_idx
        type: int
      - name: subdistrict_idx
        type: int
      - name: soundex_approx
        type: int
      - name: '**words_buf'
        type: char
      - name: '*word_weights'
        type: DS_Score_t
      item_type: struct
      name: cand_score_params
      pos:
        line_end: 765
        line_start: 754
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    - fields:
      - name: in_line_string
        type: int
      - name: last_checked
        type: SYMB
      - name: __primary_in_reference__[4]
        type: int
      - name: __secondary_in_reference__[4]
        type: int
      - name: action_alt_left
        type: int
      - name: __field_primary__[4][MAXSTRLEN]
        type: char
      - name: __field_secondary__[4][MAXSTRLEN]
        type: char
      - name: __field_alternate_primary__[4][MAXSTRLEN]
        type: char
      - name: __field_alternate_secondary__[4][MAXSTRLEN]
        type: char
      - name: __unstandard_left__[MAXSTRLEN]
        type: char
      - name: __unstandard_right__[MAXSTRLEN]
        type: char
      - name: __unstandard_alt_left__[MAXSTRLEN]
        type: char
      - name: __unstandard_alt_right__[MAXSTRLEN]
        type: char
      - name: __dummies__[4][6]
        type: char
      item_type: struct
      name: check_macro
      pos:
        line_end: 788
        line_start: 768
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
    typedefs:
    - item_type: typedef
      name: SYMB
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: int
    - item_type: typedef
      name: DS_Score_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: double
    - item_type: typedef
      name: '* DS_Handle'
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: void
    - item_type: typedef
      name: PAGC_FLAG_T
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: unsigned int
    - item_type: typedef
      name: NODE
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: int
    - item_type: typedef
      name: DEFDEF
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: int
    - item_type: typedef
      name: '* RECOGNIZER_HANDLE'
      pos:
        line_end: 531
        line_start: 531
        source_file: /src/postgis/extensions/address_standardizer/pagc_api.h
      type: void
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/gamma.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXRULES
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/postgis/extensions/address_standardizer/gamma.h
      type_or_value: '4500'
    - item_type: preproc_def
      name: MAXNODES
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/postgis/extensions/address_standardizer/gamma.h
      type_or_value: '5000'
    - item_type: preproc_def
      name: RULESPACESIZE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/postgis/extensions/address_standardizer/gamma.h
      type_or_value: '60000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETURN_NEW_MORPH
  - COLLECT_WHILE
  - NO_COLLECT_WHILE
  - TEST_FOR_ORD_DIGIT
  - standardize_field
  - _Scan_String_
  - _Scan_Next_
  - std_init
  - std_use_lex
  - std_use_gaz
  - std_use_rules
  - std_ready_standardizer
  - std_free
  - stdaddr_free
  - coalesce
  - print_stdaddr
  - std_standardize_mm
  - std_standardize
  - init_stand_process
  - close_stand_process
  - init_stand_context
  - close_stand_context
  - _Close_Stand_Field_
  source_file: /src/postgis/extensions/address_standardizer/standard.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TERM_AND_LENGTH
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/postgis/extensions/address_standardizer/standard.c
      type_or_value: "*__dest__ = SENTINEL ; \\\n\tn = strlen(__scan_buf__)"
    - item_type: preproc_def
      name: COLLECT_LOOKAHEAD
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/postgis/extensions/address_standardizer/standard.c
      type_or_value: '*__dest__++ = a ; __src__++ ; *__dest__++ = b ; __src__++'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/parseaddress-regex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - convert_field
  - parse_csv
  - parse_rule
  - Usage
  - main
  - standardize_command_line
  source_file: /src/postgis/extensions/address_standardizer/test_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RULESIZE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
      type_or_value: '40'
    - item_type: preproc_def
      name: LEXIN
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
      type_or_value: '"lexicon.csv"'
    - item_type: preproc_def
      name: GAZIN
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
      type_or_value: '"gazeteer.csv"'
    - item_type: preproc_def
      name: RULESIN
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/postgis/extensions/address_standardizer/test_main.c
      type_or_value: '"rules.txt"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - lex_init
  - lex_add_entry
  - lex_free
  - create_lexicon
  - read_lexicon
  - convert_field
  - destroy_lexicon
  - destroy_def_list
  - find_entry
  - elf_hash
  - calc_hash
  - create_hash_table
  - add_dict_entry
  - append_new_def
  - create_def
  - print_lexicon
  source_file: /src/postgis/extensions/address_standardizer/lexicon.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEXICON_HTABSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/extensions/address_standardizer/lexicon.c
      type_or_value: '7561'
    - item_type: preproc_def
      name: US
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/postgis/extensions/address_standardizer/lexicon.c
      type_or_value: sizeof( unsigned )
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/pagc_tools.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SET_TIME
  - ELAPSED_T
  - SET_TIME
  - ELAPSED_T
  - StdCacheDelete
  - mcxt_ptr_hash_std
  - CreateStdHash
  - AddStdHashEntry
  - GetStdHashEntry
  - DeleteStdHashEntry
  - IsInStdCache
  - IsInStdPortalCache
  - GetStdFromStdCache
  - GetStdFromPortalCache
  - DeleteNextSlotFromStdCache
  - AddToStdCache
  - AddToStdPortalCache
  - GetStdCache
  - GetStdPortalCache
  - GetStdUsingFCInfo
  - CreateStd
  - parse_rule
  - FETCH_COL
  - CHECK_TYP
  - GET_INT_FROM_TUPLE
  - GET_TEXT_FROM_TUPLE
  - fetch_lex_columns
  - tableNameOk
  - load_lex
  - fetch_rules_columns
  - load_rules
  source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RULE_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
      type_or_value: '128'
    - item_type: preproc_def
      name: TUPLIMIT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: STD_CACHE_ITEMS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
      type_or_value: '4'
    - item_type: preproc_def
      name: STD_BACKEND_HASH_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*lextab'
        type: char
      - name: '*gaztab'
        type: char
      - name: '*rultab'
        type: char
      - name: '*std'
        type: STANDARDIZER
      - name: std_mcxt
        type: MemoryContext
      item_type: struct
      name: StdCacheItem
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    - fields:
      - name: StdCache[STD_CACHE_ITEMS]
        type: StdCacheItem
      - name: NextSlot
        type: int
      - name: StdCacheContext
        type: MemoryContext
      item_type: struct
      name: StdPortalCache
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    - fields:
      - name: context
        type: MemoryContext
      - name: '*std'
        type: STANDARDIZER
      item_type: struct
      name: StdHashEntry
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    - fields:
      - name: seq
        type: int
      - name: word
        type: int
      - name: stdword
        type: int
      - name: token
        type: int
      item_type: struct
      name: lex_columns
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    - fields:
      - name: rule
        type: int
      item_type: struct
      name: rules_columns
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/postgis/extensions/address_standardizer/std_pg_hash.c
    typedefs: []
    union: []
- function_names:
  - convert_latin_one
  - char_append
  - out_symb_name
  - in_symb_name
  - out_symb_value
  - get_input_line
  - parse_file_name
  - combine_path_file
  - upper_case
  - upper_case_compare
  - fast_reverse_endian
  - append_string_to_max
  - establish_directory
  - conform_directory_separator
  source_file: /src/postgis/extensions/address_standardizer/pagc_tools.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXOUTSYM
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/extensions/address_standardizer/pagc_tools.c
      type_or_value: '18'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/parseaddress-stcities.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_STATES
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-stcities.h
      type_or_value: '59'
    structs: []
    typedefs: []
    union: []
- function_names:
  - BLANK_STRING
  - IS_DOT
  - IS_DIR_SEP
  - IS_COLON
  - NOT_PATH_DELIMITOR
  - IS_PATH_DELIMITOR
  - COMMA_APPEND_WITH_LEN
  source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATHNAME_LEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: MAXPATHLEN
    - item_type: preproc_def
      name: PATHNAME_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: ERR_FAIL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: FAIL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: NULL_READ
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MATCH_READ
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BOTH
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ADDRESS_SCORING
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: INTERSECTION_SCORING
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LANDMARK_SCORING
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SITE_MATCH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SITE_INTERPOLATE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INTERSECTION
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ADDRESS_RANGE_2
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ADDRESS_RANGE_4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '4'
    - item_type: preproc_def
      name: REVERSE_SITE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '5'
    - item_type: preproc_def
      name: REVERSE_INTERSECTION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '6'
    - item_type: preproc_def
      name: INTERSECTION_B
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '7'
    - item_type: preproc_def
      name: CONCAT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '8'
    - item_type: preproc_def
      name: LANDMARK_NAME
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '9'
    - item_type: preproc_def
      name: CSV
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XML
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: STATISTICS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: PRINT_PROGRESS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '128 '
    - item_type: preproc_def
      name: LOG_COMPLETE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2048 '
    - item_type: preproc_def
      name: ZERO_IS_BLANK
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '512 '
    - item_type: preproc_def
      name: RNF_PRETYPE_REDIRECT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '4096 '
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: MAXSTRLEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '256'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: READ_ONLY_MODE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WRITE_CREATE_MODE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WRITE_APPEND_MODE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PAGE_SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAX_REF_CANDS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '100'
    - item_type: preproc_def
      name: MAX_CONTEXTS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '20'
    - item_type: preproc_def
      name: MAX_CONTEXTS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BACK_SLASH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '0x5c'
    - item_type: preproc_def
      name: FORE_SLASH
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type_or_value: '''/'''
    structs:
    - fields:
      - name: X
        type: double
      - name: Y
        type: double
      item_type: struct
      name: pagc_point
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
    typedefs:
    - item_type: typedef
      name: SYMB
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/postgis/extensions/address_standardizer/pagc_common.h
      type: int
    union: []
- function_names:
  - install_def_block_table
  - create_segments
  - destroy_segments
  - get_stz_downgrade
  - get_next_stz
  - check_def_block
  - delete_stz
  - delete_duplicate_stz
  - evaluate_micro_l
  - evaluator
  - first_composition
  - prepare_target_pattern
  - no_break
  - do_left_combine
  - need_compression
  - scan_clause_tree
  - shallow_clause_scan
  - select_next_composition
  - make_singleton
  - deposit_stz
  - copy_stz
  - save_current_composition
  - copy_best
  - lex_has_def
  - have_schema_symbol
  - default_seg_val
  - _modify_position_
  - schema_modify_position
  - force_arc_clause
  - MODIFY_SEG_POS
  - _force_macro_clause_
  - _force_deposit_
  - non_geocode_address
  - output_raw_elements
  source_file: /src/postgis/extensions/address_standardizer/analyze.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_DEF_BLOCKERS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TARG_START
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FIRST_STZ
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '0'
    - item_type: preproc_def
      name: INITIAL_STZ_CUTOFF
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '.05'
    - item_type: preproc_def
      name: VERY_LOW_WEIGHT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '.15'
    - item_type: preproc_def
      name: START_DEPTH
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DUP_DECREMENT
      pos:
        line_end: 1038
        line_start: 1037
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: '.0025'
    - item_type: preproc_def
      name: DEPTH_POS
      pos:
        line_end: 1243
        line_start: 1242
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
      type_or_value: ( num_lexes - 1 ) - depth
    structs:
    - fields:
      - name: '*lookup'
        type: char
      - name: '*standard'
        type: char
      - name: output_symbol
        type: SYMB
      - name: '*definition'
        type: DEF
      item_type: struct
      name: def_blocker
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/postgis/extensions/address_standardizer/analyze.c
    typedefs: []
    union: []
- function_names:
  - MAKE_DEFAULT_DEF_FIRST
  - MAKE_DEFAULT_DEF_NEXT
  - setup_default_defs
  - remove_default_defs
  - process_input
  - new_morph
  - next_morph
  - set_term
  - no_space
  - initialize_morphs
  - process_lexeme
  - is_route
  - is_direction_letter
  - is_ordinal_suffix
  - is_zip
  - fix_mixed
  - reunite_mixed
  - mark_hyphen_unit
  - numeric_tail
  - new_defs
  - is_symb_on_list
  - find_def_type
  - set_lexeme
  - reset_lexeme
  - combine_lexemes
  - phrase_from_morphs
  source_file: /src/postgis/extensions/address_standardizer/tokenize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OVECPAIRS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.h
      type_or_value: '10'
    - item_type: preproc_def
      name: OVECCOUNT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.h
      type_or_value: 3*OVECPAIRS
    structs:
    - fields:
      - name: '*num'
        type: char
      - name: '*street'
        type: char
      - name: '*street2'
        type: char
      - name: '*address1'
        type: char
      - name: '*city'
        type: char
      - name: '*st'
        type: char
      - name: '*zip'
        type: char
      - name: '*zipplus'
        type: char
      - name: '*cc'
        type: char
      - name: lat
        type: double
      - name: lon
        type: double
      item_type: struct
      name: address_struct
      pos:
        line_end: 54
        line_start: 42
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.h
    typedefs:
    - item_type: typedef
      name: HHash
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/postgis/extensions/address_standardizer/parseaddress-api.h
    union: []
- function_names:
  - debug_standardize_address
  - standardize_address
  - standardize_address1
  source_file: /src/postgis/extensions/address_standardizer/address_standardizer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geography_lt
  - geography_le
  - geography_gt
  - geography_ge
  - geography_eq
  - geography_cmp
  source_file: /src/postgis/postgis/geography_btree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_AddMeasure
  - ST_LocateAlong
  - ST_LocateBetween
  - ST_LocateBetweenElevations
  - ST_InterpolatePoint
  - LWGEOM_line_locate_point
  source_file: /src/postgis/postgis/lwgeom_functions_lrs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geog_brin_inclusion_add_value
  - geom3d_brin_inclusion_add_value
  - geom4d_brin_inclusion_add_value
  - gidx_brin_inclusion_add_value
  - gidx_brin_inclusion_merge
  - geog_brin_inclusion_merge
  - geom3d_brin_inclusion_merge
  - geom4d_brin_inclusion_merge
  source_file: /src/postgis/postgis/brin_nd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_AsMARC21
  - lwgeom_to_marc21
  - is_format_valid
  - corner_to_subfield_sb
  - gbox_to_marc21_sb
  source_file: /src/postgis/postgis/lwgeom_out_marc21.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MARC21_NS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/postgis/lwgeom_out_marc21.c
      type_or_value: ((char *) "http://www.loc.gov/MARC21/slim")
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_RelateMatch
  source_file: /src/postgis/postgis/lwgeom_geos_relatematch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pgis_asgeobuf_transfn
  - pgis_asgeobuf_finalfn
  source_file: /src/postgis/postgis/lwgeom_out_geobuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_GeomFromMARC21
  - is_xml_element
  - is_literal_valid
  - parse_geo_literal
  - parse_marc21
  source_file: /src/postgis/postgis/lwgeom_in_marc21.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CircTreeBuilder
  - CircTreeFreer
  - CircTreeAllocator
  - GetCircTreeGeomCache
  - CircTreePIP
  - geography_distance_cache_tolerance
  - geography_distance_cache
  - geography_dwithin_cache
  - geography_tree_distance
  source_file: /src/postgis/postgis/geography_measurement_trees.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gcache
        type: GeomCache
      - name: '*   index'
        type: CIRC_NODE
      item_type: struct
      name: CircTreeGeomCache
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/postgis/postgis/geography_measurement_trees.c
    typedefs: []
    union: []
- function_names:
  - get_pgtype
  - pgis_tablefromflatgeobuf
  - pgis_fromflatgeobuf
  source_file: /src/postgis/postgis/lwgeom_in_flatgeobuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_strategy_by_type
  - needsSpatialIndex
  - opFamilyDim
  - opFamilyAmOid
  - expandFunctionOid
  - postgis_index_supportfn
  source_file: /src/postgis/postgis/gserialized_supportfn.c
  types:
    enum:
    - enumerators:
      - name: ST_INTERSECTS_IDX
        value: '0'
      - name: ST_DWITHIN_IDX
        value: '1'
      - name: ST_TOUCHES_IDX
        value: '4'
      - name: ST_WITHIN_IDX
        value: '3'
      - name: ST_CONTAINS_IDX
        value: '2'
      - name: ST_3DINTERSECTS_IDX
        value: '5'
      - name: ST_CONTAINSPROPERLY_IDX
        value: '6'
      - name: ST_COVEREDBY_IDX
        value: '7'
      - name: ST_OVERLAPS_IDX
        value: '8'
      - name: ST_COVERS_IDX
        value: '9'
      - name: ST_3DDFULLYWITHIN_IDX
        value: '13'
      - name: ST_LINECROSSINGDIRECTION_IDX
        value: '14'
      - name: ST_ORDERINGEQUALS_IDX
        value: '15'
      - name: ST_CROSSES_IDX
        value: '10'
      - name: ST_EQUALS_IDX
        value: '16'
      - name: ST_DFULLYWITHIN_IDX
        value: '11'
      - name: ST_3DDWITHIN_IDX
        value: '12'
      item_type: enum
      name: ST_FUNCTION_IDX
      pos:
        line_end: 73
        line_start: 54
        source_file: /src/postgis/postgis/gserialized_supportfn.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*fn_name'
        type: char
      - name: index
        type: uint16_t
      - name: nargs
        type: uint8_t
      - name: expand_arg
        type: uint8_t
      - name: dims
        type: uint8_t
      item_type: struct
      name: IndexableFunction
      pos:
        line_end: 148
        line_start: 141
        source_file: /src/postgis/postgis/gserialized_supportfn.c
    - fields:
      - name: '*opfamilyname'
        type: char
      - name: dims
        type: uint8_t
      item_type: struct
      name: OpFamilyDim
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/postgis/postgis/gserialized_supportfn.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/mvt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MVT_H_
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/postgis/mvt.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*column_keys_index'
        type: uint32_t
      - name: '*column_oid'
        type: uint32_t
      - name: '*values'
        type: Datum
      - name: '*nulls'
        type: bool
      - name: tupdesc
        type: TupleDesc
      item_type: struct
      name: mvt_column_cache
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/postgis/postgis/mvt.h
    - fields:
      - name: trans_context
        type: MemoryContext
      - name: '*name'
        type: char
      - name: extent
        type: uint32_t
      - name: '*id_name'
        type: char
      - name: id_index
        type: uint32_t
      - name: '*geom_name'
        type: char
      - name: geom_index
        type: uint32_t
      - name: row
        type: HeapTupleHeader
      - name: '*layer'
        type: VectorTile__Tile__Layer
      - name: features_capacity
        type: size_t
      - name: '*tile'
        type: VectorTile__Tile
      - name: '*keys_hash'
        type: struct mvt_kv_key
      - name: '*string_values_hash'
        type: struct mvt_kv_value
      - name: '*float_values_hash'
        type: struct mvt_kv_value
      - name: '*double_values_hash'
        type: struct mvt_kv_value
      - name: '*uint_values_hash'
        type: struct mvt_kv_value
      - name: '*sint_values_hash'
        type: struct mvt_kv_value
      - name: '*bool_values_hash'
        type: struct mvt_kv_value
      - name: values_hash_i
        type: uint32_t
      - name: keys_hash_i
        type: uint32_t
      - name: column_cache
        type: mvt_column_cache
      item_type: struct
      name: mvt_agg_context
      pos:
        line_end: 98
        line_start: 56
        source_file: /src/postgis/postgis/mvt.h
    typedefs: []
    union: []
- function_names:
  - compareDoubles
  - getQuadrant4D
  - initRectBox
  - nextRectBox
  - overlap4D
  - contain4D
  - left4D
  - overLeft4D
  - right4D
  - overRight4D
  - below4D
  - overBelow4D
  - above4D
  - overAbove4D
  - gserialized_spgist_config_2d
  - gserialized_spgist_choose_2d
  - gserialized_spgist_picksplit_2d
  - gserialized_spgist_inner_consistent_2d
  - gserialized_spgist_leaf_consistent_2d
  - gserialized_spgist_compress_2d
  source_file: /src/postgis/postgis/gserialized_spgist_2d.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: left
        type: BOX2DF
      - name: right
        type: BOX2DF
      item_type: struct
      name: RectBox
      pos:
        line_end: 118
        line_start: 114
        source_file: /src/postgis/postgis/gserialized_spgist_2d.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/geobuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GEOBUF_H_
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/postgis/geobuf.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*geom_name'
        type: char
      - name: geom_index
        type: uint32_t
      - name: row
        type: HeapTupleHeader
      - name: '**lwgeoms'
        type: LWGEOM
      - name: '*data'
        type: Data
      - name: '*feature'
        type: Data__Feature
      - name: features_capacity
        type: size_t
      - name: e
        type: uint32_t
      - name: has_precision
        type: protobuf_c_boolean
      - name: precision
        type: uint32_t
      - name: has_dimensions
        type: protobuf_c_boolean
      - name: dimensions
        type: uint32_t
      item_type: struct
      name: geobuf_agg_context
      pos:
        line_end: 61
        line_start: 48
        source_file: /src/postgis/postgis/geobuf.h
    typedefs: []
    union: []
- function_names:
  - point_to_geometry
  - geometry_to_point
  - geometry_to_path
  - path_to_geometry
  - geometry_to_polygon
  - polygon_to_geometry
  source_file: /src/postgis/postgis/geometry_inout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWGEOM_simplify2d
  - LWGEOM_SetEffectiveArea
  - LWGEOM_ChaikinSmoothing
  - LWGEOM_line_interpolate_point
  - ST_3DLineInterpolatePoint
  - SAMEPOINT
  - LWGEOM_snaptogrid
  - grid_print
  - LWGEOM_snaptogrid_pointoff
  - ST_LineCrossingDirection
  - LWGEOM_line_substring
  - ST_MinimumBoundingRadius
  - ST_MinimumBoundingCircle
  - ST_GeometricMedian
  - ST_IsPolygonCW
  - ST_IsPolygonCCW
  source_file: /src/postgis/postgis/lwgeom_functions_analytic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/lwgeom_geos_prepared.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gcache
        type: GeomCache
      - name: context_statement
        type: MemoryContext
      - name: context_callback
        type: MemoryContext
      - name: '* prepared_geom'
        type: GEOSPreparedGeometry
      - name: '*         geom'
        type: GEOSGeometry
      item_type: struct
      name: PrepGeomCache
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/postgis/postgis/lwgeom_geos_prepared.h
    typedefs: []
    union: []
- function_names:
  - pgis_asflatgeobuf_transfn
  - pgis_asflatgeobuf_finalfn
  source_file: /src/postgis/postgis/lwgeom_out_flatgeobuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gml_lwpgerror
  - geom_from_gml
  - is_gml_element
  - is_gml_namespace
  - gmlGetProp
  - is_xlink
  - get_xlink_node
  - gml_reproject_pa
  - gml_is_srs_axis_order_gis_friendly
  - parse_gml_srs
  - parse_gml_double
  - parse_gml_coordinates
  - parse_gml_coord
  - parse_gml_pos
  - parse_gml_poslist
  - parse_gml_data
  - parse_gml_point
  - parse_gml_line
  - parse_gml_curve
  - parse_gml_linearring
  - parse_gml_polygon
  - parse_gml_triangle
  - parse_gml_patch
  - parse_gml_surface
  - parse_gml_tin
  - parse_gml_mpoint
  - parse_gml_mline
  - parse_gml_mcurve
  - parse_gml_mpoly
  - parse_gml_msurface
  - parse_gml_psurface
  - parse_gml_coll
  - lwgeom_from_gml
  - parse_gml
  source_file: /src/postgis/postgis/lwgeom_in_gml.c
  types:
    enum:
    - enumerators:
      - name: INIT
        value: '0'
      - name: NEED_DIG_DEC
        value: '3'
      - name: DIG
        value: '2'
      - name: NEED_DIG
        value: '1'
      - name: DIG_DEC
        value: '4'
      - name: EXP
        value: '5'
      - name: NEED_DIG_EXP
        value: '6'
      - name: DIG_EXP
        value: '7'
      - name: END
        value: '8'
      item_type: enum
      name: states
      pos:
        line_end: 551
        line_start: 540
        source_file: /src/postgis/postgis/lwgeom_in_gml.c
    preproc_defs:
    - item_type: preproc_def
      name: XLINK_NS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/postgis/postgis/lwgeom_in_gml.c
      type_or_value: ((char *) "http://www.w3.org/1999/xlink")
    - item_type: preproc_def
      name: GML_NS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/postgis/postgis/lwgeom_in_gml.c
      type_or_value: ((char *) "http://www.opengis.net/gml")
    - item_type: preproc_def
      name: GML32_NS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/postgis/lwgeom_in_gml.c
      type_or_value: ((char *) "http://www.opengis.net/gml/3.2")
    structs:
    - fields:
      - name: srid
        type: int32_t
      - name: reverse_axis
        type: bool
      item_type: struct
      name: struct_gmlSrs
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/postgis/postgis/lwgeom_in_gml.c
    typedefs: []
    union: []
- function_names:
  - gidx_copy
  - gidx_validate
  - gidx_is_unknown
  - gidx_set_unknown
  - gidx_merge
  - gidx_volume
  - gidx_edge
  - gidx_dimensionality_check
  - gidx_union_volume
  - gidx_union_edge
  - gidx_inter_volume
  - gidx_overlaps
  - gidx_contains
  - gidx_equals
  - gserialized_datum_predicate
  - gserialized_datum_predicate_gidx_geom
  - gserialized_datum_predicate_geom_gidx
  - gidx_distance
  - gserialized_expand
  - gserialized_distance_nd
  - gserialized_within
  - gserialized_gidx_geom_within
  - gserialized_gidx_gidx_within
  - gserialized_contains
  - gserialized_gidx_geom_contains
  - gserialized_gidx_gidx_contains
  - gserialized_same
  - gserialized_gidx_geom_same
  - gserialized_gidx_gidx_same
  - gserialized_overlaps
  - gserialized_gidx_geog_overlaps
  - gserialized_gidx_geom_overlaps
  - gserialized_gidx_gidx_overlaps
  - gserialized_gist_compress
  - gserialized_gist_decompress
  - gserialized_gist_consistent_leaf
  - gserialized_gist_consistent_internal
  - gserialized_gist_consistent
  - pack_float
  - gserialized_gist_penalty
  - gserialized_gist_union
  - gserialized_gist_same
  - gserialized_gist_geog_distance
  - gserialized_gist_distance
  - gserialized_gist_picksplit_addlist
  - gserialized_gist_picksplit_badratio
  - gserialized_gist_picksplit_badratios
  - gserialized_gist_picksplit_fallback
  - gserialized_gist_picksplit_constructsplit
  - BELOW
  - ABOVE
  - gserialized_gist_picksplit
  - gidx_in
  - gidx_out
  source_file: /src/postgis/postgis/gserialized_gist_nd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIMIT_RATIO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/postgis/gserialized_gist_nd.c
      type_or_value: '0.1'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*gidx_predicate)(GIDX *a, GIDX *b)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/postgis/postgis/gserialized_gist_nd.c
      type: bool
    union:
    - fields:
      - name: f
        type: float
      - name: vbits
        type: "struct {\n\t\t\tunsigned value : 31, sign : 1;\n\t\t}"
      - name: rbits
        type: "struct {\n\t\t\tunsigned value : 30, realm : 1, sign : 1;\n\t\t}"
      item_type: union
      name: a
      pos:
        line_end: 1160
        line_start: 1152
        source_file: /src/postgis/postgis/gserialized_gist_nd.c
- function_names:
  - ST_AsGeoJsonRow
  - composite_to_geojson
  - json_categorize_type
  - datum_to_json
  - array_to_json_internal
  - composite_to_json
  - array_dim_to_json
  - postgis_time2tm
  - postgis_timetz2tm
  - postgis_JsonEncodeDateTime
  source_file: /src/postgis/postgis/lwgeom_out_geojson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: JsonTypeCategory
      pos:
        line_end: 48
        line_start: 35
        source_file: /src/postgis/postgis/lwgeom_out_geojson.c
    union: []
- function_names:
  - cache_bbox
  source_file: /src/postgis/postgis/lwgeom_triggers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geohash_lwpgerror
  - parse_geohash
  - box2d_from_geohash
  - point_from_geohash
  source_file: /src/postgis/postgis/lwgeom_in_geohash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/postgis_brin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INCLUSION_UNION
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/postgis/postgis_brin.h
      type_or_value: '0'
    - item_type: preproc_def
      name: INCLUSION_UNMERGEABLE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postgis/postgis/postgis_brin.h
      type_or_value: '1'
    - item_type: preproc_def
      name: INCLUSION_CONTAINS_EMPTY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/postgis/postgis_brin.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - BOX3D_in
  - BOX3D_out
  - BOX3D_to_BOX2D
  - box3d_to_box_p
  - BOX3D_to_BOX
  - BOX3D_to_LWGEOM
  - expand_box3d
  - expand_box3d_xyz
  - BOX3D_expand
  - LWGEOM_to_BOX3D
  - BOX3D_xmin
  - BOX3D_ymin
  - BOX3D_zmin
  - BOX3D_xmax
  - BOX3D_ymax
  - BOX3D_zmax
  - BOX3D_combine
  - BOX3D_combine_BOX3D
  - BOX3D_construct
  - BOX3D_contains_internal
  - BOX3D_contains
  - BOX3D_contained_internal
  - BOX3D_contained
  - BOX3D_overlaps_internal
  - BOX3D_overlaps
  - BOX3D_same_internal
  - BOX3D_same
  - BOX3D_left_internal
  - BOX3D_left
  - BOX3D_overleft_internal
  - BOX3D_overleft
  - BOX3D_right_internal
  - BOX3D_right
  - BOX3D_overright_internal
  - BOX3D_overright
  - BOX3D_below_internal
  - BOX3D_below
  - BOX3D_overbelow_internal
  - BOX3D_overbelow
  - BOX3D_above_internal
  - BOX3D_above
  - BOX3D_overabove_internal
  - BOX3D_overabove
  - BOX3D_front_internal
  - BOX3D_front
  - BOX3D_overfront_internal
  - BOX3D_overfront
  - BOX3D_back_internal
  - BOX3D_back
  - BOX3D_overback_internal
  - BOX3D_overback
  - BOX3D_distance_internal
  - BOX3D_distance
  source_file: /src/postgis/postgis/lwgeom_box3d.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/geography.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/lwgeom_itree.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pgis_geometry_accum_transfn
  - pgis_accum_finalfn
  - pgis_geometry_collect_finalfn
  - pgis_geometry_polygonize_finalfn
  - pgis_geometry_makeline_finalfn
  - pgis_geometry_clusterintersecting_finalfn
  - pgis_geometry_clusterwithin_finalfn
  - pgis_geometry_coverageunion_finalfn
  - PGISDirectFunctionCall1
  - PGISDirectFunctionCall2
  source_file: /src/postgis/postgis/lwgeom_accum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - line_from_encoded_polyline
  source_file: /src/postgis/postgis/lwgeom_in_encoded_polyline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ellipsoid_in
  - ellipsoid_out
  - deltaLongitude
  - mu2
  - bigA
  - bigB
  - distance_ellipse
  - distance_ellipse_calculation
  - LWGEOM_length2d_ellipsoid
  - LWGEOM_length_ellipsoid_linestring
  - distance_sphere_method
  - geometry_distance_spheroid
  - LWGEOM_distance_ellipsoid
  - LWGEOM_distance_sphere
  source_file: /src/postgis/postgis/lwgeom_spheroid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHOW_DIGS_DOUBLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/postgis/lwgeom_spheroid.c
      type_or_value: '15'
    - item_type: preproc_def
      name: MAX_DIGS_DOUBLE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/postgis/lwgeom_spheroid.c
      type_or_value: (SHOW_DIGS_DOUBLE + 6 + 1 + 3 +1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - PUSH
  - LAST
  - POP
  - LWGEOM_dump
  - LWGEOM_dump_rings
  - ST_Subdivide
  source_file: /src/postgis/postgis/lwgeom_dump.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXDEPTH
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/postgis/lwgeom_dump.c
      type_or_value: '32'
    structs:
    - fields:
      - name: idx
        type: uint32_t
      - name: '*geom'
        type: LWGEOM
      item_type: struct
      name: GEOMDUMPNODE_T
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/postgis/postgis/lwgeom_dump.c
    - fields:
      - name: stacklen
        type: int
      - name: '*stack[MAXDEPTH]'
        type: GEOMDUMPNODE
      - name: '*root'
        type: LWGEOM
      item_type: struct
      name: GEOMDUMPSTATE
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/postgis/postgis/lwgeom_dump.c
    - fields:
      - name: ringnum
        type: uint32_t
      - name: '*poly'
        type: LWPOLY
      item_type: struct
      name: POLYDUMPSTATE
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/postgis/postgis/lwgeom_dump.c
    - fields:
      - name: nextgeom
        type: int
      - name: numgeoms
        type: int
      - name: '*col'
        type: LWCOLLECTION
      item_type: struct
      name: collection_fctx
      pos:
        line_end: 328
        line_start: 323
        source_file: /src/postgis/postgis/lwgeom_dump.c
    typedefs: []
    union: []
- function_names:
  - lwgeom_lt
  - lwgeom_le
  - lwgeom_eq
  - lwgeom_neq
  - lwgeom_ge
  - lwgeom_gt
  - lwgeom_cmp
  - lwgeom_hash
  - lwgeom_cmp_abbrev
  - lwgeom_cmp_full
  - lwgeom_abbrev_abort
  - lwgeom_abbrev_convert
  - lwgeom_sortsupport
  source_file: /src/postgis/postgis/lwgeom_btree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geography_centroid
  - geography_centroid_from_wpoints
  - lonlat_to_cart
  - cart_to_lwpoint
  - geography_centroid_from_mline
  - geography_centroid_from_mpoly
  source_file: /src/postgis/postgis/geography_centroid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IntervalTreeBuilder
  - IntervalTreeFreer
  - IntervalTreeAllocator
  - GetIntervalTree
  - itree_pip_contains
  - itree_pip_covers
  - itree_pip_intersects
  - ST_IntersectsIntervalTree
  source_file: /src/postgis/postgis/lwgeom_itree.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gcache
        type: GeomCache
      - name: '*itree'
        type: IntervalTree
      item_type: struct
      name: IntervalTreeGeomCache
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/postgis/postgis/lwgeom_itree.c
    typedefs: []
    union: []
- function_names:
  - geography_distance_knn
  - geography_distance_uncached
  - geography_distance
  - geography_dwithin
  - geography_intersects
  - geography_distance_tree
  - geography_dwithin_uncached
  - geography_expand
  - geography_area
  - geography_perimeter
  - geography_length
  - geography_point_outside
  - geography_covers
  - geography_coveredby
  - geography_bestsrid
  - geography_project
  - geography_project_geography
  - geography_azimuth
  - geography_segmentize
  - geography_line_substring
  - geography_line_interpolate_point
  - geography_line_locate_point
  - geography_closestpoint
  - geography_shortestline
  source_file: /src/postgis/postgis/geography_measurement.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INVMINDIST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/postgis/geography_measurement.c
      type_or_value: 1.0e8
    - item_type: preproc_def
      name: INVMINDIST
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/postgis/postgis/geography_measurement.c
      type_or_value: 1.0e7
    structs: []
    typedefs: []
    union: []
- function_names:
  - postgis_libprotobuf_version
  - postgis_wagyu_version
  source_file: /src/postgis/postgis/postgis_libprotobuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_MakeValid
  - lwgeom_clean
  - ST_CleanGeometry
  source_file: /src/postgis/postgis/lwgeom_geos_clean.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - postgis_geos_version
  - postgis_geos_compiled_version
  - hausdorffdistance
  - hausdorffdistancedensify
  - ST_FrechetDistance
  - ST_MaximumInscribedCircle
  - ST_LargestEmptyCircle
  - pgis_union_geometry_array
  - ST_UnaryUnion
  - ST_Union
  - symdifference
  - ST_SymDifference
  - convexhull
  - ST_ConcaveHull
  - ST_SimplifyPolygonHull
  - topologypreservesimplify
  - buffer
  - ST_GeneratePoints
  - ST_OffsetCurve
  - ST_Intersection
  - ST_Difference
  - pointonsurface
  - centroid
  - ST_ReducePrecision
  - ST_ClipByBox2d
  - isvalid
  - isvalidreason
  - isvaliddetail
  - issimple
  - isring
  - GEOS2POSTGIS
  - POSTGIS2GEOS
  - array_nelems_not_null
  - ARRAY2LWGEOM
  - ARRAY2GEOS
  - GEOSnoop
  - polygonize_garray
  - clusterintersecting_garray
  - cluster_within_distance_garray
  - linemerge
  - ST_BuildArea
  - ST_DelaunayTriangles
  - ST_TriangulatePolygon
  - ST_Snap
  - ST_Split
  - ST_SharedPaths
  - ST_Node
  - ST_Voronoi
  - ST_MinimumClearance
  - ST_MinimumClearanceLine
  - ST_OrientedEnvelope
  - LWGEOM_dfullywithin
  source_file: /src/postgis/postgis/lwgeom_geos.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compareFloats
  - getOctant
  - initCubeBox
  - nextCubeBox
  - overlapND
  - containND
  - gserialized_spgist_config_nd
  - gserialized_spgist_choose_nd
  - gserialized_spgist_picksplit_nd
  - gserialized_spgist_inner_consistent_nd
  - gserialized_spgist_leaf_consistent_nd
  - gserialized_spgist_compress_nd
  source_file: /src/postgis/postgis/gserialized_spgist_nd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GIDX_MAX_NODES
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/postgis/postgis/gserialized_spgist_nd.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '*left'
        type: GIDX
      - name: '*right'
        type: GIDX
      item_type: struct
      name: CubeGIDX
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/postgis/postgis/gserialized_spgist_nd.c
    typedefs: []
    union: []
- function_names:
  - fetch_cluster_context
  - read_lwgeom_from_partition
  - read_geos_from_partition
  - ST_ClusterDBSCAN
  - ST_ClusterWithinWin
  - ST_ClusterIntersectingWin
  - ST_ClusterKMeans
  - coverage_destroy_geoms
  - coverage_context_fetch
  - coverage_read_partition_into_collection
  - coverage_merge_strategy
  - coverage_window_calculation
  - ST_CoverageSimplify
  - ST_CoverageInvalidEdges
  - ST_CoverageClean
  - ST_CoverageUnion
  source_file: /src/postgis/postgis/lwgeom_window.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: isdone
        type: bool
      - name: isnull
        type: bool
      - name: result[1]
        type: int
      item_type: struct
      name: kmeans_context
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/postgis/postgis/lwgeom_window.c
    - fields:
      - name: cluster_id
        type: uint32_t
      - name: is_null
        type: char
      item_type: struct
      name: cluster_entry
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/postgis/postgis/lwgeom_window.c
    - fields:
      - name: is_error
        type: char
      - name: clusters[1]
        type: cluster_entry
      item_type: struct
      name: cluster_context
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/postgis/postgis/lwgeom_window.c
    - fields:
      - name: isdone
        type: bool
      - name: isnull
        type: bool
      - name: '*geom'
        type: LWCOLLECTION
      - name: idx[0]
        type: int64
      item_type: struct
      name: coverage_context
      pos:
        line_end: 497
        line_start: 491
        source_file: /src/postgis/postgis/lwgeom_window.c
    typedefs: []
    union: []
- function_names:
  - gserialized_overlaps_3d
  - gserialized_contains_3d
  - gserialized_contained_3d
  - gserialized_same_3d
  - compareDoubles
  - getOctant
  - initCubeBox
  - nextCubeBox3D
  - overlap6D
  - contain6D
  - left6D
  - overLeft6D
  - right6D
  - overRight6D
  - below6D
  - overBelow6D
  - above6D
  - overAbove6D
  - front6D
  - overFront6D
  - back6D
  - overBack6D
  - gserialized_spgist_config_3d
  - gserialized_spgist_choose_3d
  - gserialized_spgist_picksplit_3d
  - gserialized_spgist_inner_consistent_3d
  - gserialized_spgist_leaf_consistent_3d
  - gserialized_spgist_compress_3d
  source_file: /src/postgis/postgis/gserialized_spgist_3d.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: left
        type: BOX3D
      - name: right
        type: BOX3D
      item_type: struct
      name: CubeBox3D
      pos:
        line_end: 148
        line_start: 144
        source_file: /src/postgis/postgis/gserialized_spgist_3d.c
    typedefs: []
    union: []
- function_names:
  - transform
  - transform_geom
  - transform_pipeline_geom
  - postgis_proj_version
  - postgis_proj_compiled_version
  - LWGEOM_asKML
  - srs_entry_cmp
  - srs_tuple_from_entry
  - srs_state_init
  - srs_state_memcheck
  - srs_state_codes
  - srs_find_planar
  - postgis_srs_entry
  - postgis_srs_entry_all
  - postgis_srs_codes
  - postgis_srs_search
  source_file: /src/postgis/postgis/lwgeom_transform.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ntypes
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/postgis/postgis/lwgeom_transform.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '* auth_name'
        type: text
      - name: '* auth_code'
        type: text
      - name: sort
        type: double
      item_type: struct
      name: srs_entry
      pos:
        line_end: 318
        line_start: 314
        source_file: /src/postgis/postgis/lwgeom_transform.c
    - fields:
      - name: '* entries'
        type: struct srs_entry
      - name: num_entries
        type: uint32_t
      - name: capacity
        type: uint32_t
      - name: current_entry
        type: uint32_t
      item_type: struct
      name: srs_data
      pos:
        line_end: 325
        line_start: 320
        source_file: /src/postgis/postgis/lwgeom_transform.c
    typedefs: []
    union: []
- function_names:
  - is_poly
  - is_point
  - ST_Intersects
  - ST_Equals
  - touches
  - disjoint
  - overlaps
  - crosses
  - contains
  - within
  - containsproperly
  - covers
  - coveredby
  - relate_pattern
  - relate_full
  source_file: /src/postgis/postgis/lwgeom_geos_predicates.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BOX2D_in
  - BOX2D_out
  - LWGEOM_to_BOX2D
  - LWGEOM_to_BOX2DF
  - BOX2D_same
  - BOX2D_overlap
  - BOX2D_overleft
  - BOX2D_left
  - BOX2D_right
  - BOX2D_overright
  - BOX2D_overbelow
  - BOX2D_below
  - BOX2D_above
  - BOX2D_overabove
  - BOX2D_contained
  - BOX2D_contain
  - BOX2D_intersects
  - BOX2D_union
  - BOX2D_expand
  - BOX2D_to_BOX3D
  - BOX2D_combine
  - BOX2D_to_LWGEOM
  - BOX2D_construct
  source_file: /src/postgis/postgis/lwgeom_box.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_AsMVTGeom
  - pgis_asmvt_transfn
  - pgis_asmvt_finalfn
  - pgis_asmvt_serialfn
  - pgis_asmvt_deserialfn
  - pgis_asmvt_combinefn
  source_file: /src/postgis/postgis/lwgeom_out_mvt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - box2df_to_string
  - box2df_copy
  - box2df_is_empty
  - box2df_set_empty
  - box2df_set_finite
  - box2df_merge
  - box2df_from_gbox_p
  - box2df_to_gbox_p
  - box2df_validate
  - box2df_overlaps
  - box2df_contains
  - box2df_within
  - box2df_equals
  - box2df_overleft
  - box2df_left
  - box2df_right
  - box2df_overright
  - box2df_overbelow
  - box2df_below
  - box2df_above
  - box2df_overabove
  - box2df_distance_leaf_centroid
  - pt_distance
  - box2df_distance
  - box2df_get_sortable_hash
  - gserialized_datum_get_internals_p
  - gserialized_datum_get_gbox_p
  - gserialized_datum_get_box2df_p
  - gserialized_datum_predicate_2d
  - gserialized_datum_predicate_box2df_geom_2d
  - gserialized_contains_box2df_geom_2d
  - gserialized_contains_box2df_box2df_2d
  - gserialized_within_box2df_geom_2d
  - gserialized_within_box2df_box2df_2d
  - gserialized_overlaps_box2df_geom_2d
  - gserialized_overlaps_box2df_box2df_2d
  - gserialized_distance_centroid_2d
  - gserialized_distance_box_2d
  - gserialized_same_2d
  - gserialized_within_2d
  - gserialized_contains_2d
  - gserialized_overlaps_2d
  - gserialized_left_2d
  - gserialized_right_2d
  - gserialized_above_2d
  - gserialized_below_2d
  - gserialized_overleft_2d
  - gserialized_overright_2d
  - gserialized_overabove_2d
  - gserialized_overbelow_2d
  - gserialized_gist_compress_2d
  - gserialized_gist_decompress_2d
  - gserialized_gist_consistent_leaf_2d
  - gserialized_gist_consistent_internal_2d
  - gserialized_gist_consistent_2d
  - gserialized_gist_distance_2d
  - pack_float
  - box2df_penalty
  - gserialized_gist_penalty_2d
  - gserialized_gist_union_2d
  - gserialized_gist_same_2d
  - gserialized_gist_cmp_abbrev_2d
  - gserialized_gist_abbrev_abort_2d
  - gserialized_gist_abbrev_convert_2d
  - gserialized_gist_cmp_full_2d
  - gserialized_gist_sortsupport_2d
  - adjustBox
  - fallbackSplit
  - interval_cmp_lower
  - interval_cmp_upper
  - non_negative
  - g_box_consider_split
  - common_entry_cmp
  - gserialized_gist_picksplit_2d
  - PLACE_LEFT
  - PLACE_RIGHT
  - box2df_in
  - box2df_out
  source_file: /src/postgis/postgis/gserialized_gist_2d.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIMIT_RATIO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
      type_or_value: '0.3333333333333333'
    - item_type: preproc_def
      name: INDEX_TUPLES_PER_PAGE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
      type_or_value: '291'
    structs:
    - fields:
      - name: index
        type: int
      - name: delta
        type: float
      item_type: struct
      name: CommonEntry
      pos:
        line_end: 1493
        line_start: 1487
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
    - fields:
      - name: entriesCount
        type: int
      - name: boundingBox
        type: BOX2DF
      - name: first
        type: bool
      - name: leftUpper
        type: float
      - name: rightLower
        type: float
      - name: ratio
        type: float4
      - name: overlap
        type: float4
      - name: dim
        type: int
      - name: range
        type: float
      item_type: struct
      name: ConsiderSplitContext
      pos:
        line_end: 1516
        line_start: 1499
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
    - fields:
      - name: lower
        type: float
      item_type: struct
      name: SplitInterval
      pos:
        line_end: 1525
        line_start: 1521
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
    typedefs:
    - item_type: typedef
      name: (*box2df_predicate)(const BOX2DF *a, const BOX2DF *b)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
      type: bool
    union:
    - fields:
      - name: u
        type: uint32_t
      - name: f
        type: float
      item_type: union
      name: floatuint
      pos:
        line_end: 460
        line_start: 457
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
    - fields:
      - name: f
        type: float
      - name: vbits
        type: "struct {\n\t\t\tunsigned value : 31, sign : 1;\n\t\t}"
      - name: rbits
        type: "struct {\n\t\t\tunsigned value : 30, realm : 1, sign : 1;\n\t\t}"
      item_type: union
      name: a
      pos:
        line_end: 1223
        line_start: 1215
        source_file: /src/postgis/postgis/gserialized_gist_2d.c
- function_names: []
  source_file: /src/postgis/postgis/lwgeom_box3d.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWGEOM_get_srid
  - LWGEOM_set_srid
  - LWGEOM_getTYPE
  - geometry_geometrytype
  - LWGEOM_numpoints_linestring
  - LWGEOM_numgeometries_collection
  - LWGEOM_geometryn_collection
  - LWGEOM_dimension
  - LWGEOM_exteriorring_polygon
  - LWGEOM_numinteriorrings_polygon
  - LWGEOM_interiorringn_polygon
  - LWGEOM_pointn_linestring
  - LWGEOM_x_point
  - LWGEOM_y_point
  - LWGEOM_z_point
  - LWGEOM_m_point
  - LWGEOM_startpoint_linestring
  - LWGEOM_endpoint_linestring
  - LWGEOM_from_text
  - LWGEOM_from_WKB
  - LWGEOM_asText
  - LWGEOM_asBinary
  - LWGEOM_isclosed
  source_file: /src/postgis/postgis/lwgeom_ogc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_kml_element
  - geom_from_kml
  - is_kml_namespace
  - kmlGetProp
  - parse_kml_double
  - parse_kml_coordinates
  - parse_kml_point
  - parse_kml_line
  - parse_kml_polygon
  - parse_kml_multi
  - parse_kml
  source_file: /src/postgis/postgis/lwgeom_in_kml.c
  types:
    enum:
    - enumerators:
      - name: INIT
        value: '0'
      - name: DIG
        value: '2'
      - name: NEED_DIG
        value: '1'
      - name: DIG_DEC
        value: '4'
      - name: NEED_DIG_DEC
        value: '3'
      - name: EXP
        value: '5'
      - name: NEED_DIG_EXP
        value: '6'
      - name: DIG_EXP
        value: '7'
      - name: END
        value: '8'
      item_type: enum
      name: states
      pos:
        line_end: 234
        line_start: 223
        source_file: /src/postgis/postgis/lwgeom_in_kml.c
    preproc_defs:
    - item_type: preproc_def
      name: KML_NS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/postgis/postgis/lwgeom_in_kml.c
      type_or_value: ((char *) "http://www.opengis.net/kml/2.2")
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/gserialized_spgist_3d.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPGLeftStrategyNumber
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: SPGOverLeftStrategyNumber
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: SPGOverlapStrategyNumber
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '3   '
    - item_type: preproc_def
      name: SPGOverRightStrategyNumber
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: SPGRightStrategyNumber
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '5   '
    - item_type: preproc_def
      name: SPGSameStrategyNumber
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '6   '
    - item_type: preproc_def
      name: SPGContainsStrategyNumber
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '7   '
    - item_type: preproc_def
      name: SPGContainedByStrategyNumber
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '8   '
    - item_type: preproc_def
      name: SPGOverBelowStrategyNumber
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '9   '
    - item_type: preproc_def
      name: SPGBelowStrategyNumber
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '10  '
    - item_type: preproc_def
      name: SPGAboveStrategyNumber
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '11  '
    - item_type: preproc_def
      name: SPGOverAboveStrategyNumber
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '12  '
    - item_type: preproc_def
      name: SPGOldContainsStrategyNumber
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '13  '
    - item_type: preproc_def
      name: SPGOldContainedByStrategyNumber
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '14  '
    - item_type: preproc_def
      name: SPGKNNSearchStrategyNumber
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '15  '
    - item_type: preproc_def
      name: SPGContainsElemStrategyNumber
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '16  '
    - item_type: preproc_def
      name: SPGAdjacentStrategyNumber
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '17  '
    - item_type: preproc_def
      name: SPGEqualStrategyNumber
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '18  '
    - item_type: preproc_def
      name: SPGNotEqualStrategyNumber
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '19  '
    - item_type: preproc_def
      name: SPGLessStrategyNumber
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '20  '
    - item_type: preproc_def
      name: SPGLessEqualStrategyNumber
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '21  '
    - item_type: preproc_def
      name: SPGGreaterStrategyNumber
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '22  '
    - item_type: preproc_def
      name: SPGGreaterEqualStrategyNumber
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '23  '
    - item_type: preproc_def
      name: SPGSubStrategyNumber
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '24  '
    - item_type: preproc_def
      name: SPGSubEqualStrategyNumber
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '25  '
    - item_type: preproc_def
      name: SPGSuperStrategyNumber
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '26  '
    - item_type: preproc_def
      name: SPGSuperEqualStrategyNumber
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '27  '
    - item_type: preproc_def
      name: SPGOverFrontStrategyNumber
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '28  '
    - item_type: preproc_def
      name: SPGFrontStrategyNumber
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '29  '
    - item_type: preproc_def
      name: SPGBackStrategyNumber
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '30  '
    - item_type: preproc_def
      name: SPGOverBackStrategyNumber
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/postgis/postgis/gserialized_spgist_3d.h
      type_or_value: '31  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ST_RemoveIrrelevantPointsForView
  source_file: /src/postgis/postgis/lwgeom_remove_irrelevant_points_for_view.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - LWGEOM_mem_size
  - LWGEOM_summary
  - postgis_version
  - postgis_liblwgeom_version
  - postgis_lib_version
  - postgis_lib_revision
  - postgis_lib_build_date
  - postgis_scripts_released
  - postgis_libxml_version
  - LWGEOM_npoints
  - LWGEOM_nrings
  - ST_Area
  - LWGEOM_length2d_linestring
  - LWGEOM_length_linestring
  - LWGEOM_perimeter_poly
  - LWGEOM_perimeter2d_poly
  - LWGEOM_force_2d
  - LWGEOM_force_3dz
  - LWGEOM_force_3dm
  - LWGEOM_force_4d
  - LWGEOM_force_collection
  - LWGEOM_force_multi
  - LWGEOM_force_curve
  - LWGEOM_force_sfs
  - LWGEOM_closestpoint
  - LWGEOM_shortestline2d
  - LWGEOM_longestline2d
  - ST_Distance
  - LWGEOM_dwithin
  - LWGEOM_maxdistance2d_linestring
  - LWGEOM_closestpoint3d
  - LWGEOM_shortestline3d
  - LWGEOM_longestline3d
  - ST_3DDistance
  - ST_3DIntersects
  - LWGEOM_dwithin3d
  - LWGEOM_dfullywithin3d
  - LWGEOM_maxdistance3d
  - LWGEOM_longitude_shift
  - ST_WrapX
  - ST_Scroll
  - LWGEOM_inside_circle_point
  - LWGEOM_collect
  - LWGEOM_collect_garray
  - LWGEOM_line_from_mpoint
  - LWGEOM_makeline_garray
  - LWGEOM_makeline
  - LWGEOM_makepoly
  - LWGEOM_expand
  - LWGEOM_to_BOX
  - LWGEOM_envelope
  - LWGEOM_isempty
  - LWGEOM_segmentize2d
  - LWGEOM_reverse
  - LWGEOM_force_clockwise_poly
  - LWGEOM_noop
  - ST_Normalize
  - LWGEOM_zmflag
  - LWGEOM_hasz
  - LWGEOM_hasm
  - LWGEOM_hasBBOX
  - LWGEOM_ndims
  - LWGEOM_same
  - ST_MakeEnvelope
  - ST_TileEnvelope
  - ST_IsCollection
  - LWGEOM_makepoint
  - ST_Point
  - ST_PointZ
  - ST_PointM
  - ST_PointZM
  - LWGEOM_makepoint3dm
  - LWGEOM_addpoint
  - LWGEOM_removepoint
  - LWGEOM_setpoint_linestring
  - LWGEOM_asEWKT
  - LWGEOM_azimuth
  - geometry_project_direction
  - geometry_project_geometry
  - geometry_line_extend
  - LWGEOM_angle
  - optimistic_overlap
  - LWGEOM_affine
  - ST_GeoHash
  - _ST_SortableHash
  - ST_CollectionExtract
  - ST_CollectionHomogenize
  - ST_RemoveRepeatedPoints
  - ST_FlipCoordinates
  - ordname2ordval
  - ST_SwapOrdinates
  - ST_BoundingDiagonal
  - ST_Scale
  - ST_Points
  - ST_QuantizeCoordinates
  - LWGEOM_FilterByM
  - boundary
  source_file: /src/postgis/postgis/lwgeom_functions_basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/lwgeom_accum.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWGEOM_ACCUM_H
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/postgis/lwgeom_accum.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CollectionBuildStateDataSize
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/postgis/lwgeom_accum.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*geoms'
        type: List
      - name: data[CollectionBuildStateDataSize]
        type: Datum
      - name: geomOid
        type: Oid
      - name: gridSize
        type: float8
      item_type: struct
      name: CollectionBuildState
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/postgis/postgis/lwgeom_accum.h
    typedefs: []
    union: []
- function_names:
  - LWGEOM_dumppoints
  - LWGEOM_dumpsegments
  source_file: /src/postgis/postgis/lwgeom_dumppoints.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXDEPTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/postgis/lwgeom_dumppoints.c
      type_or_value: '32'
    structs:
    - fields:
      - name: '*geom'
        type: LWGEOM
      - name: idx
        type: uint32_t
      item_type: struct
      name: dumpnode
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/postgis/postgis/lwgeom_dumppoints.c
    - fields:
      - name: '*root'
        type: LWGEOM
      - name: stacklen
        type: int
      - name: pathlen
        type: int
      - name: stack[MAXDEPTH]
        type: "struct\tdumpnode"
      - name: path[34]
        type: Datum
      - name: typlen
        type: int16
      - name: byval
        type: bool
      - name: align
        type: char
      - name: ring
        type: uint32_t
      - name: pt
        type: uint32_t
      item_type: struct
      name: dumpstate
      pos:
        line_end: 72
        line_start: 58
        source_file: /src/postgis/postgis/lwgeom_dumppoints.c
    typedefs: []
    union: []
- function_names:
  - uthash_fatal
  - uthash_malloc
  - uthash_free
  - feature_init
  - feature_build
  - feature_add_property
  - c_int
  - p_int
  - encode_ptarray
  - encode_ptarray_initial
  - encode_point
  - encode_mpoint
  - encode_line
  - encode_mline
  - encode_poly
  - encode_mpoly
  - encode_feature_geometry
  - get_tuple_desc
  - get_key_index_with_size
  - add_key
  - parse_column_keys
  - encode_keys
  - MVT_CREATE_VALUES
  - encode_values
  - MVT_PARSE_VALUE
  - MVT_PARSE_INT_VALUE
  - MVT_PARSE_DATUM
  - MVT_PARSE_INT_DATUM
  - add_value_as_string_with_size
  - add_value_as_string
  - parse_datum_as_string
  - parse_jsonb
  - set_feature_id
  - parse_values
  - lwgeom_get_basic_type
  - lwgeom_to_basic_type
  - mvt_unsafe_clip_by_box
  - mvt_clip_and_validate_geos
  - mvt_clip_and_validate
  - mvt_geom
  - mvt_agg_init_context
  - mvt_agg_transfn
  - mvt_ctx_to_tile
  - mvt_ctx_to_bytea
  - mvt_ctx_serialize
  - mvt_allocator
  - mvt_deallocator
  - mvt_ctx_deserialize
  - vectortile_layer_combine
  - vectortile_tile_combine
  - mvt_ctx_combine
  - mvt_agg_finalfn
  source_file: /src/postgis/postgis/mvt.c
  types:
    enum:
    - enumerators:
      - name: CMD_MOVE_TO
        value: '1'
      - name: CMD_CLOSE_PATH
        value: '7'
      - name: CMD_LINE_TO
        value: '2'
      item_type: enum
      name: mvt_cmd_id
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/postgis/postgis/mvt.c
    - enumerators:
      - name: MVT_POINT
        value: '1'
      - name: MVT_LINE
        value: '2'
      - name: MVT_RING
        value: '3'
      item_type: enum
      name: mvt_type
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/postgis/postgis/mvt.c
    preproc_defs:
    - item_type: preproc_def
      name: FEATURES_CAPACITY_INITIAL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/postgis/postgis/mvt.c
      type_or_value: '50'
    - item_type: preproc_def
      name: TAGS_INITIAL_CAPACITY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/postgis/postgis/mvt.c
      type_or_value: '20'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: uint32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: mvt_kv_key
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/postgis/postgis/mvt.c
    - fields:
      - name: value[1]
        type: VectorTile__Tile__Value
      - name: id
        type: uint32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: mvt_kv_value
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/postgis/postgis/mvt.c
    - fields:
      - name: has_id
        type: bool
      - name: id
        type: uint64_t
      - name: n_tags
        type: size_t
      - name: tags_capacity
        type: size_t
      - name: '*tags'
        type: uint32_t
      - name: type
        type: VectorTile__Tile__GeomType
      - name: n_geometry
        type: size_t
      - name: '*geometry'
        type: uint32_t
      item_type: struct
      name: feature_builder
      pos:
        line_end: 94
        line_start: 81
        source_file: /src/postgis/postgis/mvt.c
    typedefs: []
    union: []
- function_names:
  - LWGEOM_asGML
  - LWGEOM_asGeoJson
  - geometry_to_json
  - geometry_to_jsonb
  - LWGEOM_asSVG
  - LWGEOM_asX3D
  - LWGEOM_asEncodedPolyline
  source_file: /src/postgis/postgis/lwgeom_export.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RectTreeBuilder
  - RectTreeFreer
  - RectTreeAllocator
  - GetRectTreeGeomCache
  - ST_DistanceRectTree
  - ST_DistanceRectTreeCached
  source_file: /src/postgis/postgis/lwgeom_rectree.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: gcache
        type: GeomCache
      - name: '*index'
        type: RECT_NODE
      item_type: struct
      name: RectTreeGeomCache
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/postgis/postgis/lwgeom_rectree.c
    typedefs: []
    union: []
- function_names:
  - ST_ClosestPointOfApproach
  - ST_IsValidTrajectory
  - ST_DistanceCPA
  - ST_CPAWithin
  source_file: /src/postgis/postgis/lwgeom_functions_temporal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/flatgeobuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLATGEOBUF_H_
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/postgis/postgis/flatgeobuf.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*ctx'
        type: flatgeobuf_ctx
      - name: '*geom_name'
        type: char
      - name: geom_index
        type: uint32_t
      - name: tupdesc
        type: TupleDesc
      - name: row
        type: HeapTupleHeader
      item_type: struct
      name: flatgeobuf_agg_ctx
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/postgis/postgis/flatgeobuf.h
    - fields:
      - name: '*ctx'
        type: flatgeobuf_ctx
      - name: tupdesc
        type: TupleDesc
      - name: result
        type: Datum
      - name: geom
        type: Datum
      - name: fid
        type: int
      - name: done
        type: bool
      item_type: struct
      name: flatgeobuf_decode_ctx
      pos:
        line_end: 67
        line_start: 59
        source_file: /src/postgis/postgis/flatgeobuf.h
    typedefs: []
    union: []
- function_names:
  - interrupt_geos_callback
  - interrupt_liblwgeom_callback
  - pjLogFunction
  - _PG_init
  - _PG_fini
  source_file: /src/postgis/postgis/postgis_module.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/geography_measurement_trees.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ptarray_remove_dim_helper
  - ST_RemoveSmallParts
  source_file: /src/postgis/postgis/lwgeom_remove_small_parts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWGEOM_in
  - LWGEOM_to_latlon
  - LWGEOM_out
  - LWGEOM_asHEXEWKB
  - LWGEOM_to_text
  - LWGEOMFromEWKB
  - LWGEOMFromTWKB
  - WKBFromLWGEOM
  - TWKBFromLWGEOM
  - TWKBFromLWGEOMArray
  - LWGEOM_addBBOX
  - LWGEOM_dropBBOX
  - elog_ERROR
  - parse_WKT_lwgeom
  - LWGEOM_recv
  - LWGEOM_send
  - LWGEOM_to_bytea
  - LWGEOM_from_bytea
  source_file: /src/postgis/postgis/lwgeom_inout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geom2d_brin_inclusion_add_value
  - geom2d_brin_inclusion_merge
  source_file: /src/postgis/postgis/brin_2d.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - galloc
  - get_tuple_desc
  - encode_keys
  - set_int_value
  - encode_properties
  - encode_coords
  - encode_point
  - encode_mpoint
  - encode_line
  - encode_triangle
  - encode_mline
  - encode_poly
  - encode_mpoly
  - encode_collection
  - encode_geometry
  - analyze_val
  - analyze_pa
  - analyze_geometry
  - analyze_geometry_flags
  - encode_feature
  - geobuf_agg_init_context
  - geobuf_agg_transfn
  - geobuf_agg_finalfn
  source_file: /src/postgis/postgis/geobuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FEATURES_CAPACITY_INITIAL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/postgis/postgis/geobuf.c
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_PRECISION
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/postgis/geobuf.c
      type_or_value: 1e6
    structs: []
    typedefs: []
    union: []
- function_names:
  - GetAggContext
  - CheckAggContext
  - pgis_geometry_union_parallel_transfn
  - pgis_geometry_union_parallel_combinefn
  - pgis_geometry_union_parallel_serialfn
  - pgis_geometry_union_parallel_deserialfn
  - pgis_geometry_union_parallel_finalfn
  - state_create
  - state_append
  - state_serialize
  - state_deserialize
  - state_combine
  - gserialized_list_union
  - foreach
  source_file: /src/postgis/postgis/lwgeom_union.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gbox_ndims
  - text_p_get_mode
  - cmp_int
  - range_full
  - total_double
  - total_int
  - avg
  - stddev
  - nd_stats_value_index
  - nd_box_to_json
  - nd_stats_to_json
  - nd_stats_to_grid
  - nd_box_merge
  - nd_box_init
  - nd_box_init_bounds
  - nd_box_from_gbox
  - nd_box_intersects
  - nd_box_contains
  - nd_box_expand
  - nd_box_overlap
  - nd_box_ratio
  - nd_box_array_distribution
  - nd_increment
  - pg_nd_stats_from_tuple
  - pg_get_nd_stats
  - pg_get_nd_stats_by_name
  - estimate_join_selectivity
  - gserialized_gist_joinsel_nd
  - gserialized_gist_joinsel_2d
  - gserialized_joinsel_internal
  - gserialized_gist_joinsel
  - compute_gserialized_stats_mode
  - compute_gserialized_stats
  - gserialized_analyze_nd
  - estimate_selectivity
  - _postgis_gserialized_stats
  - _postgis_gserialized_sel
  - _postgis_gserialized_joinsel
  - gserialized_gist_sel_2d
  - gserialized_gist_sel_nd
  - gserialized_sel_internal
  - gserialized_gist_sel
  - index_has_attr
  - index_get_am
  - index_get_keytype
  - table_get_spatial_index
  - foreach
  - spatial_index_read_extent
  - _postgis_gserialized_index_extent
  - get_attnum_attypid
  - gserialized_estimated_extent
  - geometry_estimated_extent
  source_file: /src/postgis/postgis/gserialized_estimate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATISTIC_KIND_ND
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '102'
    - item_type: preproc_def
      name: STATISTIC_KIND_2D
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '103'
    - item_type: preproc_def
      name: STATISTIC_SLOT_ND
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '3'
    - item_type: preproc_def
      name: STATISTIC_SLOT_2D
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SDFACTOR
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '3.25'
    - item_type: preproc_def
      name: ND_DIMS
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MIN_DIMENSION_WIDTH
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '0.000000001'
    - item_type: preproc_def
      name: MAX_DIMENSION_WIDTH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '1.0E+20'
    - item_type: preproc_def
      name: DEFAULT_ND_SEL
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '0.0001'
    - item_type: preproc_def
      name: DEFAULT_ND_JOINSEL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '0.001'
    - item_type: preproc_def
      name: FALLBACK_ND_SEL
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '0.2'
    - item_type: preproc_def
      name: FALLBACK_ND_JOINSEL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '0.3'
    - item_type: preproc_def
      name: MAX_NUM_BINS
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '50'
    - item_type: preproc_def
      name: BIN_MIN_SIZE
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/postgis/postgis/gserialized_estimate.c
      type_or_value: '10'
    structs:
    - fields:
      - name: min[ND_DIMS]
        type: float4
      - name: max[ND_DIMS]
        type: float4
      item_type: struct
      name: ND_BOX_T
      pos:
        line_end: 230
        line_start: 226
        source_file: /src/postgis/postgis/gserialized_estimate.c
    - fields:
      - name: min[ND_DIMS]
        type: int
      - name: max[ND_DIMS]
        type: int
      item_type: struct
      name: ND_IBOX_T
      pos:
        line_end: 239
        line_start: 235
        source_file: /src/postgis/postgis/gserialized_estimate.c
    - fields:
      - name: ndims
        type: float4
      - name: size[ND_DIMS]
        type: float4
      - name: extent
        type: ND_BOX
      - name: table_features
        type: float4
      - name: sample_features
        type: float4
      - name: not_null_features
        type: float4
      - name: histogram_features
        type: float4
      - name: histogram_cells
        type: float4
      - name: cells_covered
        type: float4
      - name: value[1]
        type: float4
      item_type: struct
      name: ND_STATS_T
      pos:
        line_end: 281
        line_start: 248
        source_file: /src/postgis/postgis/gserialized_estimate.c
    - fields:
      - name: std_compute_stats
        type: AnalyzeAttrComputeStatsFunc
      - name: '*std_extra_data'
        type: void
      item_type: struct
      name: GserializedAnalyzeExtraData
      pos:
        line_end: 287
        line_start: 283
        source_file: /src/postgis/postgis/gserialized_estimate.c
    typedefs: []
    union: []
- function_names:
  - postgis_typmod_out
  - postgis_valid_typmod
  - gserialized_typmod_in
  - geography_typmod_in
  - geometry_typmod_in
  - geography_enforce_typmod
  - geometry_enforce_typmod
  - postgis_typmod_type
  - postgis_typmod_dims
  - postgis_typmod_srid
  source_file: /src/postgis/postgis/gserialized_typmod.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_gserialized_from_datum_empty
  source_file: /src/postgis/postgis/brin_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - geography_valid_type
  - gserialized_geography_from_lwgeom
  - geography_in
  - geography_out
  - geography_as_gml
  - geography_as_kml
  - geography_as_svg
  - geography_as_geojson
  - geography_from_text
  - geography_from_binary
  - geography_from_geometry
  - geometry_from_geography
  - geography_recv
  - geography_send
  source_file: /src/postgis/postgis/geography_inout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hexagon
  - hexagon_grid_state
  - hexagon_state_next
  - square
  - square_grid_state
  - square_state_next
  - ST_ShapeGrid
  - ST_Hexagon
  - ST_Square
  source_file: /src/postgis/postgis/lwgeom_generate_grid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/postgis/postgis/lwgeom_generate_grid.c
      type_or_value: '0.8660254037844387'
    structs:
    - fields:
      - name: cell_shape
        type: GeometryShape
      - name: done
        type: bool
      - name: bounds
        type: GBOX
      - name: srid
        type: int32_t
      - name: size
        type: double
      - name: i
        type: int32_t
      item_type: struct
      name: GeometryGridState
      pos:
        line_end: 60
        line_start: 52
        source_file: /src/postgis/postgis/lwgeom_generate_grid.c
    - fields:
      - name: cell_shape
        type: GeometryShape
      - name: done
        type: bool
      - name: bounds
        type: GBOX
      - name: srid
        type: int32_t
      - name: size
        type: double
      - name: i
        type: int32_t
      - name: column_min
        type: int32_t
      - name: row_min_odd
        type: int32_t
      - name: row_min_even
        type: int32_t
      item_type: struct
      name: HexagonGridState
      pos:
        line_end: 103
        line_start: 92
        source_file: /src/postgis/postgis/lwgeom_generate_grid.c
    - fields:
      - name: cell_shape
        type: GeometryShape
      - name: done
        type: bool
      - name: bounds
        type: GBOX
      - name: srid
        type: int32_t
      - name: size
        type: double
      - name: i
        type: int32_t
      - name: column_min
        type: int32_t
      - name: row_min
        type: int32_t
      item_type: struct
      name: SquareGridState
      pos:
        line_end: 184
        line_start: 174
        source_file: /src/postgis/postgis/lwgeom_generate_grid.c
    typedefs:
    - item_type: typedef
      name: GeometryShape
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/postgis/postgis/lwgeom_generate_grid.c
    union: []
- function_names:
  - LWGEOM_has_arc
  - LWGEOM_curve_segmentize
  - ST_CurveToLine
  - LWGEOM_line_desegmentize
  - ST_NumCurves
  - ST_CurveN
  source_file: /src/postgis/postgis/lwgeom_sqlmm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HANDLE_GEOS_ERROR
  source_file: /src/postgis/postgis/lwgeom_geos.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LWGEOM_GEOS_H_
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/postgis/postgis/lwgeom_geos.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_column_type
  - inspect_table
  - ensure_properties_size
  - ensure_items_len
  - encode_properties
  - flatgeobuf_check_magicbytes
  - decode_properties
  - flatgeobuf_decode_row
  - flatgeobuf_agg_ctx_init
  - flatgeobuf_agg_transfn
  - flatgeobuf_agg_finalfn
  source_file: /src/postgis/postgis/flatgeobuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/postgis/lwgeom_union.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LWGEOM_UNION_H
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/postgis/postgis/lwgeom_union.h
      type_or_value: '1'
    structs:
    - fields:
      - name: gridSize
        type: float8
      - name: '*list'
        type: List
      - name: size
        type: int32
      item_type: struct
      name: UnionState
      pos:
        line_end: 11
        line_start: 6
        source_file: /src/postgis/postgis/lwgeom_union.h
    typedefs: []
    union: []
- function_names:
  - POSTGIS_DEPRECATE
  source_file: /src/postgis/postgis/postgis_legacy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cstring2text
  - text2cstring
  - postgis_libjson_version
  - geom_from_geojson
  source_file: /src/postgis/postgis/lwgeom_in_geojson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PreparedCacheDelete
  - mcxt_ptr_hasha
  - CreatePrepGeomHash
  - AddPrepGeomHashEntry
  - GetPrepGeomHashEntry
  - DeletePrepGeomHashEntry
  - PrepGeomCacheBuilder
  - PrepGeomCacheCleaner
  - PrepGeomCacheAllocator
  - GetPrepGeomCache
  source_file: /src/postgis/postgis/lwgeom_geos_prepared.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PREPARED_BACKEND_HASH_SIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postgis/postgis/lwgeom_geos_prepared.c
      type_or_value: '32'
    structs:
    - fields:
      - name: context
        type: MemoryContext
      - name: '* prepared_geom'
        type: GEOSPreparedGeometry
      - name: '* geom'
        type: GEOSGeometry
      item_type: struct
      name: PrepGeomHashEntry
      pos:
        line_end: 86
        line_start: 81
        source_file: /src/postgis/postgis/lwgeom_geos_prepared.c
    typedefs: []
    union: []
- function_names:
  - test_raster_envelope
  - test_raster_envelope_geom
  - test_raster_convex_hull
  - lwgeom_to_text
  - test_raster_surface
  - test_raster_perimeter
  - test_raster_pixel_as_polygon
  - test_raster_get_pixel_bilinear
  - raster_geometry_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_raster_geometry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_raster_wkb
  - raster_wkb_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_raster_wkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_raster_new
  - test_raster_empty
  - test_raster_metadata
  - test_raster_clone
  - test_raster_from_band
  - test_raster_replace_band
  - raster_basics_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_raster_basics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_band_metadata
  - test_band_pixtype_1BB
  - test_band_pixtype_2BUI
  - test_band_pixtype_4BUI
  - test_band_pixtype_8BUI
  - test_band_pixtype_8BSI
  - test_band_pixtype_16BUI
  - test_band_pixtype_16BSI
  - test_band_pixtype_32BUI
  - test_band_pixtype_32BSI
  - test_band_pixtype_32BF
  - test_band_pixtype_64BF
  - test_band_get_pixel_line
  - test_band_new_offline_from_path
  - band_basics_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_band_basics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_pixtype_size
  - test_pixtype_alignment
  - test_pixtype_name
  - test_pixtype_index_from_name
  - test_pixtype_get_min_value
  - test_pixtype_compare_clamped_values
  - pixtype_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_pixtype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_rgb_to_hsv
  - test_hsv_to_rgb
  - test_util_gdal_open
  - misc_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_band_stats
  - test_band_value_count
  - band_stats_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_band_stats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_gdal_configured
  - test_gdal_drivers
  - test_gdal_rasterize
  - fillRasterToPolygonize
  - test_gdal_polygonize
  - test_raster_to_gdal
  - test_gdal_to_raster
  - test_gdal_warp
  - test_gdal_warp_preserves_data
  - gdal_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_gdal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_raster_cell_to_geopoint
  - test_raster_geopoint_to_cell
  - test_raster_from_two_rasters
  - test_raster_compute_skewed_raster
  - raster_misc_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_raster_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_band_get_nearest_pixel
  - test_band_get_pixel_of_value
  - test_pixel_set_to_array
  - band_misc_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_band_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PG_ADD_TEST
  source_file: /src/postgis/raster/test/cunit/cu_tester.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CU_RASTER_TESTER_H
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/postgis/raster/test/cunit/cu_tester.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_CUNIT_MSG_LENGTH
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/postgis/raster/test/cunit/cu_tester.h
      type_or_value: '512'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*PG_SuiteSetup)(void)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/postgis/raster/test/cunit/cu_tester.h
      type: void
    union: []
- function_names:
  - test_raster_geos_overlaps
  - test_raster_geos_touches
  - test_raster_geos_contains
  - test_raster_geos_contains_properly
  - test_raster_geos_covers
  - test_raster_geos_covered_by
  - test_raster_within_distance
  - test_raster_fully_within_distance
  - test_raster_intersects
  - test_raster_same_alignment
  - spatial_relationship_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_spatial_relationship.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - testRasterIterator1_callback
  - testRasterIterator2_callback
  - testRasterIterator3_callback
  - testRasterIterator4_callback
  - testRasterIterator5_callback
  - testRasterIterator6_callback
  - testRasterIterator7_callback
  - test_raster_iterator
  - test_band_reclass
  - test_raster_colormap
  - mapalgebra_suite_setup
  source_file: /src/postgis/raster/test/cunit/cu_mapalgebra.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rasters
        type: uint16_t
      - name: rows
        type: uint32_t
      - name: columns
        type: uint32_t
      item_type: struct
      name: _callback_userargs_t
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/postgis/raster/test/cunit/cu_mapalgebra.c
    typedefs: []
    union: []
- function_names:
  - main
  - cu_error_reporter
  - cu_error_msg_reset
  - cu_free_raster
  - cu_add_band
  source_file: /src/postgis/raster/test/cunit/cu_tester.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SWAP
  - ORDER
  - pivot
  - partition
  - quicksort
  - rt_band_get_summary_stats
  - rt_band_get_histogram
  - rt_band_get_quantiles
  - quantile_llist_search
  - quantile_llist_insert
  - quantile_llist_delete
  - quantile_llist_destroy
  - quantile_llist_index_update
  - quantile_llist_index_delete
  - quantile_llist_index_search
  - quantile_llist_index_reset
  - rt_band_get_quantiles_stream
  - rt_band_get_value_count
  source_file: /src/postgis/raster/rt_core/rt_statistics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_DEBUG
  - RASTER_DEBUGF
  - RASTER_DEBUG
  - RASTER_DEBUGF
  - FLT_NEQ
  - FLT_EQ
  - DBL_NEQ
  - DBL_EQ
  - ROUND
  source_file: /src/postgis/raster/rt_core/librtcore.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __attribute__
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: (x)
    - item_type: preproc_def
      name: GDAL_ENABLE_ALL
      pos:
        line_end: 2191
        line_start: 2190
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '"ENABLE_ALL"'
    - item_type: preproc_def
      name: GDAL_DISABLE_ALL
      pos:
        line_end: 2192
        line_start: 2191
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '"DISABLE_ALL"'
    - item_type: preproc_def
      name: GDAL_VSICURL
      pos:
        line_end: 2193
        line_start: 2192
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '"VSICURL"'
    - item_type: preproc_def
      name: POSTGIS_RASTER_WARN_ON_TRUNCATION
      pos:
        line_end: 2200
        line_start: 2199
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '0'
    - item_type: preproc_def
      name: POSTGIS_RT_1BBMAX
      pos:
        line_end: 2203
        line_start: 2202
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '1'
    - item_type: preproc_def
      name: POSTGIS_RT_2BUIMAX
      pos:
        line_end: 2204
        line_start: 2203
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '3'
    - item_type: preproc_def
      name: POSTGIS_RT_4BUIMAX
      pos:
        line_end: 2205
        line_start: 2204
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type_or_value: '15'
    structs:
    - fields:
      - name: MinX
        type: double
      - name: MaxX
        type: double
      - name: MinY
        type: double
      - name: MaxY
        type: double
      - name: UpperLeftX
        type: double
      - name: UpperLeftY
        type: double
      item_type: struct
      name: rt_envelope
      pos:
        line_end: 172
        line_start: 164
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: '*geom'
        type: GSERIALIZED
      - name: elevation
        type: double
      - name: id
        type: int
      item_type: struct
      name: rt_contour_t
      pos:
        line_end: 1750
        line_start: 1746
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: size
        type: uint32_t
      - name: version
        type: uint16_t
      - name: numBands
        type: uint16_t
      - name: scaleX
        type: double
      - name: scaleY
        type: double
      - name: ipX
        type: double
      - name: ipY
        type: double
      - name: skewX
        type: double
      - name: skewY
        type: double
      - name: srid
        type: int32_t
      - name: width
        type: uint16_t
      - name: height
        type: uint16_t
      item_type: struct
      name: rt_raster_serialized_t
      pos:
        line_end: 2421
        line_start: 2393
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: size
        type: uint32_t
      - name: version
        type: uint16_t
      - name: numBands
        type: uint16_t
      - name: scaleX
        type: double
      - name: scaleY
        type: double
      - name: ipX
        type: double
      - name: ipY
        type: double
      - name: skewX
        type: double
      - name: skewY
        type: double
      - name: srid
        type: int32_t
      - name: width
        type: uint16_t
      - name: height
        type: uint16_t
      - name: '*bands'
        type: rt_band
      item_type: struct
      name: rt_raster_t
      pos:
        line_end: 2448
        line_start: 2427
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: bandNum
        type: uint8_t
      - name: '* path'
        type: char
      - name: '*mem'
        type: void
      item_type: struct
      name: rt_extband_t
      pos:
        line_end: 2454
        line_start: 2450
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: pixtype
        type: rt_pixtype
      - name: offline
        type: int32_t
      - name: width
        type: uint16_t
      - name: height
        type: uint16_t
      - name: hasnodata
        type: int32_t
      - name: isnodata
        type: int32_t
      - name: nodataval
        type: double
      - name: ownsdata
        type: int8_t
      - name: raster
        type: rt_raster
      - name: data
        type: "union {\n        void* mem; /* actual data, externally owned */\n        struct
          rt_extband_t offline;\n    }"
      item_type: struct
      name: rt_band_t
      pos:
        line_end: 2474
        line_start: 2456
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: x
        type: int
      - name: y
        type: int
      - name: nodata
        type: uint8_t
      - name: value
        type: double
      - name: '*geom'
        type: LWGEOM
      item_type: struct
      name: rt_pixel_t
      pos:
        line_end: 2484
        line_start: 2476
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: dimx
        type: uint16_t
      - name: dimy
        type: uint16_t
      - name: '**values'
        type: double
      - name: '**nodata'
        type: int
      - name: weighted
        type: int
      item_type: struct
      name: rt_mask_t
      pos:
        line_end: 2492
        line_start: 2486
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: '*geom'
        type: LWPOLY
      - name: val
        type: double
      item_type: struct
      name: rt_geomval_t
      pos:
        line_end: 2498
        line_start: 2495
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: sample
        type: double
      - name: count
        type: uint32_t
      - name: min
        type: double
      - name: max
        type: double
      - name: sum
        type: double
      - name: mean
        type: double
      - name: stddev
        type: double
      - name: '*values'
        type: double
      - name: sorted
        type: int
      item_type: struct
      name: rt_bandstats_t
      pos:
        line_end: 2513
        line_start: 2501
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: count
        type: uint32_t
      - name: percent
        type: double
      - name: min
        type: double
      - name: max
        type: double
      - name: inc_min
        type: int
      - name: inc_max
        type: int
      item_type: struct
      name: rt_histogram_t
      pos:
        line_end: 2525
        line_start: 2516
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: quantile
        type: double
      - name: value
        type: double
      - name: has_value
        type: uint32_t
      item_type: struct
      name: rt_quantile_t
      pos:
        line_end: 2532
        line_start: 2528
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: algeq
        type: uint8_t
      - name: quantile
        type: double
      - name: tau
        type: uint64_t
      - name: '*head'
        type: struct quantile_llist_element
      - name: '*tail'
        type: struct quantile_llist_element
      - name: count
        type: uint32_t
      - name: '*index'
        type: struct quantile_llist_index
      - name: index_max
        type: uint32_t
      - name: sum1
        type: uint64_t
      - name: sum2
        type: uint64_t
      item_type: struct
      name: quantile_llist
      pos:
        line_end: 2550
        line_start: 2535
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: value
        type: double
      - name: count
        type: uint32_t
      - name: '*prev'
        type: struct quantile_llist_element
      - name: '*next'
        type: struct quantile_llist_element
      item_type: struct
      name: quantile_llist_element
      pos:
        line_end: 2558
        line_start: 2552
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: '*element'
        type: struct quantile_llist_element
      - name: index
        type: uint32_t
      item_type: struct
      name: quantile_llist_index
      pos:
        line_end: 2563
        line_start: 2560
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: value
        type: double
      - name: count
        type: uint32_t
      - name: percent
        type: double
      item_type: struct
      name: rt_valuecount_t
      pos:
        line_end: 2570
        line_start: 2566
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: src
        type: "struct rt_reclassrange {\n\t\tdouble min;\n\t\tdouble max;\n\t\tint
          inc_min; /* include min */\n\t\tint inc_max; /* include max */\n\t\tint
          exc_min; /* exceed min */\n\t\tint exc_max; /* exceed max */\n\t}"
      item_type: struct
      name: rt_reclassexpr_t
      pos:
        line_end: 2582
        line_start: 2573
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: min
        type: double
      - name: max
        type: double
      - name: inc_min
        type: int
      - name: inc_max
        type: int
      - name: exc_min
        type: int
      - name: exc_max
        type: int
      item_type: struct
      name: rt_reclassrange
      pos:
        line_end: 2581
        line_start: 2574
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: raster
        type: rt_raster
      - name: nband
        type: uint16_t
      - name: nbnodata
        type: uint8_t
      item_type: struct
      name: rt_iterator_t
      pos:
        line_end: 2589
        line_start: 2585
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: rasters
        type: uint16_t
      - name: rows
        type: uint32_t
      - name: columns
        type: uint32_t
      - name: '***values'
        type: double
      - name: '***nodata'
        type: int
      - name: '**src_pixel'
        type: int
      - name: dst_pixel[2]
        type: int
      item_type: struct
      name: rt_iterator_arg_t
      pos:
        line_end: 2611
        line_start: 2592
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: idx
        type: int
      - name: '*short_name'
        type: char
      - name: '*long_name'
        type: char
      - name: '*create_options'
        type: char
      - name: can_read
        type: uint8_t
      - name: can_write
        type: uint8_t
      item_type: struct
      name: rt_gdaldriver_t
      pos:
        line_end: 2621
        line_start: 2614
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: isnodata
        type: int
      - name: value
        type: double
      - name: color[4]
        type: uint8_t
      item_type: struct
      name: rt_colormap_entry_t
      pos:
        line_end: 2628
        line_start: 2624
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - fields:
      - name: method
        type: "enum {\n\t\tCM_INTERPOLATE,\n\t\tCM_EXACT,\n\t\tCM_NEAREST\n\t}"
      - name: ncolor
        type: int
      - name: nentry
        type: uint16_t
      - name: entry
        type: rt_colormap_entry
      item_type: struct
      name: rt_colormap_t
      pos:
        line_end: 2640
        line_start: 2630
        source_file: /src/postgis/raster/rt_core/librtcore.h
    typedefs:
    - item_type: typedef
      name: rt_errorstate
      pos:
        line_end: 182
        line_start: 179
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - item_type: typedef
      name: rt_pixtype
      pos:
        line_end: 198
        line_start: 185
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - item_type: typedef
      name: rt_extenttype
      pos:
        line_end: 207
        line_start: 200
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - item_type: typedef
      name: rt_geos_spatial_test
      pos:
        line_end: 224
        line_start: 217
        source_file: /src/postgis/raster/rt_core/librtcore.h
    - item_type: typedef
      name: '* (*rt_options)(const char* varname)'
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type: char
    - item_type: typedef
      name: '* (*rt_allocator)(size_t size)'
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type: void
    - item_type: typedef
      name: '* (*rt_reallocator)(void *mem, size_t size)'
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type: void
    - item_type: typedef
      name: (*rt_deallocator)(void *mem)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type: void
    - item_type: typedef
      name: (*rt_message_handler)(const char* string, va_list ap)
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/postgis/raster/rt_core/librtcore.h
      type: void
    - item_type: typedef
      name: rt_resample_type
      pos:
        line_end: 1451
        line_start: 1448
        source_file: /src/postgis/raster/rt_core/librtcore.h
    union: []
- function_names:
  - rt_band_from_wkb
  - rt_raster_from_wkb
  - rt_raster_from_hexwkb
  - rt_raster_wkb_size
  - rt_raster_to_wkb
  - rt_raster_to_hexwkb
  source_file: /src/postgis/raster/rt_core/rt_wkb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RT_WKB_HDR_SZ
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/postgis/raster/rt_core/rt_wkb.c
      type_or_value: (sizeof(struct rt_raster_serialized_t)-4+1)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_raster_same_alignment
  - rt_raster_geos_spatial_relationship
  - rt_raster_overlaps
  - rt_raster_touches
  - rt_raster_contains
  - rt_raster_contains_properly
  - rt_raster_covers
  - rt_raster_coveredby
  - rt_raster_within_distance
  - rt_raster_fully_within_distance
  - rt_raster_intersects_algorithm
  - rt_raster_intersects
  source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
  types:
    enum:
    - enumerators:
      - name: X1
      - name: X2
      - name: Y1
      - name: Y2
      item_type: enum
      name: line_points
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - enumerators:
      - name: pX
      - name: pY
      item_type: enum
      name: point
      pos:
        line_end: 652
        line_start: 652
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - enumerators:
      - name: X1
      - name: Y2
      - name: X2
      - name: Y1
      item_type: enum
      name: line_points
      pos:
        line_end: 1030
        line_start: 1030
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    - enumerators:
      - name: pX
      - name: pY
      item_type: enum
      name: point
      pos:
        line_end: 1031
        line_start: 1031
        source_file: /src/postgis/raster/rt_core/rt_spatial_relationship.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BANDTYPE_PIXTYPE
  - BANDTYPE_IS_OFFDB
  - BANDTYPE_HAS_NODATA
  - BANDTYPE_IS_NODATA
  - CHECK_BINPTR_POSITION
  - CHECK_BINPTR_POSITION
  source_file: /src/postgis/raster/rt_core/rt_serialize.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BANDTYPE_FLAGS_MASK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: BANDTYPE_PIXTYPE_MASK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: BANDTYPE_FLAG_OFFDB
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: BANDTYPE_FLAG_HASNODATA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: BANDTYPE_FLAG_ISNODATA
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: BANDTYPE_FLAG_RESERVED3
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/postgis/raster/rt_core/rt_serialize.h
      type_or_value: (1<<4)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_util_gdal_progress_func
  - _rti_contour_arg_init
  - _rti_contour_arg_destroy
  - rt_raster_gdal_contour
  source_file: /src/postgis/raster/rt_core/rt_gdal.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: src
        type: "struct {\n\t\tGDALDatasetH ds;\n\t\tGDALDriverH drv;\n\t\tint destroy_drv;\n\t}"
      - name: dst
        type: "struct {\n\t\tOGRSFDriverH drv;\n\t\tOGRDataSourceH ds;\n\t\tOGRLayerH
          lyr;\n\t\tint srid;\n\t\tOGRwkbGeometryType gtype;\n\t}"
      item_type: struct
      name: _rti_contour_arg
      pos:
        line_end: 50
        line_start: 34
        source_file: /src/postgis/raster/rt_core/rt_gdal.c
    typedefs: []
    union: []
- function_names:
  - rt_pixtype_size
  - rt_pixtype_alignment
  - rt_pixtype_index_from_name
  - rt_pixtype_name
  - rt_pixtype_get_min_value
  - rt_pixtype_compare_clamped_values
  - rt_pixel_set_to_array
  source_file: /src/postgis/raster/rt_core/rt_pixel.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_raster_new
  - rt_raster_destroy
  - _rt_raster_geotransform_warn_offline_band
  - rt_raster_get_width
  - rt_raster_get_height
  - rt_raster_set_scale
  - rt_raster_get_x_scale
  - rt_raster_get_y_scale
  - rt_raster_set_skews
  - rt_raster_get_x_skew
  - rt_raster_get_y_skew
  - rt_raster_set_offsets
  - rt_raster_get_x_offset
  - rt_raster_get_y_offset
  - rt_raster_get_phys_params
  - rt_raster_calc_phys_params
  - rt_raster_set_phys_params
  - rt_raster_calc_gt_coeff
  - rt_raster_get_srid
  - rt_raster_set_srid
  - rt_raster_get_num_bands
  - rt_raster_get_band
  - rt_raster_add_band
  - rt_raster_generate_new_band
  - rt_raster_get_inverse_geotransform_matrix
  - rt_raster_get_geotransform_matrix
  - rt_raster_set_geotransform_matrix
  - rt_raster_cell_to_geopoint
  - rt_raster_geopoint_to_cell
  - rt_raster_geopoint_to_rasterpoint
  - rt_raster_get_envelope
  - rt_raster_compute_skewed_raster
  - rt_raster_is_empty
  - rt_raster_has_band
  - rt_raster_copy_band
  - rt_raster_from_band
  - rt_raster_replace_band
  - rt_raster_clone
  - rt_raster_copy_to_geometry
  - rt_raster_to_gdal
  - rt_raster_gdal_drivers
  - rt_raster_to_gdal_mem
  - rt_raster_from_gdal_dataset
  - _rti_rasterize_arg_init
  - _rti_rasterize_arg_destroy
  - rt_raster_gdal_rasterize
  - rt_raster_from_two_rasters
  source_file: /src/postgis/raster/rt_core/rt_raster.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/postgis/raster/rt_core/rt_raster.c
      type_or_value: 0.0/0.0
    structs:
    - fields:
      - name: noband
        type: uint8_t
      - name: numbands
        type: uint32_t
      - name: src_sr
        type: OGRSpatialReferenceH
      - name: '*pixtype'
        type: rt_pixtype
      - name: '*init'
        type: double
      - name: '*nodata'
        type: double
      - name: '*hasnodata'
        type: uint8_t
      - name: '*value'
        type: double
      - name: '*bandlist'
        type: int
      item_type: struct
      name: _rti_rasterize_arg_t
      pos:
        line_end: 2538
        line_start: 2525
        source_file: /src/postgis/raster/rt_core/rt_raster.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/raster/rt_core/librtcore_internal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_util_clamp_to_1BB
  - rt_util_clamp_to_2BUI
  - rt_util_clamp_to_4BUI
  - rt_util_clamp_to_8BSI
  - rt_util_clamp_to_8BUI
  - rt_util_clamp_to_16BSI
  - rt_util_clamp_to_16BUI
  - rt_util_clamp_to_32BSI
  - rt_util_clamp_to_32BUI
  - rt_util_clamp_to_32F
  - rt_util_gdal_resample_alg
  - rt_util_pixtype_to_gdal_datatype
  - rt_util_gdal_datatype_to_pixtype
  - rt_util_gdal_version
  - rt_util_extent_type
  - rt_util_gdal_convert_sr
  - rt_util_gdal_supported_sr
  - rt_util_gdal_sr_auth_info
  - rt_util_gdal_configured
  - rt_util_gdal_register_all
  - rt_util_gdal_driver_registered
  - rt_util_gdal_open
  - rt_util_from_ogr_envelope
  - rt_util_to_ogr_envelope
  - rt_util_envelope_to_lwpoly
  - rt_util_same_geotransform_matrix
  - rt_util_rgb_to_hsv
  - rt_util_hsv_to_rgb
  - rt_util_dbl_trunc_warning
  source_file: /src/postgis/raster/rt_core/rt_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_band_new_inline
  - rt_band_new_offline
  - rt_band_new_offline_from_path
  - rt_band_duplicate
  - rt_band_is_offline
  - rt_band_destroy
  - rt_band_get_ext_path
  - rt_band_get_ext_band_num
  - rt_band_get_data
  - rt_band_load_offline_data
  - rt_band_get_file_size
  - rt_band_get_file_timestamp
  - rt_band_get_pixtype
  - rt_band_get_width
  - rt_band_get_height
  - rt_band_get_ownsdata_flag
  - rt_band_set_ownsdata_flag
  - rt_band_get_hasnodata_flag
  - rt_band_set_hasnodata_flag
  - rt_band_set_isnodata_flag
  - rt_band_get_isnodata_flag
  - rt_band_set_nodata
  - rt_band_set_pixel_line
  - rt_band_set_pixel
  - rt_band_get_pixel_line
  - rt_band_get_pixel_resample
  - rt_band_get_pixel_bilinear
  - rt_band_get_pixel
  - rt_band_get_nearest_pixel
  - rt_band_get_pixel_of_value
  - rt_band_get_nodata
  - rt_band_get_min_value
  - rt_band_check_is_nodata
  - rt_band_clamped_value_is_nodata
  - rt_band_corrected_clamped_value
  source_file: /src/postgis/raster/rt_core/rt_band.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LARGEFILE64_SOURCE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/postgis/raster/rt_core/rt_band.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - d_binary_to_hex
  - d_print_binary_hex
  - d_binptr_to_pos
  - setBits
  - swap_char
  - flip_endian_16
  - flip_endian_32
  - flip_endian_64
  - isMachineLittleEndian
  - read_uint8
  - read_int8
  - read_uint16
  - write_uint16
  - read_int16
  - read_uint32
  - read_int32
  - read_float32
  - read_float64
  - rt_raster_serialized_size
  - rt_raster_serialize
  - rt_raster_deserialize
  source_file: /src/postgis/raster/rt_core/rt_serialize.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: ret
      pos:
        line_end: 367
        line_start: 364
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
    - fields:
      - name: d
        type: double
      - name: i
        type: uint64_t
      item_type: union
      name: ret
      pos:
        line_end: 393
        line_start: 390
        source_file: /src/postgis/raster/rt_core/rt_serialize.c
- function_names:
  - _rti_warp_arg_init
  - _rti_warp_arg_destroy
  - rt_raster_gdal_warp
  source_file: /src/postgis/raster/rt_core/rt_warp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: src
        type: "struct {\n\t\tGDALDriverH drv;\n\t\tGDALDatasetH ds;\n\t\tchar *srs;\n\t\tint
          destroy_drv;\n\t}"
      - name: '*wopts'
        type: GDALWarpOptions
      - name: transform
        type: "struct {\n\t\tstruct {\n\t\t\tchar **item;\n\t\t\tint len;\n\t\t} option;\n\n\t\tstruct
          {\n\t\t\tvoid *transform;\n\t\t\tvoid *imgproj;\n\t\t\tvoid *approx;\n\t\t}
          arg;\n\n\t\tGDALTransformerFunc func;\n\t}"
      item_type: struct
      name: _rti_warp_arg_t
      pos:
        line_end: 66
        line_start: 40
        source_file: /src/postgis/raster/rt_core/rt_warp.c
    typedefs: []
    union: []
- function_names:
  - rt_band_reclass
  - _rti_iterator_arg_init
  - _rti_iterator_arg_destroy
  - _rti_iterator_arg_populate
  - _rti_iterator_arg_empty_init
  - _rti_iterator_arg_callback_init
  - _rti_iterator_arg_callback_clean
  - rt_raster_iterator
  - _rti_colormap_arg_init
  - _rti_colormap_arg_destroy
  - rt_raster_colormap
  source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: uint32_t
      - name: '*raster'
        type: rt_raster
      - name: '*isempty'
        type: int
      - name: '**offset'
        type: double
      - name: '*width'
        type: int
      - name: '*height'
        type: int
      - name: band
        type: "struct {\n\t\trt_band *rtband;\n\t\tint *hasnodata;\n\t\tint *isnodata;\n\t\tdouble
          *nodataval;\n\t\tdouble *minval;\n\t}"
      - name: distance
        type: "struct {\n\t\tuint16_t x;\n\t\tuint16_t y;\n\t}"
      - name: dimension
        type: "struct {\n\t\tuint32_t rows;\n\t\tuint32_t columns;\n\t}"
      - name: empty
        type: "struct {\n\t\tdouble **values;\n\t\tint **nodata;\n\t}"
      - name: arg
        type: rt_iterator_arg
      item_type: struct
      name: _rti_iterator_arg_t
      pos:
        line_end: 418
        line_start: 385
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    - fields:
      - name: raster
        type: rt_raster
      - name: band
        type: rt_band
      - name: nodataentry
        type: rt_colormap_entry
      - name: hasnodata
        type: int
      - name: nodataval
        type: double
      - name: nexpr
        type: int
      - name: '*expr'
        type: rt_reclassexpr
      - name: npos
        type: int
      - name: '*pos'
        type: uint16_t
      item_type: struct
      name: _rti_colormap_arg_t
      pos:
        line_end: 1443
        line_start: 1429
        source_file: /src/postgis/raster/rt_core/rt_mapalgebra.c
    typedefs: []
    union: []
- function_names:
  - _rti_raster_get_band_perimeter
  - rt_raster_get_perimeter
  - rt_raster_surface
  - rt_raster_pixel_as_polygon
  - rt_raster_pixel_as_centroid_point
  - rt_raster_get_envelope_geom
  - rt_raster_get_convex_hull
  - rt_raster_gdal_polygonize
  source_file: /src/postgis/raster/rt_core/rt_geometry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_rt_allocator
  - default_rt_reallocator
  - default_rt_deallocator
  - default_rt_error_handler
  - default_rt_warning_handler
  - default_rt_info_handler
  - default_rt_options
  - rt_install_default_allocators
  - rt_set_handlers
  - rt_set_handlers_options
  - rtalloc
  - rtrealloc
  - rtdealloc
  - rterror
  - rtinfo
  - rtwarn
  - rtoptions
  - rtstrdup
  source_file: /src/postgis/raster/rt_core/rt_context.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alloc
        type: rt_allocator
      - name: realloc
        type: rt_reallocator
      - name: dealloc
        type: rt_deallocator
      - name: err
        type: rt_message_handler
      - name: warn
        type: rt_message_handler
      - name: info
        type: rt_message_handler
      - name: options
        type: rt_options
      item_type: struct
      name: rt_context_t
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/postgis/raster/rt_core/rt_context.c
    typedefs: []
    union: []
- function_names:
  - _
  - _
  - CSEQUAL
  source_file: /src/postgis/raster/loader/raster2pgsql.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '"raster2pgsql"'
    - item_type: preproc_def
      name: MAXNAMELEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '63'
    - item_type: preproc_def
      name: MINOVFACTOR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MAXOVFACTOR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: MAXTILESIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '1073741824'
    - item_type: preproc_def
      name: RCSID
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/postgis/raster/loader/raster2pgsql.h
      type_or_value: '"$Id$"'
    structs:
    - fields:
      - name: rt_file_count
        type: uint32_t
      - name: '**rt_file'
        type: char
      - name: '**rt_filename'
        type: char
      - name: '*schema'
        type: char
      - name: '*table'
        type: char
      - name: '*raster_column'
        type: char
      - name: file_column
        type: int
      - name: '*file_column_name'
        type: char
      - name: overview_count
        type: uint32_t
      - name: '*overview'
        type: int
      - name: '**overview_table'
        type: char
      - name: quoteident
        type: int
      - name: srid
        type: int32_t
      - name: out_srid
        type: int
      - name: '*nband'
        type: int
      - name: nband_count
        type: uint32_t
      - name: tile_size[2]
        type: int
      - name: pad_tile
        type: int
      - name: outdb
        type: int
      - name: opt
        type: char
      - name: idx
        type: int
      - name: maintenance
        type: int
      - name: constraints
        type: int
      - name: max_extent
        type: int
      - name: regular_blocking
        type: int
      - name: '*tablespace'
        type: char
      - name: '*idx_tablespace'
        type: char
      - name: hasnodata
        type: int
      - name: nodataval
        type: double
      - name: skip_nodataval_check
        type: int
      - name: endian
        type: int
      - name: version
        type: int
      - name: transaction
        type: int
      - name: copy_statements
        type: int
      - name: max_tiles_per_copy
        type: uint32_t
      item_type: struct
      name: raster_loader_config
      pos:
        line_end: 164
        line_start: 71
        source_file: /src/postgis/raster/loader/raster2pgsql.h
    - fields:
      - name: srid
        type: int32_t
      - name: '*srs'
        type: char
      - name: dim[2]
        type: uint32_t
      - name: '*nband'
        type: int
      - name: nband_count
        type: uint32_t
      - name: '*gdalbandtype'
        type: GDALDataType
      - name: '*bandtype'
        type: rt_pixtype
      - name: '*hasnodata'
        type: int
      - name: '*nodataval'
        type: double
      - name: gt[6]
        type: double
      - name: tile_size[2]
        type: int
      item_type: struct
      name: rasterinfo_t
      pos:
        line_end: 195
        line_start: 166
        source_file: /src/postgis/raster/loader/raster2pgsql.h
    - fields:
      - name: length
        type: uint32_t
      - name: '**line'
        type: char
      item_type: struct
      name: stringbuffer_t
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/postgis/raster/loader/raster2pgsql.h
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - loader_rt_error_handler
  - loader_rt_warning_handler
  - loader_rt_info_handler
  - rt_init_allocators
  - raster_destroy
  - array_range
  - strreplace
  - strtolower
  - strsplit
  - trim
  - chartrim
  - usage
  - calc_tile_size
  - init_rastinfo
  - rtdealloc_rastinfo
  - copy_rastinfo
  - diff_rastinfo
  - init_config
  - rtdealloc_config
  - init_stringbuffer
  - rtdealloc_stringbuffer
  - dump_stringbuffer
  - flush_stringbuffer
  - append_stringbuffer
  - append_sql_to_buffer
  - copy_from
  - copy_from_end
  - insert_records
  - drop_table
  - create_table
  - create_index
  - analyze_table
  - vacuum_table
  - add_raster_constraints
  - add_overview_constraints
  - build_overview
  - convert_raster
  - process_rasters
  - main
  source_file: /src/postgis/raster/loader/raster2pgsql.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_pg_alloc
  - rt_pg_realloc
  - rt_pg_free
  - rt_pg_error
  - rt_pg_notice
  - rt_pg_debug
  - rt_pg_options
  - rt_pg_vsi_load_all_options
  - rt_pg_vsi_load_options
  - rt_pg_vsi_load_all_options
  - rt_pg_vsi_check_options
  - rtpg_assignHookGDALDataPath
  - rtpg_assignHookGDALEnabledDrivers
  - rtpg_assignHookEnableOutDBRasters
  - _PG_init
  - _PG_fini
  source_file: /src/postgis/raster/rt_pg/rtpostgis.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __attribute__
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/postgis/raster/rt_pg/rtpostgis.c
      type_or_value: (x)
    - item_type: preproc_def
      name: RT_MSG_MAXLEN
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/postgis/raster/rt_pg/rtpostgis.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/postgis/raster/rt_pg/rtpg_internal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_getSRID
  - RASTER_getWidth
  - RASTER_getHeight
  - RASTER_getNumBands
  - RASTER_getXScale
  - RASTER_getYScale
  - RASTER_getXSkew
  - RASTER_getYSkew
  - RASTER_getXUpperLeft
  - RASTER_getYUpperLeft
  - RASTER_getPixelWidth
  - RASTER_getPixelHeight
  - RASTER_getGeotransform
  - RASTER_isEmpty
  - RASTER_hasNoBand
  - RASTER_metadata
  - RASTER_rasterToWorldCoord
  - RASTER_worldToRasterCoord
  - RASTER_setSRID
  - RASTER_setScale
  - RASTER_setScaleXY
  - RASTER_setSkew
  - RASTER_setSkewXY
  - RASTER_setUpperLeftXY
  - RASTER_setGeotransform
  - RASTER_setRotation
  source_file: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
      type_or_value: '6'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
      type_or_value: '10'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/postgis/raster/rt_pg/rtpg_raster_properties.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_to_binary
  - RASTER_histogramCoverage
  - RASTER_quantileCoverage
  source_file: /src/postgis/raster/rt_pg/rtpg_legacy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_fromGDALRaster
  - RASTER_asGDALRaster
  - RASTER_getGDALDrivers
  - RASTER_Contour
  - rtpg_util_gdal_progress_func
  - RASTER_InterpolateRaster
  - RASTER_GDALWarp
  - ogrErrorHandler
  - rtpg_gdal_set_cpl_debug
  source_file: /src/postgis/raster/rt_pg/rtpg_gdal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/postgis/raster/rt_pg/rtpg_gdal.c
      type_or_value: '6'
    - item_type: preproc_def
      name: gdalErrorTypesSize
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/postgis/raster/rt_pg/rtpg_gdal.c
      type_or_value: '17'
    structs:
    - fields:
      - name: ncontours
        type: size_t
      - name: '*contours'
        type: struct rt_contour_t
      item_type: struct
      name: gdal_contour_result_t
      pos:
        line_end: 464
        line_start: 461
        source_file: /src/postgis/raster/rt_pg/rtpg_gdal.c
    typedefs: []
    union: []
- function_names:
  - RASTER_asWKB
  - RASTER_asHexWKB
  - RASTER_fromWKB
  - RASTER_fromHexWKB
  source_file: /src/postgis/raster/rt_pg/rtpg_wkb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_getPixelValue
  - resample_text_to_type
  - RASTER_getPixelValueResample
  - RASTER_getGeometryValues
  - rtpg_dumpvalues_arg_init
  - rtpg_dumpvalues_arg_destroy
  - RASTER_dumpValues
  - RASTER_setPixelValue
  - RASTER_setPixelValuesArray
  - rtpg_setvaluesgv_arg_init
  - rtpg_setvaluesgv_arg_destroy
  - rtpg_setvalues_geomval_callback
  - RASTER_setPixelValuesGeomval
  - RASTER_pixelOfValue
  - RASTER_nearestValue
  - RASTER_neighborhood
  source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
      type_or_value: '2'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 1811
        line_start: 1810
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
      type_or_value: '3'
    structs:
    - fields:
      - name: numbands
        type: int
      - name: rows
        type: int
      - name: columns
        type: int
      - name: '*nbands'
        type: int
      - name: '**values'
        type: Datum
      - name: '**nodata'
        type: bool
      item_type: struct
      name: rtpg_dumpvalues_arg_t
      pos:
        line_end: 349
        line_start: 341
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
    - fields:
      - name: x
        type: int
      - name: y
        type: int
      - name: noset
        type: bool
      - name: nodata
        type: bool
      - name: value
        type: double
      item_type: struct
      name: pixelvalue
      pos:
        line_end: 894
        line_start: 887
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
    - fields:
      - name: ngv
        type: int
      - name: gv
        type: rtpg_setvaluesgv_geomval
      - name: keepnodata
        type: bool
      item_type: struct
      name: rtpg_setvaluesgv_arg_t
      pos:
        line_end: 1282
        line_start: 1277
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
    - fields:
      - name: pixval
        type: "struct {\n\t\tint nodata;\n\t\tdouble value;\n\t}"
      - name: '*geom'
        type: LWGEOM
      - name: mask
        type: rt_raster
      item_type: struct
      name: rtpg_setvaluesgv_geomval_t
      pos:
        line_end: 1292
        line_start: 1284
        source_file: /src/postgis/raster/rt_pg/rtpg_pixel.c
    typedefs: []
    union: []
- function_names:
  - RASTER_makeEmpty
  - RASTER_addBand
  - RASTER_addBandRasterArray
  - RASTER_addBandOutDB
  - RASTER_copyBand
  - RASTER_tile
  - RASTER_band
  source_file: /src/postgis/raster/rt_pg/rtpg_create.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: index
        type: int
      - name: append
        type: bool
      - name: pixtype
        type: rt_pixtype
      - name: initialvalue
        type: double
      - name: hasnodata
        type: bool
      - name: nodatavalue
        type: double
      item_type: struct
      name: addbandarg
      pos:
        line_end: 140
        line_start: 133
        source_file: /src/postgis/raster/rt_pg/rtpg_create.c
    - fields:
      - name: raster
        type: "struct {\n\t\t\trt_raster raster;\n\t\t\tdouble gt[6];\n\t\t\tint32_t
          srid;\n\t\t\tint width;\n\t\t\tint height;\n\t\t}"
      - name: tile
        type: "struct {\n\t\t\tint width;\n\t\t\tint height;\n\n\t\t\tint nx;\n\t\t\tint
          ny;\n\t\t}"
      - name: numbands
        type: int
      - name: '*nbands'
        type: int
      - name: pad
        type: "struct {\n\t\t\tint pad;\n\t\t\tdouble hasnodata;\n\t\t\tdouble nodataval;\n\t\t}"
      item_type: struct
      name: tile_arg_t
      pos:
        line_end: 981
        line_start: 955
        source_file: /src/postgis/raster/rt_pg/rtpg_create.c
    typedefs: []
    union: []
- function_names:
  - RASTER_in
  - RASTER_out
  - RASTER_to_bytea
  - RASTER_noop
  source_file: /src/postgis/raster/rt_pg/rtpg_inout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpg_strreplace
  - rtpg_strtoupper
  - rtpg_chartrim
  - rtpg_strsplit
  - rtpg_removespaces
  - rtpg_trim
  - rtpg_strrstr
  - rtpg_getSR
  source_file: /src/postgis/raster/rt_pg/rtpg_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_summaryStats
  - RASTER_summaryStatsCoverage
  - rtpg_summarystats_arg_destroy
  - rtpg_summarystats_arg_init
  - RASTER_summaryStats_transfn
  - RASTER_summaryStats_finalfn
  - RASTER_histogram
  - RASTER_quantile
  - RASTER_valueCount
  - RASTER_valueCountCoverage
  source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
      type_or_value: '6'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 913
        line_start: 912
        source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
      type_or_value: '4'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 1190
        line_start: 1189
        source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
      type_or_value: '2'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 1442
        line_start: 1441
        source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
      type_or_value: '3'
    structs:
    - fields:
      - name: stats
        type: rt_bandstats
      - name: cK
        type: uint64_t
      - name: cM
        type: double
      - name: cQ
        type: double
      - name: band_index
        type: int32_t
      - name: exclude_nodata_value
        type: bool
      - name: sample
        type: double
      item_type: struct
      name: rtpg_summarystats_arg_t
      pos:
        line_end: 504
        line_start: 493
        source_file: /src/postgis/raster/rt_pg/rtpg_statistics.c
    typedefs: []
    union: []
- function_names:
  - xstr
  - str
  - RASTER_lib_version
  - RASTER_lib_build_date
  - RASTER_gdal_version
  - RASTER_minPossibleValue
  - RASTER_memsize
  source_file: /src/postgis/raster/rt_pg/rtpg_utility.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_getBandPixelType
  - RASTER_getBandPixelTypeName
  - RASTER_getBandNoDataValue
  - RASTER_bandIsNoData
  - RASTER_getBandPath
  - RASTER_getBandFileSize
  - RASTER_getBandFileTimestamp
  - RASTER_bandmetadata
  - RASTER_setBandNoDataValue
  - RASTER_setBandIsNoData
  - RASTER_setBandPath
  source_file: /src/postgis/raster/rt_pg/rtpg_band_properties.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LARGEFILE64_SOURCE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/postgis/raster/rt_pg/rtpg_band_properties.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/postgis/raster/rt_pg/rtpg_band_properties.c
      type_or_value: '8'
    structs:
    - fields:
      - name: bandnum
        type: uint32_t
      - name: '*pixeltype'
        type: char
      - name: hasnodata
        type: bool
      - name: nodataval
        type: double
      - name: isoutdb
        type: bool
      - name: '*bandpath'
        type: char
      - name: extbandnum
        type: uint8_t
      - name: filesize
        type: uint64_t
      - name: timestamp
        type: uint64_t
      - name: isnullband
        type: bool
      item_type: struct
      name: bandmetadata
      pos:
        line_end: 490
        line_start: 479
        source_file: /src/postgis/raster/rt_pg/rtpg_band_properties.c
    typedefs: []
    union: []
- function_names:
  - POSTGIS_RT_DEBUG
  - POSTGIS_RT_DEBUGF
  - POSTGIS_RT_DEBUG
  - POSTGIS_RT_DEBUGF
  source_file: /src/postgis/raster/rt_pg/rtpostgis.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DBL_CHARLEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/postgis/raster/rt_pg/rtpostgis.h
      type_or_value: (3 + DBL_MANT_DIG - DBL_MIN_EXP)
    - item_type: preproc_def
      name: MAX_INT_CHARLEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/postgis/raster/rt_pg/rtpostgis.h
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RASTER_intersects
  - RASTER_overlaps
  - RASTER_touches
  - RASTER_contains
  - RASTER_containsProperly
  - RASTER_covers
  - RASTER_coveredby
  - RASTER_dwithin
  - RASTER_dfullywithin
  - RASTER_sameAlignment
  - RASTER_notSameAlignmentReason
  source_file: /src/postgis/raster/rt_pg/rtpg_spatial_relationship.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpg_nmapalgebra_arg_init
  - rtpg_nmapalgebra_arg_destroy
  - rtpg_nmapalgebra_rastbandarg_process
  - rtpg_nmapalgebra_callback
  - RASTER_nMapAlgebra
  - rtpg_nmapalgebraexpr_arg_init
  - rtpg_nmapalgebraexpr_arg_destroy
  - rtpg_nmapalgebraexpr_callback
  - RASTER_nMapAlgebraExpr
  - rtpg_uniontype_index_from_name
  - rtpg_union_arg_destroy
  - rtpg_union_callback
  - rtpg_union_mean_callback
  - rtpg_union_range_callback
  - rtpg_union_unionarg_process
  - rtpg_union_noarg
  - RASTER_union_transfn
  - RASTER_union_finalfn
  - rtpg_clip_arg_init
  - rtpg_clip_arg_destroy
  - RASTER_clip
  - RASTER_reclass
  - rtpg_colormap_arg_init
  - rtpg_colormap_arg_destroy
  - RASTER_colorMap
  - RASTER_mapAlgebraExpr
  - RASTER_mapAlgebraFct
  - RASTER_mapAlgebraFctNgb
  - RASTER_mapAlgebra2
  source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
  types:
    enum:
    - enumerators:
      - name: kVAL
        value: '0'
      - name: kY
        value: '2'
      - name: kX
        value: '1'
      item_type: enum
      name: KEYWORDS
      pos:
        line_end: 4460
        line_start: 4460
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    preproc_defs:
    - item_type: preproc_def
      name: ARGKWCOUNT
      pos:
        line_end: 6105
        line_start: 6104
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
      type_or_value: '8'
    structs:
    - fields:
      - name: ufc_noid
        type: Oid
      - name: ufc_rettype
        type: Oid
      - name: ufl_info
        type: FmgrInfo
      - name: ufc_info_data
        type: "union {\n\t\tFunctionCallInfoBaseData fcinfo;\n\t\tchar fcinfo_data[SizeForFunctionCallInfo(FUNC_MAX_ARGS)];
          /* Could be optimized */\n\t}"
      - name: ufc_info
        type: FunctionCallInfo
      item_type: struct
      name: rtpg_nmapalgebra_callback_arg
      pos:
        line_end: 94
        line_start: 84
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: numraster
        type: int
      - name: '**pgraster'
        type: rt_pgraster
      - name: '*raster'
        type: rt_raster
      - name: '*isempty'
        type: uint8_t
      - name: '*ownsdata'
        type: uint8_t
      - name: '*nband'
        type: int
      - name: '*hasband'
        type: uint8_t
      - name: pixtype
        type: rt_pixtype
      - name: hasnodata
        type: int
      - name: nodataval
        type: double
      - name: distance[2]
        type: int
      - name: extenttype
        type: rt_extenttype
      - name: '*pgcextent'
        type: rt_pgraster
      - name: cextent
        type: rt_raster
      - name: mask
        type: rt_mask
      - name: callback
        type: rtpg_nmapalgebra_callback_arg
      item_type: struct
      name: rtpg_nmapalgebra_arg_t
      pos:
        line_end: 122
        line_start: 101
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: exprcount
        type: int
      - name: expr[3]
        type: "struct {\n\t\tSPIPlanPtr spi_plan;\n\t\tuint32_t spi_argcount;\n\t\tuint8_t
          *spi_argpos;\n\n\t\tint hasval;\n\t\tdouble val;\n\t}"
      - name: nodatanodata
        type: "struct {\n\t\tint hasval;\n\t\tdouble val;\n\t}"
      - name: kw
        type: "struct {\n\t\tint count;\n\t\tchar **val;\n\t}"
      item_type: struct
      name: rtpg_nmapalgebraexpr_callback_arg
      pos:
        line_end: 1001
        line_start: 979
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: bandarg
        type: rtpg_nmapalgebra_arg
      - name: callback
        type: rtpg_nmapalgebraexpr_callback_arg
      item_type: struct
      name: rtpg_nmapalgebraexpr_arg_t
      pos:
        line_end: 1008
        line_start: 1004
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: nband
        type: int
      - name: uniontype
        type: rtpg_union_type
      - name: numraster
        type: int
      - name: '*raster'
        type: rt_raster
      item_type: struct
      name: rtpg_union_band_arg_t
      pos:
        line_end: 1721
        line_start: 1715
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: numband
        type: int
      - name: bandarg
        type: rtpg_union_band_arg
      item_type: struct
      name: rtpg_union_arg_t
      pos:
        line_end: 1727
        line_start: 1724
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: nband
        type: int
      - name: hasnodata
        type: int
      - name: nodataval
        type: double
      item_type: struct
      name: rtpg_clip_band_t
      pos:
        line_end: 2928
        line_start: 2924
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: extenttype
        type: rt_extenttype
      - name: raster
        type: rt_raster
      - name: mask
        type: rt_raster
      - name: numbands
        type: int
      - name: band
        type: rtpg_clip_band
      item_type: struct
      name: rtpg_clip_arg_t
      pos:
        line_end: 2938
        line_start: 2931
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    - fields:
      - name: raster
        type: rt_raster
      - name: nband
        type: int
      - name: band
        type: rt_band
      - name: bandstats
        type: rt_bandstats
      - name: colormap
        type: rt_colormap
      - name: nodataentry
        type: int
      - name: '**entry'
        type: char
      - name: nentry
        type: uint32_t
      - name: '**element'
        type: char
      - name: nelement
        type: uint32_t
      item_type: struct
      name: rtpg_colormap_arg_t
      pos:
        line_end: 4018
        line_start: 4005
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    typedefs:
    - item_type: typedef
      name: rtpg_union_type
      pos:
        line_end: 1688
        line_start: 1679
        source_file: /src/postgis/raster/rt_pg/rtpg_mapalgebra.c
    union: []
- function_names:
  - RASTER_envelope
  - RASTER_convex_hull
  - RASTER_dumpAsPolygons
  - RASTER_getPixelPolygons
  - RASTER_getPixelCentroids
  - RASTER_getPolygon
  - RASTER_asRaster
  source_file: /src/postgis/raster/rt_pg/rtpg_geometry.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/postgis/raster/rt_pg/rtpg_geometry.c
      type_or_value: '2'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/postgis/raster/rt_pg/rtpg_geometry.c
      type_or_value: '4'
    - item_type: preproc_def
      name: VALUES_LENGTH
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/postgis/raster/rt_pg/rtpg_geometry.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
